
L'année dernière, j'ai passé les deux derniers mois à me préparer pour un entretien pour un stage chez Google (Google Internship). Tout s'est bien passé : j'ai obtenu le poste et une excellente expérience.
Maintenant, deux mois après le stage, je veux partager le document que j'ai utilisé pour me préparer aux entretiens. Pour moi, c'était un peu comme une aide-mémoire avant un examen. Mais le processus de création du document et la vérification pas à pas m'ont aidé à retenir tout ce qui était le plus important.
Je suis convaincu que tout le monde peut réussir à passer des entretiens dans de grandes entreprises technologiques, il suffit juste d'un peu de temps pour comprendre comment ces entretiens fonctionnent et s'y préparer.
Mon aide-mémoire suffira pour vous préparer à tout entretien technique, que ce soit chez Google, dans une startup ou pour votre premier stage. Elle vous aidera à vous sentir plus confiant tant pendant la préparation que lors de l'entretien.
Nous recommandons des bootcamps gratuits en programmation pour les débutants :
— 8–10 août ;
— 12–14 août ;
— 15–17 août
Aide-mémoire pour l'entretien technique
Sites
Sur ce site, vous pouvez vous entraîner à passer des entretiens. Les participants s'interviewent mutuellement (il y a des canaux audio et vidéo) et peuvent utiliser un éditeur de code partagé. Il est probable qu'au début, ces entretiens soient difficiles et que vous vous sentiez mal à l'aise. Mais plus vous vous entraînez, plus vous les passez avec confiance, et un véritable entretien après cela ne semblera pas difficile.
De bonnes questions d'entretiens réels chez Facebook, Google, Microsoft, etc. Je vous conseille d'utiliser ce site en complément de ressources de pratique de codage, y compris l'étude de la complexité algorithmique.
Livres
».
Mes parties préférées : l'Interview Preparation Grid (page 32), la section sur le comportement lors des entretiens, ainsi que les Interview Questions : Data Structures (pages 88–107). Si vous n'avez jamais rencontré le terme « complexité algorithmique », c'est le moment idéal, le livre introduit parfaitement le sujet.
Que faire lors de l'entretien ?
- Ne perdez pas le fil de la communication et répondez honnêtement. Lorsque vous réfléchissez à une question, pensez à voix haute, décrivez votre raisonnement.
- Ajoutez un peu d'humour à la conversation, n'hésitez pas à plaisanter. Essayez de profiter de l'échange.
- Prenez note des informations importantes.
- Posez des questions et essayez d'utiliser ce que vous avez appris de l'intervieweur.
Entretien étape par étape
Voici une liste de contrôle pour vous préparer à répondre lors d'un entretien. Il n'est pas nécessaire d'utiliser tous les points, laissez de côté ceux qui vous semblent inutiles. L'essentiel est de se fier à son bon sens. Même si vous n'arrivez pas au bout de la liste, ce n'est pas grave.
- Lisez la question.
- Analysez toutes les données, à la fois d'entrée et de sortie, et faites attention aux effets secondaires.
- Clarifiez le sens de la tâche et exposez vos hypothèses, afin que l'intervieweur comprenne votre raisonnement. Par exemple, quels seront les volumes de données et qui sera l'utilisateur.
- Trouvez un exemple et présentez-le à l'intervieweur pour vous assurer que vous comprenez bien la tâche. N'ayez pas peur de prendre du temps pour bien comprendre les conditions. Plus vous comprendrez la tâche, plus vite vous trouverez la solution optimale.
- Développez un algorithme. Essayez de résoudre une tâche similaire mais moins complexe. Notez vos pensées, passez en revue des exemples sur une feuille brouillon.
- Parcourez votre algorithme avec des exemples pour vous assurer que le code fonctionne correctement. Vérifiez tous les cas critiques et aux limites.
- Évaluez la complexité de l'algorithme en termes de temps et de mémoire.
- Si vous avez trouvé une solution plus efficace au problème, revenez au point 4.
- Écrivez la solution en utilisant l'algorithme choisi. Divisez le problème en plusieurs méthodes si cela est acceptable dans le cas présent.
- Vérifiez le code pour déceler les erreurs.
- Réfléchissez à la manière dont l'implémentation de l'algorithme gère les cas critiques et aux limites.
- Testez l'implémentation avec un exemple, examinez le code à la recherche d'erreurs.
- Une fois que vous êtes sûr que le code s'exécute correctement, vérifiez sa propreté et son style.
Voilà, c'est tout !
Source : habr.com
