Les 10 sites Web des défis de codage les plus populaires [mis à jour pour 2020]

Un excellent moyen d'améliorer vos compétences lorsque vous apprenez à coder est de résoudre les problèmes de codage. 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 aux entretiens d'embauche, à apprendre de nouveaux algorithmes, et plus encore.

Vous trouverez ci-dessous une liste de certains sites Web de défis de codage populaires avec une brève description de ce que chacun offre.

1. TopCoder

TopCoder est l'une des plates-formes originales de programmation compétitive en ligne. Il fournit une liste de défis algorithmiques du passé que vous pouvez relever vous-même directement en ligne à l'aide de leur éditeur de code. Leurs populaires matchs à un tour sont proposés plusieurs fois par mois à un moment précis où vous affrontez d'autres personnes 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 concours de programmation. L'utilisateur le mieux classé maintient son propre blog intitulé Algorithmes chaque semaine par Petr Mitrichev où il écrit sur les compétitions de codage, les algorithmes, les mathématiques, etc.

2. Coderbyte

Coderbyte fournit plus de 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 facile (trouver le plus grand mot dans une chaîne) à difficile (imprimer la correspondance de cardinalité maximale d'un graphique).

Ils fournissent également une collection de didacticiels d'algorithmes, de vidéos d'introduction et de cours de préparation aux entretiens. Contrairement à HackerRank et à d'autres sites Web similaires, vous pouvez afficher les solutions que les autres utilisateurs proposent pour tout défi en dehors des solutions officielles publiées par Coderbyte.

3. Projet Euler

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

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

4. HackerRank

HackerRank propose des défis pour plusieurs domaines différents tels que les algorithmes, les mathématiques, SQL, la programmation fonctionnelle, l'IA, etc. 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 davantage le défi et comment l'aborder pour trouver une solution. Mis à part l'éditorial, vous ne pouvez actuellement pas voir les solutions des autres utilisateurs sur HackerRank.

HackerRank offre également la possibilité aux utilisateurs de soumettre des candidatures et de postuler à des emplois en résolvant les problèmes de codage parrainés par l'entreprise.

5. CodeChef

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

6. Exercism.io

Exercism est un site Web de défis de codage qui offre plus de 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 de ligne de commande que vous pouvez télécharger à partir de GitHub).

Cependant, c'est un peu différent des autres sites Web de défis, car vous travaillez avec un mentor après avoir terminé chaque défi. Le mentor examine 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

Codewars fournit 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'une des plusieurs langues. Vous pouvez afficher une discussion pour chaque défi ainsi que les solutions utilisateur.

8. LeetCode

LeetCode est un juge en ligne populaire qui fournit une liste de plus de 190 défis qui peuvent vous aider à vous préparer aux entretiens d'embauche techniques. Vous pouvez résoudre les défis directement en ligne dans l'un des 9 langages de programmation. Vous ne pouvez pas afficher les solutions des autres utilisateurs, mais des statistiques vous sont fournies pour vos propres solutions, telles que la vitesse d'exécution de votre code par rapport au code d'autres utilisateurs.

Ils ont également une section d'entrevue simulée qui est spécifiquement pour la préparation des entretiens d'embauche, ils organisent leurs propres concours de codage et ils ont une section d'articles pour vous aider à mieux comprendre certains problèmes.

9. SPOJ

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'un espace permettant aux utilisateurs de discuter des défis de codage. Cependant, ils ne fournissent actuellement aucune solution officielle ou éditorial comme le font certains autres sites Web.

10. CodinGame

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

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

Cette liste était basée sur plusieurs éléments: mes propres expériences d'utilisation des sites Web, certaines recherches Google, les publications de Quora et des articles tels que celui-ci et celui-ci. J'ai également fréquenté certains forums et subreddits tels que r / learnprogramming pour voir quels sites Web étaient généralement recommandés par les utilisateurs. Avertissement: Je travaille chez Coderbyte qui est l'un des sites Web mentionnés ci-dessus.