De plus en plus d’entreprises utilisent le challenge HackerRank pour traiter leurs candidats ingénieurs. Si vous ne connaissez pas HackerRank, il propose des défis de programmation compétitifs où les développeurs s’affrontent en essayant de programmer selon des spécifications fournies. La soumission des participants est notée en fonction de la précision de son résultat.
Compte tenu de sa nature, il existe de nombreux problèmes inhérents si l’entreprise s’appuie trop fortement sur HackerRank pour la sélection. HackerRank est comme votre test standardisé – il vous teste plus sur vos « compétences d’examen » que sur vos connaissances de fond.
Je suis tombé sur un article de Linkedin qui avait éloquemment mis (l’un des) inconvénients majeurs de HackerRank:
Ma conclusion de tout cela est que HackerRank est un mauvais indicateur des capacités de résolution de problèmes d’un développeur, et comme beaucoup de ces choses est seulement vraiment bon pour évaluer une chose, à savoir comment le candidat est bon à remplir les tests HackerRank. – Méfiez-vous de HackerRank, Richard Linnell
La même chose s’applique à Kaggle. Je viens de parler à un candidat de la façon dont il a fait un défi bien au-dessus de la moyenne sans vraiment comprendre la science des données du tout.
Il y a beaucoup d’autres articles couvrant les inconvénients de l’utilisation de HackerRank (y compris un sur la façon dont l’utilisation de HackerRank (et autre plate-forme similaire) peut ruiner vos chances d’embaucher un bon développeur senior).
Cela étant dit, il est compréhensible que les entreprises adoptent cela pour les tests initiaux : c’est rapide, moins coûteux et peut éliminer les personnes qui ne prendraient même pas la peine de le faire.
Vu qu’il resterait et continuerait probablement à se développer comme un moyen pour les entreprises de filtrer les talents, notre équipe a dressé une liste de choses que vous pouvez faire pour vous préparer au défi HackerRank :
- Les défis sont chronométrés, assurez-vous de ne pas être dérangé et de vous concentrer.
- 20-30% de votre succès vient de la familiarité avec le système. Avant de commencer le défi de codage proprement dit, essayez-en d’autres, par exemple l’échauffement des algorithmes. Assurez-vous de savoir comment exécuter et soumettre votre code.
- Comprenez les langages de programmation autorisés pour le test. Si votre langage de choix n’est pas disponible, pratiquez-en un autre.
- En général, il y a plusieurs problèmes à résoudre dans chaque défi et c’est une erreur de commencer par le plus difficile. Une bonne approche consiste à résoudre les problèmes par ordre croissant de difficulté/temps. Lisez-les brièvement d’abord et décidez de l’ordre de mise en œuvre.
- Essayez de minimiser le temps de commutation entre les problèmes après la mise en œuvre. Vous pourriez passer du temps supplémentaire pour vous assurer que c’est une implémentation « finale » et ne pas y revenir à nouveau.
- Chaque problème a des cas de test publics et privés. Votre score est basé sur les deux. Si la mise en œuvre du code a passé tous les cas de test publics, il ne viande pas il passerait tous les cas de test privés. Pensez à des situations limites, par exemple une entrée vide, une entrée d’un élément, deux éléments, plusieurs éléments, etc. L’environnement HackeRank vous permet d’exécuter le code sur vos tests personnalisés.
- Soumettez au moins quelque chose pour chaque problème. Il est facile de capturer quelques points même si vous ne savez pas comment résoudre le problème. Cependant, si vous ne savez pas comment résoudre tous les problèmes, essayez d’en trouver au moins un.
- La préparation à la maison fait la différence : certains modèles pourraient aider car vous pourriez les copier-coller pendant le défi. Par exemple, BFS/DFS/Recherche binaire.
- Pratiquez d’abord autant que vous le pouvez. Vous pourriez essayer de résoudre au moins un problème de chaque sous-domaine algorithmique.
- Un bon résultat n’est pas une magie, c’est de la pratique et de la sueur.
Que la force soit avec vous ! 💪
Bonus:
- Comment obtenir le meilleur badge d’apprentissage machine sur HackerRank (par notre très propre Kirill Pavlov !)
- Cracking the HackerRank Test : 100% score made easy – the HFT guy .