Hi, Habr! I present to your attention the translation of the article
Top Coding Challenge Websites of 2018 by Trey Huffine.
It's simple: to become a programmer - you need to learn how to program. No matter what goal you pursue: successfully complete an interview or learn a new language, the sites from this collection will help you to get better.
No matter what code you use: Python, Ruby, JavaScript, Golang, TypeScript, or any other language, you will find a resource for your needs here. To learn to program - you need to program.
1. Codewars
www.codewars.comCodewars programming is a solid fan. Earn points, increase your rating, create clans.
The author of the article offers to join his clan (you can see which one in the original article). I, on the other hand, urge you to join the HTML Academy clan, of course . The resource offers a huge selection of tasks in more than 20 programming languages. On codewars you can discuss tasks with other players, as well as see alternative solutions.
2. HackerRank
www.hackerrank.comThe level of complexity of tasks on HackerRank is slightly higher, there are tasks that go beyond the basic programming. You can develop in several areas, including algorithms, math, SQL, functional programming, AI, and more. The platform also provides functionality for corporate programming.
3. Coderbyte
coderbyte.comGreat for preparing for an interview. More than 200 questions in more than 10 languages. Solutions of many tasks are given, also you can view solutions of other users. In addition to programming tasks, the resource also offers courses in computer science and web development.
4. CodinGame
www.codingame.comThis is a platform for learning game programming. Control the game script with code. Large selection of languages, learning by fan. In games there is a description of the problem and test examples. Definitely worth trying this approach to learning.
5. LeetCode
leetcode.comIf you are looking for work - this is what you need in order to pump the necessary skills. The main direction of the resource is preparation for technical interviews. There is a specialist who evaluates the correctness of the solution of tasks. You can also participate in some imitation of the interview.
6. Topcoder
www.topcoder.comTopcoder is probably better suited for an advanced audience. This is one of the first coding sites to introduce the concept of ranking. You can compete in solving problems with other developers for a cash prize, as well as take part in the competition “Single Round Match”.
7. Project Euler
projecteuler.netVeteran among such platforms. The interface is probably not the most sophisticated, but there are a lot of tasks in different languages. Much attention is paid to mathematical problems. A simple site to quickly start practicing.
8. CodeFights
codefights.comMany tasks + platform for job search / developers. In addition, they have a unique feature called Company Bots, where developers compete with official programming bots from some of the biggest players in the IT community.