Que vous programmiez depuis que votre pyjama avait les pieds sur terre ou que vous fassiez face à votre première recherche d'emploi après l'école, l'entretien technique peut constituer un obstacle terrifiant entre vous et l'emploi de vos rêves.
Mais n'ayez crainte, préparez-vous à montrer vos compétences. Vous trouverez ci-dessous des conseils utiles pour faciliter toute entrevue technique.
Avant l'entrevue
Obtenir un livre
Dès que possible avant votre entretien (même si je n'ai réussi que deux semaines), commencez à vous préparer. Travailler à travers un livre de préparation actualisera non seulement votre connaissance des algorithmes et des structures de données, mais vous placera également dans le bon état d'esprit de résolution de problèmes.
Plus important encore, choisissez le bon livre de préparation pour votre niveau et vos intérêts. Cracking the Coding Interview est une excellente ressource, mais si vous n'êtes pas déjà un programmeur expérimenté, cela ne compensera pas l'expérience. Si vous commencez à peine, il existe d'autres livres qui vous feront gagner du temps, tels que Programmation d'entrevues avec Exposed: Secrets to Landing Your Next Job . Et il y a beaucoup de livres plus spécialisés et avancés pour ceux qui ont plus d'expérience.
La pratique rend parfait
Peu de choses ont battu la panique, contrairement à la pratique. Commencez dès lors par des tableaux blancs, même de très petits problèmes. Les cahiers d’entrevue de codage offrent des exemples de problèmes presque infinis, mais vous pouvez également utiliser les problèmes sur lesquels vous travaillez déjà. Posez le problème pour vous-même (ou demandez à un ami techniquement enclin de vous le poser, pour une configuration plus réaliste), tracez votre stratégie et placez le marqueur sur un tableau effaçable à sec. Plus vous serez à l'aise avec ce tableau vierge à la maison, moins vous serez hésitant lors de l'entrevue.
Si vous manquez de temps et que vous souhaitez surmonter rapidement les secousses, vous pouvez ajouter une pression qui n'existera pas lors de l'entretien. Si vous vous donnez une limite de temps ou demandez à une personne que vous respectez de jouer le rôle de votre intervieweur, la vraie affaire vous semblera un morceau de gâteau.
Ne vous surchargez pas
Lorsque vous planifiez des entretiens, veillez à laisser au moins deux heures entre chacun. Cela ressemble à un problème du premier monde, mais chaque fois que j'ai plusieurs entrevues au cours d'une journée, je ne me suis pas comporté aussi bien que je l'aurais pu. Soit je m'inquiétais pour arriver à l'heure suivante ou j'avais déjà utilisé ma logique au maximum quelques heures auparavant.
Oh, et dors un peu. Cela ressemble à quelque chose que votre mère vous dirait, mais il y a peu de choses qui vous décontenanceront, comme la privation de sommeil. C'est comparable à se montrer ivre.
Dans l'interview
Soyez prêt à tout
Une fois que vous vous êtes rendu à votre entretien, vous devriez être préparé à différents types de résolution de problèmes. Vos enquêteurs peuvent vous demander de dire comment vous pourriez résoudre un problème, ils peuvent ouvrir un ordinateur et vous demander de les guider tout au long de la création de code, ou encore vous faire écrire le code vous-même sur un tableau blanc. Préparez-vous à la variation et ne vous mêlez pas des détails! Quelle que soit la méthode utilisée par vos enquêteurs, ce sont vos compétences en résolution de problèmes qu'ils testent réellement.
Poser des questions
Lorsque vous rencontrez un problème, réfléchissez-y et assurez-vous de bien comprendre ce qui vous est demandé de revenir. N'ayez pas peur de poser des questions tôt si quelque chose n'est pas clair. S'il y a des cas critiques, par exemple, demandez comment vos enquêteurs souhaitent qu'ils soient traités. Devez-vous lancer une exception? Pause?
Assurez-vous également de poser des questions de procédure pour comprendre ce que les intervieweurs recherchent et quelles sont vos contraintes - par exemple, «Souhaitez-vous que ma solution vous soit proposée?» Ou «Puis-je supposer que j'ai accès dans une bibliothèque Python?
Et ne faites pas de suppositions. Même si vous êtes presque sûr que tout est en sécurité, indiquez à voix haute ce que vous pensez, afin que les enquêteurs puissent vous avertir s'il vous manque quelque chose.
Prends ton temps
Une fois que vous avez compris la question qui vous est posée, n’ayez pas peur de prendre une minute pour réfléchir et traiter avant de commencer à résoudre le problème. Tant que vous n'êtes pas bousculé avec des questions rapides basées sur les connaissances, il est bon de faire une pause après avoir posé la question. Bien sûr, assurez-vous de ne pas prendre 10 minutes pour le résoudre dans votre tête sans dire un mot! Le but est d’utiliser votre temps au début pour structurer votre approche, et non d’essayer d’écrire tout le code dans votre tête avant de toucher le marqueur au tableau blanc.
Pensez grande image
Pensez d'abord à la grande image du problème. C'est bien de pseudo-coder la structure générale, à condition de dire aux intervieweurs que c'est ce que vous faites et que vous avez l'intention de revenir en arrière et de la coder plus tard. C'est un bon moyen de décharger l'organisation du problème afin que votre cerveau ait plus de place pour le traitement. Cela vous aidera également si vous manquez de temps à la fin. les enquêteurs sauront au moins comment vous avez planifié d'achever la tâche, même si vous n'obtenez pas les détails.
Aussi, ne vous inquiétez pas au début de trouver le moyen le plus efficace de résoudre le problème, à moins que cela ne vous vienne naturellement à l’esprit. Choisissez une solution moins efficace, puis expliquez pourquoi elle n’est pas idéale. Ensuite, si vous avez le temps ou si vous voyez un meilleur moyen de le résoudre, passez à un algorithme plus convivial ou plus convivial. Même si tout ce que vous avez le temps de faire est de terminer votre version moins efficace et d’expliquer comment vous pourriez le faire mieux, ce n’est pas une mauvaise réponse.
Parlez-en
Le plus important: Parlez. Amenez vos interviewers avec vous dans la résolution de vos problèmes. Cela peut être aussi simple que de décrire ce que vous êtes sur le point de faire quand vous le faites («Donc, il me faut une boucle for pour parcourir tous les éléments de cette liste») ou de vous poser des problèmes go ("Cela signifie que je vais avoir besoin d'un meilleur moyen d'accéder à l'information; hum, j'y reviendrai plus tard").
Parler de votre processus de pensée donne à vos interviewers une fenêtre sur votre façon de penser, et c'est finalement le but de l'interview. Même si vous pensez que votre solution est incroyable, il est préférable pour eux de savoir comment vous avez abordé le problème et d'obtenir votre réponse plutôt que de voir la réponse complète et de ne pas avoir la moindre idée de ce qui vous y a conduit. Cela donne également aux intervieweurs une chance de vous aider si vous êtes bloqué ou empruntez une voie sans issue.
Apportez vos compétences relationnelles, aussi
Ce n’est pas parce que vous souhaitez occuper un poste d’ingénieur que vous pouvez rester patient et responsable. J'ai entendu des histoires d'horreur de programmeurs fantastiques qui n'ont pas été embauchés parce qu'ils ne correspondaient pas à leur culture ou qu'ils avaient une mauvaise attitude. Je suis sûr que vous avez aussi. Ne sois pas cette personne.
La curiosité et l’enthousiasme sont prisés par tous les employés, et les développeurs ne sont pas différents. Renseignez-vous sur l'équipe d'ingénierie de la société, sa pile et les problèmes les plus difficiles auxquels elle s'attaque pour le produit. Bien sûr, il y a une différence entre être enthousiaste et sycophant, alors restez authentique, mais tout le monde aime les candidats intéressés par le produit sur lequel ils vont travailler.
Apprendre quelque chose de nouveau
Enfin, l’une des choses qui manque le plus aux personnes interrogées est l’opportunité d’apprentissage. J'espère que vous allez apprendre quelque chose de nouveau à chaque entretien: vous allez acquérir une nouvelle idée ou un nouvel outil, ou avoir un aperçu des produits et technologies intéressants. Plus vous pensez de cette manière à vos entretiens, plus ce temps sera précieux pour vous à long terme.