paint-brush
Comment réussir votre prochain entretien de codage : des conseils qui m'ont aidé à décrocher un emploi chez Metaby@erjantj
8,817
8,817

Comment réussir votre prochain entretien de codage : des conseils qui m'ont aidé à décrocher un emploi chez Meta

Yerzhan Torgayev6m2023/05/20
Read on Terminal Reader

Le codage est le facteur clé qui déterminera si vous êtes la personne idéale pour le poste. Apprendre des algorithmes et des structures de données peut être difficile, mais ce n'est pas sorcier ou un art secret. La clé est de déployer des efforts constants et constants sur une longue période pour obtenir les résultats souhaités.
featured image - Comment réussir votre prochain entretien de codage : des conseils qui m'ont aidé à décrocher un emploi chez Meta
Yerzhan Torgayev HackerNoon profile picture
0-item
1-item

Lorsque vous essayez de décrocher un emploi en génie logiciel, vous devrez probablement passer plusieurs entretiens, notamment sur la conception comportementale et système. Mais en fin de compte, tout se résume à une chose : vos compétences en codage. Votre maîtrise du codage est le facteur clé qui déterminera si vous êtes la personne idéale pour le poste.

Quel que soit votre niveau d'expérience, que vous soyez un développeur chevronné ou fraîchement sorti de l'université, réussir un entretien de codage peut être difficile, mais la persévérance et le travail acharné sont payants. En tant que personne qui a décroché une offre de Facebook après une année complète de préparation, je le sais de première main. Dans cet article, j'aimerais partager avec vous quelques conseils et stratégies que j'ai appris en cours de route.

Plongeons dedans.

Astuce #1 - Entraînez-vous au codage

Dans votre travail quotidien en tant qu'ingénieur logiciel, vous n'utilisez peut-être pas beaucoup d'algorithmes et de données. Pourtant, ce sont des bases essentielles que vous devez connaître. Alors, comment devenir bon à ceux-ci? Apprendre des algorithmes et des structures de données peut être difficile, mais ce n'est pas sorcier ou un art secret. Le principal problème est le temps qu'il faut pour les apprendre, donc la planification et la pratique sont essentielles.

Pensez à améliorer vos compétences en codage comme à développer vos muscles. Vous ne pouvez pas vous attendre à être musclé et tonifié en seulement quelques semaines d'exercices intensifs. De même, vous ne maîtriserez pas les algorithmes en quelques jours. La clé est de déployer des efforts constants et constants sur une longue période pour obtenir les résultats souhaités.

En 2019, lorsque j'ai commencé à préparer des entretiens de codage, je ne savais pas comment écrire même les algorithmes les plus élémentaires, tels que la recherche binaire. Il m'a fallu environ six mois de pratique constante pour obtenir mon premier entretien sur site avec Google. Comment c'était? J'ai échoué.

Mais ai-je abandonné ? Non. J'ai continué à pratiquer pendant une autre année jusqu'à ce que je reçoive enfin une offre de Facebook (que nous connaissons maintenant sous le nom de Meta). Donc, l'essentiel est que l'apprentissage de ces compétences demande du temps et des efforts, mais le résultat peut changer la vie !

Lorsque vous commencez à travailler sur des problèmes de codage, il est parfaitement normal de vous sentir un peu dépassé. Vous pourriez même vous surprendre à penser : « Qu'est-ce qui ne va pas chez moi ? Pourquoi est-ce que je ne peux pas résoudre même le problème le plus simple ? C'est juste une partie naturelle du processus d'apprentissage. Vous vous améliorerez avec le temps.

Une stratégie utile et éprouvée pour faire face au sentiment de submersion consiste à diviser une tâche importante en morceaux gérables et à fixer des objectifs réalisables.

Je recommande de commencer par 1 à 2 problèmes de niveau facile ou moyen chaque jour et de consacrer environ 15 à 30 minutes à chacun. Cela vous aidera à développer progressivement vos compétences en résolution de problèmes et à éviter de vous laisser submerger. Une fois que vous commencez à vous sentir plus confiant, vous pouvez augmenter l'intensité en abordant jusqu'à 3-4 problèmes par jour.

Pour vous donner une idée de ce qui est possible avec une pratique constante, j'ai personnellement résolu environ 200 problèmes (50 % moyens, 40 % faciles, 10 % difficiles) en un an avant de recevoir ma première offre d'une grande entreprise technologique. Gardez à l'esprit que chacun apprend à son propre rythme, alors assurez-vous de déterminer la quantité de pratique qui vous convient le mieux. L'important est de rester concentré et de rester concentré.

Si vous souhaitez trouver d'excellentes ressources pour pratiquer le codage et affiner vos compétences d'entretien, vous pouvez envisager plusieurs options. Certaines des meilleures sont Leetcode , Hackerrank et Codeforces - ces plates-formes offrent une variété de problèmes difficiles qui peuvent vous aider à perfectionner vos capacités de codage.

Mais si vous avez besoin de plus de structure ou de conseils, il existe également des ressources comme Interviews.school ou des cours payants comme Algoexpert.io. Ceux-ci peuvent être particulièrement utiles si vous débutez ou si vous ne savez pas par où commencer.

J'ai utilisé toutes ces ressources au cours de mon propre parcours de préparation aux entretiens et je peux garantir leur qualité.

Astuce #2 — Connaissez votre langage de programmation

Il est important d'avoir une solide maîtrise de la langue que vous utiliserez afin de mettre en valeur vos compétences techniques et votre capacité à résoudre des problèmes au maximum. Habituellement, vous pouvez choisir la langue pour votre codage algorithmique, mais parfois l'intervieweur peut avoir des exigences linguistiques spécifiques. Assurez-vous de vérifier cela au préalable.

