
At the end of 2016 a
similar article was published. Since then, the list has been updated based on observations and analysis of several resources (posts on popular blogs, Quora discussions, Google search queries and discussion forums such as
reddit / learnprogramming and
Hacker News ).
We offer our readers an updated list for 2018, which includes 10 platforms that, according to the personal opinion of the author,
are the best competitive platforms for programmers and contain resources that can help beginners and Intermediate-developers to improve their skills, prepare for an interview and advance on their own career ladder.')
On these sites you can also simply compete with your colleagues or have fun by solving interesting puzzles. The order of the list is based only on the difficulty level of the tasks: from the initial to the advanced.
Beginner - IntermediateCoderbyte offers 200+ competitive tasks that you can solve in an online editor using 10 different programming languages. You can familiarize yourself with the official solutions for some tasks, as well as find more than 800 thousand user solutions. Coderbyte is recommended by
teams of many well-known educational programming courses thanks to a collection of tasks useful for preparing for an interview.
Beginner - IntermediateCodewars provides developers with a large collection of interesting tasks created by the platform community. You can perform tasks directly in the
online editor using one of the 20 programming languages. Earn points and rise in the ranking. You can view the discussion for each task and for custom solutions.
Beginner - IntermediateCodeFights is a platform consisting of a collection of tasks that can be solved in an online editor, and a user forum for discussing emerging issues. A distinctive feature is the function
"Company Bots" . This is an opportunity to compete with the "bots", which were programmed by engineers of large technology companies. Have you ever wondered how your programming skills meet the standards of engineers from Uber, Dropbox, Quora and other high-tech companies? Compete with these bots and find out. Do not think it will be easy. To make the competition more interesting and challenging, each of the questions you come up with is customized for a specific company. For example, in a competition with Uberbot, expect tasks related to routing and scheduling algorithms.
Beginner - IntermediateThis site differs from the ones listed above in that instead of the usual solution, you write code on CodinGame directly to play an online game. This is exciting and some of the games are very funny (see
example ). Game graphics are good, and the editor / game user interface is very smooth. Overall, this is a great web site for beginners learning programming.
Intermediate - AdvancedTopCoder is one of the first platforms for online programming competitions. Popular Single Round Matches occur several times a month at certain times. This is an opportunity to compete with other developers. Here are a
few topics that can be touched.
In addition to solving puzzles for fun, competitions are also offered where you can win prizes from sponsors (real companies) for the best solution.
Intermediate - AdvancedHackerRank focuses on issues from many areas of computer science, such as algorithms, mathematics, SQL, functional programming, AI, and more (see
an example ). For each task, a discussion and a leaderboard is created. Most tasks begin with a preface, which describes the problem in more depth and how to approach it to come up with a solution.
Large employers who collaborate with the resource - Cisco, VMware, Red Hat, Dropbox and more than 1000 other companies have the opportunity to filter out candidates, conduct the technical part of the interview with the help of the platform and see the applicant "in action".
Intermediate - AdvancedLeetCode collected one of the best collections of tasks for the use of algorithms. Topics that cover tasks, require knowledge of data structures (binary trees, heaps, linked lists, etc.) Tasks are more complex than on other sites, but they will be very useful if you use them in preparation for an interview.
The "
Mock Interview " section is specifically designed to prepare for your interview. There are also
programming contests , and there is a
section of articles that will help you better understand certain tasks.
Intermediate - AdvancedCodeChef is a non-profit educational initiative by an Indian software company. It is a global community of programmers, united by a goal of learning and friendly competition within a platform for competitive programming.
Each month, CodeChef holds three competitions and distributes prizes to the winners as a reward. In addition, the platform is open to the entire community of developers who can hold their own contests. Organizations around the world hold an average of 30+ external tournaments and CodeChef competitions.
Intermediate - AdvancedGeeksforGeeks has the
best collection of articles, explanations and solutions on algorithms and data structures. Under the
link you can see an example of how a complex question is broken down into simpler parts, an explanation and a solution code.
If you are preparing for an interview, we advise you to use this site to prepare and refresh complex topics in the study of algorithms.
AdvancedCodeforces is a Russian programming competition that regularly hosts tournaments with some of the best programmers in the world. If you are a novice coder, the tasks are likely to be too difficult for you - here is
an example from a recent competition. Solving these problems usually requires advanced knowledge of mathematics and algorithms.
The goal of Codeforces is to offer developers a convenient platform for creating, conducting and discussing programming competitions. There are elements of a social network in the platform, this is more than a news portal and more than an online judge. You will be able to independently prepare and hold a competition. You decide for yourself whether it will be open to the world or will be a local competition for your university.
