Passer au contenu
cookie

Guide pour les élèves · De l’automne à l’hiver de l’avant-dernière année

Entretiens de stage en ingénierie logicielle

La plupart des entretiens de stage en ingénierie logicielle commencent par une évaluation de programmation en ligne, suivie d’un ou deux entretiens de programmation en direct. Chacun porte sur un ou deux problèmes avec des questions de suivi, ainsi que sur ton expérience passée. Les recruteurs évaluent ta compréhension du problème, ta capacité à trouver une solution qui fonctionne, à en expliquer la complexité en temps et en mémoire et à la tester. Ils s’attendent à pouvoir te donner des indices.

Les étapes

De nombreuses grandes entreprises commencent par une évaluation en ligne : un test de programmation chronométré à faire chez soi. Amazon indique, par exemple, que son évaluation en ligne pour les stages dure environ 90 minutes et évalue la programmation, la résolution de problèmes techniques et ses Leadership Principles. La partie programmation dure environ 70 minutes. Viennent ensuite les entretiens en direct par vidéo, où tu résous des problèmes sous le regard d’un ingénieur qui te pose des questions.

Le guide de Meta sur ses entretiens de stage, mis à jour pour la dernière fois en 2022, décrit deux étapes : un entretien téléphonique, puis d’autres entretiens. Les mêmes attentes s’appliquent aux deux étapes, et environ 30 à 35 minutes de chaque entretien sont consacrées à programmer une ou deux questions. Google indique que les candidats peuvent devoir réaliser un exercice de programmation, que chaque candidat est évalué selon des critères précis et qu’il n’y a pas de casse-tête. Les détails changent, alors consulte la page de l’entreprise quand tu reçois une invitation.

Ce que les recruteurs évaluent

Surtout la façon dont tu arrives à la réponse. Google indique que le recruteur observe autant ton raisonnement que ta réponse et qu’il te posera des questions de suivi. Le guide de Meta te demande de discuter de la complexité en notation grand O de tes approches et de poser des questions pour clarifier l’énoncé. Il précise qu’il vaut mieux avoir un code qui fonctionne, même s’il n’est pas optimal, que de n’avoir qu’une idée. Il recommande aussi, si tu bloques, de commencer par une solution par force brute puis de l’améliorer, et précise que recevoir des indices du recruteur n’est pas une mauvaise chose.

En pratique, cela signifie cinq choses : comprendre le problème (le reformuler, poser des questions sur les cas limites et la taille des entrées), trouver une solution correcte, expliquer sa complexité en temps et en mémoire, l’améliorer si possible et la tester en parcourant un exemple et les cas limites à la main. La communication est essentielle à chaque étape, car le recruteur ne peut évaluer que ce que tu dis.

Exemple détaillé : deux nombres qui font une somme

À partir d’une liste de nombres et d’une valeur cible, renvoie les positions de deux nombres dont la somme est égale à la cible. Commence par poser des questions : peut-il y avoir plusieurs réponses ? Peut-on utiliser deux fois le même nombre ? La liste est-elle triée ? Quelle peut être sa longueur ? Puis explique à voix haute la méthode par force brute : vérifier chaque paire. C’est correct, mais le temps nécessaire est proportionnel à n au carré pour une liste de n nombres.

Puis améliore la méthode. En parcourant la liste, conserve une table de hachage qui associe chaque nombre déjà vu à sa position. Pour chaque nouveau nombre, vérifie si la cible moins ce nombre se trouve déjà dans la table. Tu trouveras ainsi la paire en un seul passage, en un temps proportionnel à n, au prix d’une mémoire supplémentaire proportionnelle à n. Enfin, teste la méthode à voix haute sur un petit exemple, sur une liste sans réponse et sur une liste contenant des nombres répétés. Explique ce que tu changerais si la liste était déjà triée : utiliser deux pointeurs depuis les deux extrémités, sans mémoire supplémentaire.

Les sujets à connaître et le langage à utiliser

