-
Notifications
You must be signed in to change notification settings - Fork 0
Competitive Coding
James Small edited this page Feb 17, 2019
·
4 revisions
-
What is Competitive Coding and is it Useful?
- Competitive Coding sites are a great way to develop your knowledge and expertise of programming languages, data structures, and algorithms as well as your implementation speed. These sites have different specialties such as getting started, technical interview preparation, skills development, all the way to global competitions to dominate the leaderboard! Especially for younger programmers and those getting started, these competitions can help develop key skills and winners are sure to attract the attention of recruiters and land job interviews.
-
Good Overview
- CppCast has a great episode going over Competitive Coding - the hosts interview Conor Hoekstra on the subject. Conor runs the Code_Report YouTube Channel which covers a variety of these sites including solution reviews.
-
Most popular languages according to the above CppCast episode:
- Dominated by C/C++
- A little Java
- Even less Python
- Smaller percentage - everything else
- Note: The focus of the episode was on data structures and algorithms where speed is king, hence the preference for C/C++. However, this is not true across all domains. For example, the leading Data Science competitive site is Kaggle, and there the leader is Python followed by R. There are clearly domains where other languages dominate such as Java, C#, Visual Basic .NET, JavaScript, and PHP. For one view of popular languages see the TIOBE Index.
-
Competitive Coding Sites
- HackerRank - Good for getting started. Problem solving (algorithms, data structures, mathematics), languages (C, C++, Java, Python, Ruby, Linux Shell), skills (AI, SQL, Databases, Regex, Functional Programming), tutorials.
- LeetCode - Good for technical interview preparation.
- TopCoder - Good for competitive coding. Goal is to climb the leaderboard.
- CodeForces - Good for competitive coding. Goal is to climb the leaderboard.
-
Other Good Resources
- CheckiO - Coding games for beginners to advanced using Python and JavaScript (challenges are games, can see others solutions).
- CodeWars - Work through challenges in one of 20 different programming languages!
- Exercism - Learn how to idiomatically program in 48 different languages! After developing your solution, review other solutions/get mentored to see the most idiomatic solutions in your chosen language.
- LearnCpp.com - Free site to teach you how to code in C++.
- Project Euler - Solve math problems in a language of your choice.
- PyBites - Hone your Python skills.