Utilisez la langue avec laquelle vous êtes le plus à l'aise, même si ce n'est pas votre langue principale. Assurez-vous de connaître ses structures de données communes, ses raccourcis et sa gestion de la mémoire. Mon choix pour coder les entretiens est Python, bien que je travaille quotidiennement avec PHP. La syntaxe simple de Python m'aide à créer rapidement des prototypes de solutions, et je n'ai pas à me soucier de choses comme les signes $, les crochets ou les points-virgules.

Pour améliorer vos compétences dans votre langage de programmation, passez du temps à apprendre ses principes fondamentaux, à pratiquer le codage et à étudier les solutions d'autres programmeurs. Je recommande de consulter Leetcode - dans sa section Commentaires et discussions, vous pouvez trouver d'excellents exemples et techniques à apprendre.

Astuce #3 — Posez des questions de clarification

Ne vous précipitez pas pour résoudre un problème sans poser de questions au préalable. Il s'agit d'une erreur courante qui peut être un signal d'alarme pour les enquêteurs. Posez quelques questions de clarification même si vous êtes sûr de bien comprendre le problème.

Les problèmes de codage sont intentionnellement ambigus et les enquêteurs ne fourniront pas tous les détails nécessaires à l'avance.

Au lieu de cela, les enquêteurs s'attendent à ce que vous clarifiiez les détails, alors posez quelques questions pour vous assurer que vous et l'intervieweur êtes sur la même longueur d'onde.

De plus, de cette façon, vous serez en mesure d'identifier et de clarifier les cas extrêmes. Par exemple, vous souhaiterez peut-être poser des questions sur le format de l'entrée, les types de données impliqués ou si le problème a des contraintes. Connaître des détails spécifiques peut vous faire gagner du temps et vous permettre de vous concentrer sur la tâche à accomplir.

Astuce #4 - Parlez de votre solution avant de coder

Lorsque vous résolvez un problème lors d'un entretien, ne vous précipitez pas pour commencer à coder. Prenez d'abord un moment pour discuter de votre solution. Cela vous aidera à clarifier le problème et à vous assurer que vous avez un plan solide avant de vous lancer. En parler peut également vous faire gagner du temps et vous éviter de faire des erreurs inutiles.

J'ai moi-même failli tomber dans ce piège. Dans une interview, on m'a demandé d'implémenter la correspondance des préfixes de chaîne. J'ai tout de suite pensé à une solution assez complexe qui impliquait un Trie. Mais une fois que j'ai commencé à décrire mon idée à voix haute, l'intervieweur m'a arrêté et m'a demandé un moyen plus simple qui impliquait simplement d'itérer sur deux chaînes.

Si j'avais commencé à coder tout de suite, j'aurais perdu du temps sur une solution trop compliquée que l'intervieweur ne demandait même pas.

Une fois que vous avez parlé de la solution et que l'intervieweur en est satisfait, alors seulement vous pouvez commencer à la mettre en œuvre.

Astuce #5 — Communiquer

Lors d'un entretien de codage, l'intervieweur n'est pas tellement intéressé à savoir si vous arrivez réellement à la solution.

Ils veulent voir comment vous abordez le processus de résolution de problèmes.

Assurez-vous d'énoncer votre pensée et d'expliquer votre raisonnement au fur et à mesure.

N'oubliez pas que l'intervieweur est à vos côtés et qu'il est là pour vous aider à réussir. Considérez l'entretien comme un effort d'équipe, où vous et l'intervieweur travaillez ensemble pour trouver une solution. Cependant, vous devriez parler la plupart du temps (environ 70 à 80 % du temps). L'intervieweur peut occasionnellement fournir des commentaires ou vous corriger. Soyez ouvert d'esprit et prêt à apprendre des commentaires de l'intervieweur, en les utilisant à votre avantage.

Soyez amical et réactif tout au long de l'entretien. Si vous avez besoin d'un moment pour vous concentrer, faites-le savoir à l'intervieweur. Faites une courte pause pour rassembler vos pensées, mais ne la laissez pas traîner trop longtemps.

Astuce #6 — Testez votre solution

N'oubliez pas de tester rigoureusement votre code une fois que vous avez terminé. Les tests sont importants pour aider à détecter les erreurs ou les problèmes que vous auriez pu manquer.

Pour vous assurer que votre code produit le résultat attendu, utilisez les exemples d'entrées fournis par l'intervieweur. Envisagez de tester les cas extrêmes, y compris les limites d'entrée, le formatage ou le type d'entrées, les valeurs vides, nulles ou négatives et les entrées trop petites ou trop grandes.

Lorsque vous testez, parcourez votre code ligne par ligne et vérifiez les valeurs des variables et des expressions. De cette façon, vous détecterez les erreurs difficiles à repérer en jetant simplement un coup d'œil au code.

Après avoir tout testé, prenez du recul et réfléchissez à la manière d'améliorer encore votre code. Il existe peut-être un moyen plus efficace de résoudre le problème, ou vous pouvez rendre le code plus facile à lire et à comprendre.

Conclusion

Les entretiens de codage sont un défi, mais vous pouvez grandement améliorer vos chances de succès avec une préparation et une pratique approfondies.

Récapitulons les principaux points à retenir :

  • Étudiez les fondamentaux;
  • Connaissez votre langue;
  • Posez des questions de clarification;
  • Parlez de vos solutions avant de coder ;
  • Testez soigneusement votre solution ;

Restez calme et abordez l'entretien comme un processus collaboratif de résolution de problèmes.

Bonne chance dans vos futurs entretiens de codage !


L'image principale a été générée à l'aide de la fonction Stable DiffusionAI Image Generator de HackerNoon, via l'invite "une interview de codage sur facebook".