Les questions de stage portent généralement sur le contenu d’un premier cours de structures de données et d’algorithmes : tableaux et chaînes de caractères, tables de hachage et ensembles, piles et files, listes chaînées, arbres et graphes avec parcours en largeur et en profondeur, tri et recherche binaire, récursivité et programmation dynamique simple. Connaître le coût en temps et en mémoire de chaque opération est aussi important que de connaître la structure.

Utilise le langage que tu maîtrises le mieux. Le guide de Meta pour les stages recommande d’utiliser le langage avec lequel tu es le plus à l’aise. Amazon conseille de réviser et de t’entraîner dans le langage que tu comptes utiliser pour son évaluation. Python est courant parce qu’il faut peu de lignes pour écrire du code, mais la maîtrise compte davantage que le choix du langage.

Réfléchir à voix haute et IA pendant l’entretien

Dis à voix haute ce que tu penses, même si c’est « Je ne suis pas encore sûr », car le silence ne donne rien à évaluer au recruteur et ne lui permet pas de t’aider. Quand il te donne un indice, prends-le et explique comment cela modifie ton approche. S’entraîner seul de cette façon peut sembler étrange. C’est pourquoi s’entraîner avec un ami ou s’enregistrer en train de résoudre un problème tout en parlant est très utile.

Les règles des entreprises concernant l’IA varient, alors vérifie-les avant le jour de l’entretien. Google indique que les outils d’IA ne sont pas autorisés pendant ses entretiens, tandis que Meta précise que nombre de ses entretiens incluent désormais un assistant IA intégré à l’environnement d’entretien, que les candidats sont censés utiliser. Si l’IA est interdite, l’utiliser revient à tricher. Si elle fait partie de l’entretien, la façon dont tu vérifies et corriges ses réponses est prise en compte dans l’évaluation.

Questions comportementales

La plupart des entretiens techniques comportent des questions sur ton parcours : un projet dont tu es fier, un bug qui t’a posé problème, un désaccord avec un membre de ton équipe. Amazon évalue les candidats selon ses Leadership Principles, qui commencent par l’obsession du client : l’idée que les dirigeants partent du client et remontent le processus. Lis-les et prépare un exemple pour les principaux principes.

Avec un compte, la Préparation aux entretiens de cookie organise un entretien blanc pour le poste que tu indiques, avec un recruteur IA. Il pose une question à la fois, rebondit sur tes réponses comme le ferait un vrai recruteur et rédige un rapport sur chaque réponse à la fin. La fonctionnalité utilise des crédits et affiche d’abord une estimation.

Où vérifier

Vérifié à partir de ces sources le . Les règles changent d’une année à l’autre. En cas de désaccord avec les informations ci-dessus, fie-toi aux pages indiquées.

Questions fréquentes

Qu’est-ce qu’une évaluation en ligne ?

Un test de programmation chronométré, à faire chez soi, que de nombreuses entreprises utilisent avant les entretiens en direct. Amazon indique que son évaluation pour les stages dure environ 90 minutes, principalement consacrées à la programmation.

Quel langage utiliser lors d’un entretien de programmation ?

Le langage que tu maîtrises le mieux. Meta conseille d’utiliser celui avec lequel tu es le plus à l’aise, et Amazon recommande de t’entraîner dans celui que tu comptes utiliser. La maîtrise compte donc davantage que le choix du langage.

Quel est le niveau de difficulté des questions de programmation pour les stages ?

Les questions reposent généralement sur le contenu d’un cours de première année en structures de données et algorithmes : tableaux, tables de hachage, arbres, graphes, tri et récursivité, avec des questions de suivi qui te demandent d’améliorer ou d’étendre ta solution.

Que faire si je bloque pendant un entretien de programmation ?

Dis ce qui te bloque, essaie d’abord une solution par force brute, puis améliore-la. Accepte les indices qu’on te donne. Le guide de Meta précise que les indices du recruteur ne sont pas une mauvaise chose.

Puis-je utiliser l’IA pendant un entretien de programmation ?

Cela dépend de l’entreprise. Google indique que les outils d’IA ne sont pas autorisés pendant ses entretiens ; Meta précise que nombre de ses entretiens incluent un assistant IA intégré que les candidats sont censés utiliser.