The 10 most popular sites for programming competitions at the beginning of 2018

Original author: Daniel Borowski
  • Transfer


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 searches, and forum discussions such as reddit / learnprogramming and Hacker News ).

We offer our readers an updated list for 2018, which includes 10 platforms, which, in the author’s personal opinion, are the best competitive sites for programmers and contain resources that can help beginners and Intermediate developers to improve their skills, prepare for an interview and advance in their own way. career ladder.

On these sites you can also simply compete with colleagues or have fun solving interesting puzzles. The order in which the list is compiled is based only on the level of difficulty of the tasks: from beginner to advanced.

1. Coderbyte




Beginner - Intermediate

Coderbyte offers 200+ competitive tasks that you can solve in an online editor using 10 different programming languages. You can familiarize yourself with official solutions for some tasks, as well as find more than 800 thousand custom solutions. Coderbyte is recommended by teams of many renowned educational programming courses, thanks to a collection of tasks useful in preparing for an interview.

2. Codewars




Beginner - Intermediate

Codewars 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 20 programming languages. Earn points and rise in the ranking. You can view the discussion for each task as well as for custom solutions.

3. CodeFights




Beginner - Intermediate

CodeFights - a platform consisting of a collection of tasks that can be solved in an online editor, and a user forum to discuss emerging issues. A distinctive feature is the function of "Company Bots". This is an opportunity to compete with the "bots" that were programmed by engineers from 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 that it will be easy. To make the competition more interesting and difficult, each of the issues that you will encounter is customized to a specific company. For example, in a competition with Uberbot, expect tasks related to routing and scheduling algorithms.

4. CodinGame




Beginner - Intermediate

This site differs from those 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 ). The game graphics are good and the editor / game user interface is very smooth. All in all, this is a great website for beginners learning programming.

5. TopCoder




Intermediate - Advanced

TopCoder is one of the first platforms for online programming competitions. Popular Single Round Matches occur several times a month at specific times. This is an opportunity to compete with other developers. Here are a few topics that may be affected.

In addition to solving puzzles for entertainment, competitions are also offered in which you can win prizes from sponsors (real companies) for the best solution.

6. HackerRank




Intermediate - Advanced

HackerRank focuses on issues from many areas of computer science, such as algorithms, mathematics, SQL, functional programming, AI, and more (see example ). A discussion and leaderboard is created for each task. Most tasks begin with a preface that goes deeper into the problem 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, are able to filter out candidates, conduct the technical part of the interview using the platform, and see the applicant “in action”.

7. LeetCode




Intermediate - Advanced

LeetCode has one of the best collections of tasks for applying 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 prove to be very useful if you use them in preparation for an interview.

The Mock Interview section (Trial Interview) is specifically designed to prepare for an interview. There are also programming competitions , and there is an article section to help you better understand specific tasks.

8. CodeChef




Intermediate - Advanced

CodeChef is a nonprofit educational initiative of an Indian software company. This is a global community of programmers, united by the goal of training and friendly competition within the framework of a platform for competitive programming.

Each month, CodeChef holds three contests and gives prizes to winners as a reward. In addition, the platform is open to the entire developer community, which can hold their own competitions. Organizations around the world host an average of 30+ external tournaments and competitions at CodeChef.

9. GeeksforGeeks




Intermediate - Advanced

GeeksforGeeks has the best collection of articles, explanations and solutions on the topic of algorithms and data structures. From the link you can see an example of how a complex question is divided into simpler parts, an explanation and a solution code.

If you are preparing for an interview, we recommend that you use this site to prepare and refresh complex topics in the study of algorithms.

10. Codeforces




Advanced

Codeforces is a Russian platform for programming competitions, which regularly hosts tournaments in which some of the best programmers in the world participate. If you are a beginner coder, the tasks are likely to be too complicated for you - here is an example from a recent competition. To solve these problems, advanced knowledge in the field of mathematics and algorithms is usually required.

The goal of Codeforces is to offer developers a convenient platform for creating, conducting and discussing programming competitions. The platform has elements of a social network, it is more than a news portal and more than an online judge. You will be able to independently prepare and conduct the competition. You decide whether it will be open to the whole world or will be a local competition of your university.


Also popular now: