I’m not a huge fan of hacker rank and it’s use in our industry. I find the problems to be boring and repetitive, so I’m listing out some of my preferred practice sites as a couple of alternatives with more fun and more interesting problems. I will concede that hacker rank does have excellent SQL practice though. They are the only ones I found with some really good problems and a variety in engines. Enough of that though, let’s jump into some of the ones I like better.

I personally really like Open Kattis, because the problems are the same that you would see any kind of competitive programming competition. They are the first to get the ICPC problems every year, mostly because they run the competition on it. All of the problems have a real world description and task that you are trying to complete. I’ve listed a couple of my favorite problems below that require some reading comprehension and skill.

- Carrots is excellent and super easy, but you have to read it to understand it.
- Orphan Backups is an actual real world problem with information that needs to be escaped and handled.
- Cryptographer’s Conundrum is such a fun problem and really lets you take advantage of some special features in Python.

The next is an annual event, I really enjoy is Advent of Code, which is an advent calendar with programming problems. The problems range from easy to hard. However not everyday is increasing in difficulty, so if you can’t get one day, go ahead and try the next. Don’t just stop. It has an extremely active community around it. You’ll find all kinds of regular parsing challenges, and the goal is get something that is easy to validate but hard to solve. So just thinking about why the answer is what the solution is looking for is educational. Typically it’s something like compute 2 numbers based on the input, and calculate their product modulus some number. I usually run competition with my coworkers for it. The best part is that you can play some past events.

Project Eular is very similar with how the answers are entered to Advent of Code, but the problems are more mathematical in nature. Just about every programmer is aware of them, and there’s a lot of cool problems there. I haven’t played many of them, but the ones I’ve seen are fun.

The final site I would like to recommend is Rosalind. It’s like Project Euler, but for bioinformatics. The really nice thing is that they put together a tree of problems and an order in which to attack to them. I was really enjoying a lot of the string processing problems. I’ve only done a couple of problems so far, but I’m learning a lot about genetics and how we study it. I hope you find these resources useful like I have.