Article original : The 10 Most Popular Coding Challenge Websites

Par Daniel Borowski

Une excellente façon d'améliorer vos compétences lorsque vous apprenez à coder est de résoudre des défis de programmation. Résoudre différents types de défis et d'énigmes peut vous aider à devenir un meilleur résolveur de problèmes, à apprendre les subtilités d'un langage de programmation, à vous préparer pour des entretiens d'embauche, à découvrir de nouveaux algorithmes, et plus encore.

Ci-dessous se trouve une liste de quelques sites populaires de défis de codage avec une courte description de ce que chacun offre.

1. TopCoder

Image

TopCoder est l'une des plateformes originales pour la programmation compétitive en ligne. Il propose une liste de défis algorithmiques du passé que vous pouvez compléter directement en ligne en utilisant leur éditeur de code. Leurs populaires Single Round Matches sont proposés quelques fois par mois à une heure spécifique où vous concourez contre d'autres pour résoudre les défis le plus rapidement avec le meilleur score.

Les utilisateurs les mieux classés sur TopCoder sont de très bons programmeurs compétitifs et participent régulièrement à des compétitions de programmation. L'utilisateur le mieux classé tient son propre blog intitulé Algorithms weekly by Petr Mitrichev où il écrit sur les compétitions de codage, les algorithmes, les mathématiques, et plus encore.

2. Coderbyte

Image

Coderbyte propose 200+ défis de codage que vous pouvez résoudre directement en ligne dans l'un des 10 langages de programmation (consultez cet exemple). Les défis vont de faciles (trouver le mot le plus long dans une chaîne) à difficiles (imprimer le couplage de cardinalité maximale d'un graphe).

Ils proposent également une collection de tutoriels d'algorithmes, des vidéos d'introduction, et des cours de préparation aux entretiens. Contrairement à HackerRank et autres sites similaires, vous pouvez consulter les solutions que d'autres utilisateurs proposent pour n'importe quel défi, en plus des solutions officielles publiées par Coderbyte.

3. Project Euler

Image

Project Euler propose une grande collection de défis dans le domaine de l'informatique et des mathématiques. Les défis impliquent généralement l'écriture d'un petit programme pour trouver la solution à une formule ou équation mathématique ingénieuse, comme trouver la somme des chiffres de tous les nombres précédant chaque nombre dans une série.

Vous ne pouvez pas coder directement sur le site dans un éditeur, vous devez donc écrire une solution sur votre propre ordinateur puis fournir la solution sur leur site.

4. HackerRank

Image

HackerRank propose des défis pour plusieurs domaines différents tels que les algorithmes, les mathématiques, SQL, la programmation fonctionnelle, l'IA, et plus encore. Vous pouvez résoudre tous les défis directement en ligne (consultez cet exemple).

Ils fournissent une discussion et un classement pour chaque défi, et la plupart des défis sont accompagnés d'un éditorial qui explique plus en détail le défi et comment l'aborder pour trouver une solution.

Actuellement, si vous ne résolvez pas le problème, vous ne pouvez pas voir la solution des autres. Si vous essayez également de consulter l'éditorial avant de résoudre le problème, vous n'obtiendrez pas le point pour avoir résolu le problème.

Par exemple, voici un problème que je n'ai pas résolu, et j'essaie de consulter les soumissions des autres :

Image

Et ici, je n'ai pas résolu le problème, et j'essaie de consulter l'éditorial :

Image

HackerRank offre également la possibilité aux utilisateurs de soumettre des candidatures et de postuler à des emplois en résolvant des défis de codage sponsorisés par des entreprises.

5. CodeChef

Image

CodeChef est un site de programmation compétitive basé en Inde qui propose des centaines de défis. Vous pouvez écrire du code dans leur éditeur en ligne et consulter une collection de défis séparés en différentes catégories selon votre niveau de compétence (consultez cet exemple). Ils ont une grande communauté de codeurs qui contribuent aux forums, écrivent des tutoriels, et participent aux compétitions de CodeChef.

6. Exercism.io

Image

Exercism est un site de défis de codage qui offre 3100+ défis couvrant 52 langages de programmation différents. Après avoir choisi un langage que vous souhaitez maîtriser, vous relevez les défis de codage directement sur votre machine (Exercism a sa propre interface en ligne de commande que vous pouvez télécharger depuis GitHub).

Il est un peu différent des autres sites de défis, cependant, car vous travaillez avec un mentor après avoir complété chaque défi. Le mentor révise vos réponses en ligne et vous aide à les améliorer si nécessaire. Une fois vos réponses approuvées et soumises, vous débloquez plus de défis.

7. Codewars

Image

Codewars propose une grande collection de défis de codage soumis et édités par leur propre communauté. Vous pouvez résoudre les défis directement en ligne dans leur éditeur dans l'un des plusieurs langages. Vous pouvez consulter une discussion pour chaque défi ainsi que les solutions des utilisateurs.

8. LeetCode

Image

LeetCode est un juge en ligne populaire qui propose une liste de 190+ défis qui peuvent vous aider à vous préparer pour des entretiens techniques. Vous pouvez résoudre les défis directement en ligne dans l'un des 9 langages de programmation. Vous ne pouvez pas consulter les solutions des autres utilisateurs, mais vous obtenez des statistiques pour vos propres solutions, comme la rapidité de votre code par rapport à celui des autres utilisateurs.

Ils ont également une section Mock Interview spécifiquement pour la préparation aux entretiens d'embauche, ils organisent leurs propres concours, et ils ont une section pour les articles pour vous aider à mieux comprendre certains problèmes.

9. SPOJ

Image

Sphere Online Judge (SPOJ) est un juge en ligne qui propose plus de 20 000 défis de codage. Vous pouvez soumettre votre code dans un éditeur en ligne. SPOJ organise également ses propres concours et dispose d'une zone pour que les utilisateurs discutent des défis de codage. Ils ne fournissent actuellement aucune solution ou éditorial officiel comme le font certains autres sites, cependant.

10. CodinGame

Image

CodinGame est un peu différent des autres sites, car au lieu de simplement résoudre des défis de codage dans un éditeur, vous participez réellement à l'écriture du code pour des jeux auxquels vous jouez directement en ligne. Vous pouvez voir une liste des jeux actuellement proposés ici et un exemple de l'un d'eux ici. Le jeu est accompagné d'une description du problème, de cas de test, et d'un éditeur où vous pouvez écrire votre code dans l'un des 20+ langages de programmation.

Bien que ce site soit différent des sites typiques de programmation compétitive comme ceux mentionnés ci-dessus, il reste populaire parmi les programmeurs qui aiment résoudre des défis et participer à des concours.

Cette liste a été établie sur la base de quelques éléments : mes propres expériences avec les sites, quelques recherches Google, des posts Quora, et des articles comme celui-ci et celui-ci. J'ai également fréquenté certains forums et sous-reddits comme r/learnprogramming pour voir quels sites étaient généralement recommandés par les utilisateurs. Avis de non-responsabilité : Je travaille chez Coderbyte, qui est l'un des sites mentionnés ci-dessus.