JavaRush /Blog Java /Random-FR /Voltige lors d'un entretien technique : comment je suis e...

Voltige lors d'un entretien technique : comment je suis entré chez Google, Microsoft et plus

Publié dans le groupe Random-FR
Traduction et adaptation de l'article Ace Your Technical Interview: What Got Me Into Google, Microsoft and More dans la communauté Startup sur Medium. Voltige en entretien technique : comment je suis entré chez Google, Microsoft et plus - 1Avant mon premier entretien de stage, je ne savais pas que des questions techniques seraient également posées. J'ai supposé qu'il n'y aurait qu'un tas de questions « Parlez-moi de vous » qui m'attendraient. Cependant, je n’y étais pas non plus correctement préparé. J'ai passé deux heures au centre d'orientation professionnelle à essayer d'obtenir de précieux conseils de chacun, et encore deux heures à la maison à répéter les réponses à diverses questions. Mais lorsque je suis venu pour l’entretien, l’intervieweur ne m’a pas posé de questions sur mes forces et mes faiblesses. Au lieu de cela, on m'a remis un marqueur et on m'a dit d'aller au tableau. Et je ne pensais même pas qu’ils vérifieraient mes compétences techniques en premier ! Cela m'a pris par surprise. Je ne savais pas comment répondre correctement aux questions et quelques heures plus tard, j'ai reçu un email avec un refus poli. Heureusement, après cet incident, j'ai eu de nombreux entretiens réussis. J'ai assisté à une cinquantaine d'entretiens techniques et j'y ai préparé beaucoup de mes amis. Mon approche semble plutôt bien fonctionner, car elle m'a aidé, ainsi que d'autres, à réussir des entretiens dans des entreprises comme Google, Microsoft, Apple, Amazon, etc. J'aimerais aider tout le monde personnellement, mais je n'ai tout simplement pas assez de temps pour cela. Le mieux que je puisse faire est de partager un guide étape par étape sur la façon de réussir les entretiens techniques. J'ai appris ce qui peut et ne peut pas être fait dans de telles situations par essais et erreurs. Voici donc une liste de conseils utiles de ma part que j'ai compilés au fil de plusieurs années de pratique.

1. Ne vous lancez pas directement dans des simulations d’entretien.

Les gens conseillent généralement de faire autant d’entretiens simulés que possible – et ils ont raison. Mais si vous n’êtes pas préparé, une simulation d’entretien peut s’avérer inefficace, intimidante et même démoralisante. Je peux vous le dire par expérience : si j'interviewais quelqu'un qui n'était absolument pas préparé en tant que pratique, à la fin, il se sentait démotivé parce qu'il « flottait » dans les questions et n'y répondait pas très bien. Prenez le temps de mieux vous préparer et de comprendre à quoi ressemble un entretien technique. Voici un bon exemple de simulation d'entretien chez Google :

2. Compétences en communication > niveau de formation technique

De nombreuses personnes se préparent aux entretiens techniques en passant des heures sur des sites comme LeetCode et Hackerrank. Ce sont d’excellentes plateformes de pratique. Mais il est préférable de prendre un peu de temps libre avant de perdre plusieurs heures au hasard à résoudre les problèmes auxquels vous pensez être confronté lors d'un entretien. Il s'agit d'une approche inefficace : lors d'un entretien, vous rencontrerez au moins une question que vous n'avez jamais vue auparavant. Certains de mes amis ont des programmeurs plus forts que moi, et j'ai souvent été surpris de savoir pourquoi j'avais réussi les tests de mes connaissances techniques alors qu'eux (parfois) ne l'avaient pas fait. La plus grande différence entre nous est probablement que j’ai passé beaucoup de temps à mettre en pratique mes compétences en communication. Sérieusement : savoir comment résoudre les 100 principales tâches techniques ne vous aidera pas si vous ne pouvez pas expliquer clairement la logique de votre solution. Il est très important d'apprendre à formuler des pensées. Au début, tout cela peut sembler difficile, gênant et contre nature, mais la pratique aide. Il est important de maintenir vos connaissances techniques à jour, mais développer vos compétences en communication est peut-être encore plus important. Si vous êtes pressé par le temps avant un prochain entretien, il est préférable de vous concentrer sur la communication plutôt que d'essayer de refaire en deux jours le matériel que vous avez passé deux ans à étudier en informatique. Avant votre prochain entretien technique, essayez d’apprendre ceci :

2.1 Apprenez à poser des questions de clarification

L’un des principaux avantages d’un entretien est la possibilité de clarifier la question qui vous est posée. Habituellement, ceux qui mènent les entretiens ne donnent pas toutes les informations, vous devez donc en extraire des détails supplémentaires. Vous ne pouvez pas résoudre un problème sans bien comprendre de quoi il s’agit ! Pour vous entraîner, vous pouvez prendre quelques questions issues d’entretiens techniques et proposer une série de questions de clarification. Par exemple, si l'on vous demande de trier une liste, vous pourriez demander :
  • Comment trier une liste – par ordre croissant ou décroissant ?
  • Quel type de données la liste contient-elle ?
  • Pourriez-vous donner un exemple de ce à quoi devraient ressembler les entrées et sorties de données pour ce type de tâche ?
  • Etc.
