online hackerank coding
Anonimo
Heavy on combinatorics(how many ways of doing something) and algorithm related things. In general, it takes a long time to think through the problem before coding it, and after coding, if you do it naively you would not get all the test cases right. As I mentioned earlier, this was entirely inappropriate for anything other than a software engineer