A great
 way to improve your skills when learning to code is by solving coding 
challenges. Solving different types of challenges and puzzles can help 
you become a better problem solver, learn the intricacies of a 
programming language, prepare for job interviews, learn new algorithms, 
and more.
Below is a list of some popular coding challenge websites with a short description of what each one offers.
1. TopCoder

TopCoder is one of the original platforms for competitive programming online. It provides a list of algorithmic challenges
 from the past that you can complete on your own directly online using 
their code editor. Their popular Single Round Matches are offered a few 
times per month at a specific time where you compete against others to 
solve challenges the fastest with the best score.
The top ranked users
 on TopCoder are very good competitive programmers and regularly compete
 in programming competitions. The top ranked user maintains his own blog titled ALGORITHMS WEEKLY BY PETR MITRICHEV where he writes about coding competitions, algorithms, math, and more.
2. Project Euler

Project
 Euler provides a large collection of challenges in the domain of 
computer science and mathematics. The challenges typically involve 
writing a small program to figure out the solution to a clever 
mathematical formula or equation, such as finding the sum of digits of all numbers preceding each number in a series.
You
 cannot directly code on the website in an editor, so you would need to 
write a solution on your own computer and then provide the solution on 
their website.
3. HackerRank

HackerRank
 provides challenges for several different domains such as Algorithms, 
Mathematics, SQL, Functional Programming, AI, and more. You can solve 
all the challenge directly online (check out this example).
 They provide a discussion and leaderboard for every challenge, and most
 challenges come with an editorial that explains more about the 
challenge and how to approach it to come up with a solution. Aside from 
the editorial, you cannot currently view the solutions of other users on
 HackerRank.
HackerRank also provides the ability for users to submit applications and apply to jobs by solving company-sponsored coding challenges.
4. Coderbyte

Coderbyte provides 170+ coding challenges you can solve directly online in one of 10 programming languages (check out this example).
 The challenges range from easy (finding the largest word in a string) 
to hard (print the maximum cardinality matching of a graph).
They also provide a collection of algorithm tutorials, introductory videos, and interview preparation courses.
 Unlike HackerRank and other similar websites, you are able to view the 
solutions other users provide for any challenge aside from the official solutions posted by Coderbyte.
5. CodeChef

CodeChef is an Indian-based competitive programming website that provides hundreds of challenges. You are able to write code in their online editor
 and view a collections of challenges that are separated into different 
categories depending on your skill level (check out this example). They have a large community of coders that contribute to the forums, write tutorials, and take part in CodeChef’s coding competitions.
6. CodeEval

CodeEval
 is similar to HackerRank where it also provides a collection of 
company-sponsored coding challenges that can help you get a job if you 
solve them well. Companies can create challenges and host competitions 
to recruit new developers for work. You can see a list of current 
challenges here.
7. Codewars

Codewars
 provides a large collection of coding challenges submitted and edited 
by their own community. You can solve the challenges directly online in their editor in one of several languages. You can view a discussion for each challenges as well as user solutions.
8. LeetCode

LeetCode is a popular Online Judge that provides a list of 190+ challenges that can help you prepare for technical job interviews. You can solve the challenges directly online
 in one of 9 programming languages. You are not able to view other users
 solutions, but you are provided statistics for your own solutions such 
as how fast your code ran when compared to other users.
They also have a Mock Interview section that is specifically for job interview preparation, they host their own coding contests, and they have a section for articles to help you better understand certain problems.
9. SPOJ

Sphere Online Judge (SPOJ) is an online judge that provides over 20k coding challenges. You are able to submit your code in an online editor. SPOJ also hosts their own contests and has an area for users to discuss coding challenges. They do not currently provide any official solutions or editorials like some other websites do though.
10. CodinGame

CodinGame
 is a bit different from the other websites because instead of simply 
solving coding challenges in an editor, you actually take part in 
writing the code for game that you play directly online. You can see a 
list of games currently offered here and an example of one here.
 The game comes with a problem description, test cases, and an editor 
where you can write your code in one of 20+ programming languages.
Although this website is different than typical competitive programming websites such as the ones mentioned above, it is still popular amongst programmers who enjoy solving challenges and taking part in contests.
This list was based on a few things: my own experiences using the websites, some Google searches, Quora posts, and articles such as this one and this one. I also frequented some forums and subreddits such as r/learnprogramming
 to see what websites were usually recommended by the users there. 
Disclaimer: I work at Coderbyte which is one of the websites mentioned 
above.
 
chỉ có ProjectEuler và HackerRank là còn được
ReplyDelete