Il se peut que de nombreuses autres questions se posent – ​​ce ne sont là que quelques exemples. Assurez-vous de clarifier diverses nuances : demandez un exemple d'entrée et de sortie
  • Spécifiez le type de données
  • Vérifiez s'il existe des restrictions sur la plage de valeurs
  • Demandez si vous devez faire face à des cas extrêmes
  • Découvrez si vous pouvez utiliser certaines bibliothèques et fonctionnalités du langage dans lequel vous programmez

2.2 Apprenez à exprimer vos pensées

Une fois que vous avez posé toutes les questions de clarification et que vous savez exactement ce dont vous avez besoin pour résoudre le problème, il est temps d'apprendre à communiquer correctement l'essence de votre solution. Si vous commencez simplement à écrire du code sans expliquer pourquoi vous le faites en cours de route, il sera difficile pour l'intervieweur de déterminer si vous avez raison ou tort. Vous ne recevrez pas de points pour cela, sans parler du fait que vous pourriez finir par écrire la mauvaise solution. Lorsque vous expliquez la logique de votre décision en cours de route, l'intervieweur peut vous orienter dans la bonne direction si vous vous éloignez un peu du chemin. Avant d'écrire du code, essayez ceci :
  • Parlez à votre interlocuteur de votre solution possible : serez-vous capable de résoudre le problème « de front » et est-ce possible ou peut-il être amélioré d'une manière ou d'une autre ?
  • Parcourez votre solution étape par étape avec un exemple pour comprendre l’essentiel de son fonctionnement.
  • Divisez la solution en plusieurs étapes et écrivez un pseudocode ou un « squelette » afin que l'intervieweur comprenne votre processus de réflexion.
  • Testez votre solution avec différents cas extrêmes pour voir si vous avez tout couvert. Demandez l'avis de l'intervieweur.
Pour vous entraîner, répondez à une question d’entretien élaborée et essayez de donner la bonne réponse (solution) à un ami. Si vous ne trouvez pas d'ami, prenez une peluche ou tout autre objet et entraînez-vous avec.

3. Améliorez vos connaissances et compétences techniques

Une fois que vous avez appris à communiquer correctement lors d’un entretien, vous pouvez consacrer toute votre énergie à améliorer vos connaissances techniques. Assurez-vous de réviser les algorithmes et les structures de données. Assurez-vous de comprendre des sujets clés tels que les structures de données, le tri, l'utilisation d'algorithmes, les opérateurs au niveau du bit, les notations Big O, etc. La liste des choses que vous devez savoir diffère selon le poste pour lequel vous postulez.

4. Entraînez-vous !

Désormais, après avoir amélioré les compétences et les connaissances nécessaires, vous pouvez consacrer toute votre énergie à la pratique.
Le cours JavaRush contient de nombreuses tâches « puzzle » et des projets entiers pour créer des solutions d'application.
Essayez non seulement d'écrire une solution, mais de réfléchir aux étapes : posez mentalement des questions de clarification, réfléchissez à la structure, puis rédigez la solution. Cela vous aidera à vous sentir plus en confiance lors de l’entretien, et la confiance est reine !

5. Que faire si vous avez « calé » lors d’un entretien ?

Imaginons maintenant que vous vous retrouviez dans un véritable entretien et que vous réalisiez soudain que la question vous avait laissé perplexe. Vous n'avez aucune idée de ce qu'il faut faire et comment résoudre le problème. Vous voulez simplement sortir de la pièce en courant et ne pas revenir. Je comprends - j'ai été dans des situations dont je rêve encore dans mes cauchemars. Mais ne vous inquiétez pas, tout espoir n’est pas encore perdu. Cela s'est produit plus d'une fois lors des entretiens, mais ils se terminaient généralement par une offre. C'est dur, ça énerve, mais tout est possible. Faites une pause et réfléchissez. Respirez, mettez de l'ordre dans vos pensées. Peut-être aurez-vous un « indice ». Testez votre solution avec un exemple simple. Essayez de créer une version simplifiée de la solution à un problème similaire, mais plus simple, en faisant attention aux actions étape par étape. Par exemple, si vous devez trier une liste, que faites-vous ? Vous trouvez le plus petit nombre et vous le mettez au début. Comment implémenteriez-vous cette solution dans le code ? Parlez-nous d’une solution privée. Si une solution complète n’apparaît pas, ce n’est pas grave. Dites-le à l’intervieweur, mais faites-lui également part de votre réflexion. Ce défi ressemble-t-il à tous ceux que vous avez rencontrés ? Semble-t-il que vous devez utiliser une structure de données spécifique pour le résoudre ? Partagez la logique qui vous guide. Être honnête. Si vous êtes sûr que la question qui vous a été posée concerne un domaine de connaissances qui ne vous est pas familier, parlez-en à l'intervieweur. Dites que vous êtes prêt à chercher une solution, mais que vous n’avez pas encore les compétences nécessaires. On m'a déjà posé une question relative à la sécurité des réseaux. A cette époque, je n'avais aucune pratique dans ce domaine, ce dont j'ai parlé aux enquêteurs. Ils m'ont expliqué les bases nécessaires pour que je puisse faire face à la tâche. Vous serez interviewé par de vraies personnes :) Ils vous comprennent parfaitement, car eux-mêmes ont vécu des situations similaires. Ce sont toutes les astuces que j’ai développées au fil de plusieurs années d’entretiens. Ils m’ont aidé, moi et mes amis, à intégrer les meilleures entreprises. Bonne chance pour la recherche !
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION