Nowadays, there are numerous sites that offer resources for learning to code or become a programmer but while all tend to be unique and offer the best platforms and coding challenges, it is important to note the most successful among them. They are a great tool for learning and will aid you well whenever you decide to prepare for coding interviews, improve your coding skills or in general advance in your programmer carrier.
This is definitely my favorite place for coding challenges. While it is not exactly the best place to learn programming as they don’t offer tutorials, they present you with numerous challenges that will challenge you each time with problems ranging from elementary to very hard. Once you grasp the fundamentals of your programming language of choice, I suggest that you give Codewars a try. You can even upload your own challenges to their platform, as I did, and receive feedback for them from other people.
Whenever you solve a challenge, called Kata, your rank increases and you are able to compare your solution to that of other programmers.
The site provides an online editor you can use to solve one of the best collections of programming challenges in existence. Apart from the official solutions, you can also browse the hundreds of thousands available user solutions. Because it has a great collection of interview-related challenges, Coderbyte is often recommended by the best coding bootcamps.
The difference with Codewars is that Coderbytes also offers preparatory courses on web development, algorithms and data structures.
What makes this site different from the rest is that it asks you to play a game by writing code on its platform. By solving challenges in more than 25 programming languages, you are introduced to the essential programming topics you must cover in your career.
Once you’ve written the code for a challenge, it is fun to watch the game run in a very smooth user interface with pleasant graphics.
If you are looking for a new job and are preparing for an interview, CodeFights is another great place to solve programming challenges. Apart from the challenges, they also offer a forum in which you can discuss the problems you encounter with more experienced programmers or help others less experienced than you.
There is also a section in which companies test engineers they wish to hire in thes advanced IDE CodeFights offers.
What takes HackerRank apart from the aforementioned sites is that is offers challenges on a number of different domains ranging from mathematics and algorithms to functional programming, SQL and more. A leaderboard discussion is also available for most individual challenges should you choose to discuss the particular problem you experience difficulties with.
They also have a platform called HackerRank for Work, which is essentially a recruiting platform for programmers.
As one of the prominent platforms for competitive programming on the web, TopCoder offers a range of algorithmic challenges you can try to solve by using the code editor made available at the site. Up until now and since it has been founder in 2001, TopCoder has held no less than 29 000 competitions to award as much as $ 81 million in prize money. You are practically paid to solve problems.
Just as all the other competitive programing websites, CodeChef offers the possibility to solve a large number of challenges in an online editor and examine different categories presenting you with an array of problems depending on your level as a problem solver. You can even write tutorials or contribute to their forums in various ways.
At LeetCode you can find various algorithm challenges to solve online. However, you should have previous experience with topics such as heaps, binary trees, linked lists and so on, meaning you have to be prepared for more complex problems than those offered by other sites.
Their challenges will be too difficult for you if you’re a beginner programmer. This Russian website for competitive programming is a great place to test your skills against the best programmers in the world. You must have covered topics such as algorithms and advanced math previously.
The site offers a large collection of problem explanations, articles and solutions on the topics of data structure and algorithms. They also offer an online editor to practice and solve programming challenges prior to seeing the authors’ solutions.
GeeksforGeeks is also useful for practicing programmer interview questions. You can use it to improve your skills on solving more complex algorithmic problems.
As you see, there is a large number of solutions to improve your coding skills online. Make your choice on which one works best for you based on the descriptions and opinions listed above and let us know what you think about the sites and their platforms in the comment section below.