{"id":52950,"date":"2019-11-20T00:00:00","date_gmt":"2019-11-19T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/kak-podgotovitsya-k-sobesedovaniyu-v-google-i-ne-projti-ego-dvazhdy"},"modified":"2020-02-18T14:00:46","modified_gmt":"2020-02-18T11:00:46","slug":"kak-podgotovitsya-k-sobesedovaniyu-v-google-i-ne-projti-ego-dvazhdy","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/kak-podgotovitsya-k-sobesedovaniyu-v-google-i-ne-projti-ego-dvazhdy","title":{"rendered":"Comment se pr\u00e9parer \u00e0 un entretien chez Google et le rater. Deux fois","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Comment se pr\u00e9parer \u00e0 un entretien chez Google et le rater. Deux fois\" src=\"\/wp-content\/uploads\/2019\/11\/5bcaf7eb91486f2273b88f96aa4b6cb8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLe titre de l'article peut sembler \u00eatre un \u00e9chec \u00e9pique, mais en r\u00e9alit\u00e9, tout n'est pas si \u00e9vident. De plus, dans l'ensemble, cette histoire s'est termin\u00e9e de mani\u00e8re plut\u00f4t positive, m\u00eame si ce n'\u00e9tait pas chez Google. Mais c'est un sujet pour un autre article. Dans cet article, je vais parler de trois choses : comment mon processus de pr\u00e9paration s'est d\u00e9roul\u00e9, comment se sont pass\u00e9s les entretiens chez Google et pourquoi, selon moi, tout n'est pas si simple qu'il n'y para\u00eet.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Comment tout a commenc\u00e9<\/h2>\n<p>\nUn soir froid d'hiver \u00e0 Chypre, j'ai soudain eu l'id\u00e9e que mes connaissances en informatique classique \u00e9taient assez \u00e9loign\u00e9es de la moyenne, et qu'il fallait faire quelque chose \u00e0 ce sujet. Si jamais quelqu'un n'a pas encore lu pourquoi la soir\u00e9e \u00e9tait chypriote et froide, vous pouvez en apprendre davantage. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/359090\/\"><u>ici<\/u><\/a><\/noindex>. Apr\u00e8s quelques r\u00e9flexions, j'ai d\u00e9cid\u00e9 de commencer par suivre un cours en ligne sur les algorithmes et les structures de donn\u00e9es. J'avais entendu parler d'un cours de Robert Sedgewick sur Coursera. Le cours se compose de deux parties (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.coursera.org\/learn\/algorithms-part1\"><u>partie 1<\/u><\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"https:\/\/www.coursera.org\/learn\/algorithms-part2\"><u>partie 2<\/u><\/a><\/noindex>). Si jamais les liens changent, vous pouvez toujours rechercher le nom de l'auteur. Chaque partie dure 6 semaines. Au d\u00e9but de chaque semaine, des cours sont dispens\u00e9s, et tout au long de la semaine, il faut \u00e9galement r\u00e9aliser des exercices. La premi\u00e8re partie du cours couvre les structures de donn\u00e9es de base, les principaux types de tri et la complexit\u00e9 des algorithmes. La deuxi\u00e8me partie est plus avanc\u00e9e, elle commence par les graphes et se termine par des sujets comme la programmation lin\u00e9aire et l'intractabilit\u00e9. Apr\u00e8s avoir r\u00e9fl\u00e9chi \u00e0 tout cela, j'ai conclu que c'\u00e9tait exactement ce dont j'avais besoin. D'ailleurs, le lecteur curieux pourrait se demander quel rapport cela a avec Google. En effet, jusqu'\u00e0 ce moment-l\u00e0, il n'y avait aucun lien. Mais j'avais besoin d'un objectif, car \u00e9tudier pendant 12 semaines le soir sans but peut \u00eatre assez difficile. Et quel pourrait \u00eatre l'objectif d'acqu\u00e9rir de nouvelles connaissances ? Bien s\u00fbr, leur application pratique. Dans la vie quotidienne, c'est assez probl\u00e9matique, mais lors d'un entretien dans une grande entreprise, c'est tout \u00e0 fait possible. Quelques recherches rapides ont montr\u00e9 que Google (pardonnez la tautologie) est l'une des plus grandes entreprises en Europe (et je ne consid\u00e9rais que l'Europe) o\u00f9 de tels entretiens ont lieu. En effet, leur bureau se trouve \u00e0 Zurich, en Suisse. Ainsi, c'est d\u00e9cid\u00e9 : nous \u00e9tudions et nous allons passer des entretiens chez Google.<\/p>\n<h2>Pr\u00e9paration pour la premi\u00e8re tentative<\/h2>\n<p>\nDouze semaines sont pass\u00e9es sans que je m'en rende compte, et j'ai termin\u00e9 les deux cours. Mes impressions sur les cours sont plus que positives et je peux les recommander \u00e0 tous ceux qui sont int\u00e9ress\u00e9s. J'ai aim\u00e9 ces cours pour plusieurs raisons :<\/p>\n<ul>\n<li> Le conf\u00e9rencier parle un anglais suffisamment clair.<\/li>\n<li> Le mat\u00e9riel est bien structur\u00e9.<\/li>\n<li> Des pr\u00e9sentations magnifiques, montrant le fonctionnement interne de chaque algorithme.<\/li>\n<li> Une s\u00e9lection de mat\u00e9riel bien pens\u00e9e.<\/li>\n<li> Des exercices int\u00e9ressants.<\/li>\n<li> Les exercices sont automatiquement corrig\u00e9s sur le site, apr\u00e8s quoi un rapport est g\u00e9n\u00e9r\u00e9.<\/li>\n<\/ul>\n<p>\nMon travail sur les cours se d\u00e9roulait g\u00e9n\u00e9ralement comme suit. En 1 \u00e0 2 jours, j'\u00e9coutais les conf\u00e9rences. Ensuite, je passais un rapide test de connaissance du mat\u00e9riel. Le reste de la semaine, je r\u00e9alisais l'exercice en plusieurs it\u00e9rations. Apr\u00e8s la premi\u00e8re, j'obtenais entre 30 et 70 %, et les suivantes am\u00e9lioraient le r\u00e9sultat jusqu'\u00e0 97-100 %. L'exercice consistait g\u00e9n\u00e9ralement \u00e0 mettre en \u0153uvre un algorithme quelconque, par exemple : <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Seam_carving\"><u>Seam carving.<\/u><\/a><\/noindex> ou <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Bzip2\"><u>bzip.<\/u><\/a><\/noindex>.<\/p>\n<p>Apr\u00e8s avoir termin\u00e9 les cours, j'ai r\u00e9alis\u00e9 que beaucoup de connaissances entra\u00eenent beaucoup de chagrins. Si auparavant je savais simplement que je ne savais rien, maintenant je commence \u00e0 comprendre ce que je ne sais pas. <\/p>\n<p>Puisqu'il n'\u00e9tait encore que mai, et que j'avais pr\u00e9vu mon entretien pour l'automne, j'ai d\u00e9cid\u00e9 de poursuivre mon \u00e9ducation. Apr\u00e8s avoir examin\u00e9 les exigences du poste, j'ai d\u00e9cid\u00e9 de me concentrer sur deux axes parall\u00e8les : continuer \u00e0 \u00e9tudier les algorithmes et suivre un cours de base sur l'apprentissage automatique. Pour le premier objectif, j'ai d\u00e9cid\u00e9 de passer des cours \u00e0 un livre et j'ai choisi l'ouvrage monumental de Steven Skiena \u00ab Algorithms. A Designer's Manual \u00bb. Pas aussi monumental que celui de Knuth, mais tout de m\u00eame. Pour le deuxi\u00e8me objectif, je suis de nouveau all\u00e9 sur Coursera et je me suis inscrit au cours d'Andrew Ng <noindex><a rel=\"nofollow\" href=\"https:\/\/www.coursera.org\/learn\/machine-learning\">Machine Learning.<\/a><\/noindex>.<\/p>\n<p>Trois mois ont encore pass\u00e9, et j'ai termin\u00e9 le cours et le livre. <\/p>\n<p>Commen\u00e7ons par le livre. La lecture s'est av\u00e9r\u00e9e assez int\u00e9ressante, bien que pas facile. En principe, je recommanderais le livre, mais pas imm\u00e9diatement. En g\u00e9n\u00e9ral, le livre offre une analyse plus approfondie de ce que j'ai appris dans mes cours. De plus, j'ai d\u00e9couvert (d'un point de vue formel) des concepts comme les heuristiques et la programmation dynamique. Bien entendu, je les avais d\u00e9j\u00e0 utilis\u00e9s auparavant, mais je ne savais pas comment ils s'appelaient. Le livre contient \u00e9galement un certain nombre d'histoires v\u00e9cues par l'auteur (War Story), qui att\u00e9nuent un peu le caract\u00e8re acad\u00e9mique de l'expos\u00e9. D'ailleurs, la seconde moiti\u00e9 du livre peut \u00eatre omise, car elle d\u00e9crit plut\u00f4t les probl\u00e8mes existants et les m\u00e9thodes de leur r\u00e9solution. Cela peut \u00eatre utile si appliqu\u00e9 r\u00e9guli\u00e8rement en pratique, sinon on oublie imm\u00e9diatement.<\/p>\n<p>Le cours m'a ravi. L'auteur conna\u00eet clairement son sujet et raconte de mani\u00e8re captivante. De plus, une partie importante, \u00e0 savoir l'alg\u00e8bre lin\u00e9aire et les principes des r\u00e9seaux neuronaux, je m'en souvenais encore de l'universit\u00e9, donc je n'ai pas rencontr\u00e9 de difficult\u00e9s majeures. La structure du cours est assez standard. Le cours est divis\u00e9 en semaines. Chaque semaine commence par des conf\u00e9rences entrecoup\u00e9es de courts tests. Apr\u00e8s les conf\u00e9rences, un devoir est donn\u00e9, qu'il faut r\u00e9aliser, envoyer, et il sera automatiquement corrig\u00e9. En r\u00e9sum\u00e9, voici la liste des sujets enseign\u00e9s dans le cours :<br \/>\n \u2014 fonction de co\u00fbt<br \/>\n \u2014 r\u00e9gression lin\u00e9aire<br \/>\n \u2014 descente de gradient<br \/>\n \u2014 mise \u00e0 l'\u00e9chelle des caract\u00e9ristiques<br \/>\n \u2014 \u00e9quation normale<br \/>\n \u2014 r\u00e9gression logistique<br \/>\n \u2014 classification multiclasses (un contre tous)<br \/>\n \u2014 r\u00e9seaux neuronaux<br \/>\n \u2014 r\u00e9tropropagation<br \/>\n \u2014 r\u00e9gularisation<br \/>\n \u2014 biais \/ variance<br \/>\n \u2014 courbes d'apprentissage<br \/>\n \u2014 m\u00e9triques d'erreur (pr\u00e9cision, rappel, F1)<br \/>\n \u2014 Machines \u00e0 vecteurs de support (classification \u00e0 marges larges)<br \/>\n \u2014 K-means<br \/>\n \u2014 Analyse en composantes principales<br \/>\n \u2014 d\u00e9tection d'anomalies<br \/>\n \u2014 filtrage collaboratif (syst\u00e8me de recommandation)<br \/>\n \u2014 descentes de gradient stochastiques, par mini-lots, par lots<br \/>\n \u2014 apprentissage en ligne<br \/>\n \u2014 map reduce<br \/>\n \u2014 analyse de plafond<br \/>\nApr\u00e8s avoir suivi le cours, la compr\u00e9hension de tous ces sujets \u00e9tait l\u00e0. Au bout de 2 ans, j'avais d\u00e9j\u00e0 presque tout oubli\u00e9 naturellement. Je recommande cela \u00e0 ceux qui ne sont pas familiers avec l'apprentissage automatique et qui souhaitent acqu\u00e9rir une bonne compr\u00e9hension des concepts de base pour avancer.<\/p>\n<h2>Premi\u00e8re tentative<\/h2>\n<p>\nNous \u00e9tions d\u00e9j\u00e0 en septembre et il \u00e9tait temps de penser \u00e0 l'entretien d'embauche. \u00c9tant donn\u00e9 que postuler par le biais du site \u00e9tait assez d\u00e9licat, je me suis mis \u00e0 chercher des connaissances travaillant chez Google. J'ai choisi <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/users\/datacompboy\/\" class=\"user_link\">datacompboy<\/a><\/noindex>, car il \u00e9tait le seul que je connaissais directement (m\u00eame si ce n'\u00e9tait pas en personne). Il a accept\u00e9 de transmettre mon CV, et peu de temps apr\u00e8s, j'ai re\u00e7u un email du recruteur me proposant de r\u00e9server un cr\u00e9neau dans son calendrier pour un premier entretien. Quelque jours plus tard, l'appel a eu lieu. Nous avons essay\u00e9 de communiquer via Hangouts, mais la qualit\u00e9 \u00e9tait terrible, donc nous avons chang\u00e9 pour le t\u00e9l\u00e9phone. Au d\u00e9but, nous avons rapidement discut\u00e9 des questions standard comme le quoi, le pourquoi et le comment, puis nous sommes pass\u00e9s au screening technique. Cela consistait en une dizaine de questions du type \u00ab quelle est la complexit\u00e9 de l'insertion dans une hash map \u00bb, \u00ab quels arbres \u00e9quilibr\u00e9s connaissez-vous \u00bb. Ce n'\u00e9tait pas difficile, si on a des connaissances de base \u00e0 ce sujet. Le screening s'est bien pass\u00e9 et, suite aux r\u00e9sultats, nous avons d\u00e9cid\u00e9 d'organiser un premier entretien dans une semaine. <\/p>\n<p>L'entretien s'est \u00e9galement d\u00e9roul\u00e9 via Hangouts. Nous avons d'abord parl\u00e9 de moi pendant environ 5 minutes, puis nous sommes pass\u00e9s \u00e0 un exercice. Le sujet portait sur les graphes. J'ai rapidement compris ce qu'il fallait faire, mais j'ai choisi le mauvais algorithme. Lorsque j'ai commenc\u00e9 \u00e0 \u00e9crire le code, je m'en suis rendu compte et je suis donc pass\u00e9 \u00e0 une autre option que j'ai compl\u00e9t\u00e9e. L'intervieweur a pos\u00e9 quelques questions sur la complexit\u00e9 de l'algorithme, m'a demand\u00e9 s'il \u00e9tait possible de faire plus vite. J'ai eu un blanc et je n'ai pas pu r\u00e9pondre. \u00c0 ce moment-l\u00e0, le temps \u00e9tait \u00e9coul\u00e9 et nous nous sommes quitt\u00e9s. Puis, environ 10 minutes plus tard, j'ai r\u00e9alis\u00e9 qu'au lieu de l'algorithme de Dijkstra que j'avais utilis\u00e9, on aurait pu utiliser la recherche en largeur pour ce probl\u00e8me, ce qui aurait \u00e9t\u00e9 plus rapide. Un peu plus tard, le recruteur m'a appel\u00e9 et a dit que l'entretien s'\u00e9tait globalement bien pass\u00e9 et qu'il fallait organiser un autre entretien. Nous avons convenu d'un nouvel entretien pour la semaine suivante.<\/p>\n<p>Cette fois-ci, les choses se sont mal pass\u00e9es. Alors que lors du premier entretien, l'intervieweur \u00e9tait aimable et communicatif, cette fois, il \u00e9tait plut\u00f4t maussade. Je n'ai pas pu comprendre tout de suite le probl\u00e8me, m\u00eame si les id\u00e9es que j'ai propos\u00e9es auraient pu conduire \u00e0 sa r\u00e9solution. Au final, apr\u00e8s quelques indices de l'intervieweur, j'ai fini par trouver la solution. Il s'agissait encore une fois d'une recherche en largeur, mais \u00e0 partir de plusieurs points. J'ai \u00e9crit les solutions et respect\u00e9 le temps imparti, mais j'ai oubli\u00e9 les cas limites. Apr\u00e8s un certain temps, le recruteur m'a appel\u00e9 pour me dire que cette fois, l'intervieweur n'\u00e9tait pas satisfait, car, selon lui, j'avais eu besoin de trop d'indices (3 ou 4) et je changeais constamment mon code pendant que je l'\u00e9crivais. \u00c0 la suite de ces deux entretiens, il a \u00e9t\u00e9 d\u00e9cid\u00e9 de ne pas poursuivre et de repousser le prochain entretien d'un an, si je le souhaitais. Et c'est ainsi que nous nous sommes dit au revoir. <\/p>\n<p>Et de cette histoire, j'ai tir\u00e9 quelques conclusions :<\/p>\n<ul>\n<li> La th\u00e9orie, c'est bien, mais il faut s'y orienter rapidement.<\/li>\n<li> La th\u00e9orie sans pratique n'aidera pas. Il faut r\u00e9soudre des probl\u00e8mes et automatiser l'\u00e9criture du code.<\/li>\n<li> Beaucoup d\u00e9pend de l'intervieweur. Et il n'y a rien \u00e0 y faire.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Pr\u00e9paration pour une seconde tentative<\/h2>\n<p>\nApr\u00e8s avoir r\u00e9fl\u00e9chi \u00e0 la situation, j'ai d\u00e9cid\u00e9 d'essayer \u00e0 nouveau dans un an. J'ai l\u00e9g\u00e8rement ajust\u00e9 mon objectif. Si auparavant l'objectif principal \u00e9tait l'apprentissage, et l'entretien chez Google comme une carotte lointaine, maintenant le passage de l'entretien \u00e9tait l'objectif, et l'apprentissage le moyen.<br \/>\nAinsi, un nouveau plan a \u00e9t\u00e9 \u00e9labor\u00e9, comprenant les points suivants :<\/p>\n<ul>\n<li> Continuer \u00e0 \u00e9tudier la th\u00e9orie en lisant des livres et des articles.<\/li>\n<li> R\u00e9soudre un nombre d'environ 500 \u00e0 1000 probl\u00e8mes algorithmiques.<\/li>\n<li> Continuer \u00e0 \u00e9tudier la th\u00e9orie en regardant des vid\u00e9os.<\/li>\n<li> Continuer \u00e0 \u00e9tudier la th\u00e9orie via des cours.<\/li>\n<li> \u00c9tudier l'exp\u00e9rience d'autres personnes concernant le passage d'entretiens chez Google.<\/li>\n<\/ul>\n<p>\nLe plan a \u00e9t\u00e9 r\u00e9alis\u00e9 par mes soins en un an. Plus loin, je d\u00e9crirai ce que j'ai fait pour chaque point.<\/p>\n<h4>Livres et articles<\/h4>\n<p>\nJe ne me souviens m\u00eame plus du nombre d'articles que j'ai lus, je les ai lus tant en russe qu'en anglais. Le site le plus utile a probablement \u00e9t\u00e9 <noindex><a rel=\"nofollow\" href=\"http:\/\/e-maxx.ru\/algo\/\"><u>celui-ci<\/u><\/a><\/noindex>. Il contient une description d'un grand nombre d'algorithmes int\u00e9ressants avec des exemples de code.<\/p>\n<p>J'ai lu 5 livres : Algorithms, 4th edition (Sedgewick, Wayne), Introduction to Algorithms 3rd Edition (Cormen, Leiserson, Rivest, Stein), Cracking the Coding Interview 4th edition (Gayle Laakmann), Programming Interviews Exposed 2nd edition (Mongan, Suojanen, Giguere), Elements of Programming Interviews (Aziz, Lee, Prakash). Ils peuvent \u00eatre r\u00e9partis en 2 cat\u00e9gories. Dans la premi\u00e8re se trouvent les livres de Sedgewick et Cormen. Ce sont des th\u00e9ories. Les autres sont consacr\u00e9s \u00e0 la pr\u00e9paration aux entretiens. Sedgewick y aborde \u00e0 peu pr\u00e8s les m\u00eames sujets que dans ses cours, mais par \u00e9crit. Il n'est pas particuli\u00e8rement utile de lire attentivement si vous avez suivi le cours, mais il vaut la peine de le parcourir. Si vous n'avez pas suivi le cours, il est bon de le lire. Cormen m'a sembl\u00e9 un peu ennuyeux. J'avoue que je l'ai lu avec difficult\u00e9. J'en ai retenu seulement <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Master_theorem_(analysis_of_algorithms)\"><u>le th\u00e9or\u00e8me ma\u00eetre<\/u><\/a><\/noindex>, ainsi que quelques structures de donn\u00e9es peu utilis\u00e9es (tas de Fibonacci, arbre de van Emde Boas, tas radix).<\/p>\n<p>Il vaut la peine de lire au moins un livre pour la pr\u00e9paration aux entretiens. Ils sont tous construits \u00e0 peu pr\u00e8s selon le m\u00eame principe. Ils d\u00e9crivent le processus d'entretien dans les grandes entreprises technologiques, fournissent des bases en informatique, des exercices li\u00e9s \u00e0 ces bases, des solutions et une analyse des solutions. Parmi les trois mentionn\u00e9s, je recommanderais probablement Cracking the Coding Interview comme livre principal, et les autres selon vos besoins.<\/p>\n<h4>Les probl\u00e8mes algorithmiques<\/h4>\n<p>\nC'\u00e9tait probablement le point le plus int\u00e9ressant de ma pr\u00e9paration. Bien s\u00fbr, on peut s'asseoir et simplement r\u00e9soudre des probl\u00e8mes. Pour cela, il existe de nombreux sites diff\u00e9rents. J'ai principalement utilis\u00e9 trois : <noindex><a rel=\"nofollow\" href=\"https:\/\/www.hackerrank.com\"><u>Hackerrank<\/u><\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.codechef.com\/\"><u>CodeChef<\/u><\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"https:\/\/leetcode.com\/\"><u>LeetCode<\/u><\/a><\/noindex>. Sur CodeChef, les probl\u00e8mes sont class\u00e9s par difficult\u00e9, mais pas par th\u00e8mes. Sur Hackerrank, ils le sont \u00e0 la fois par difficult\u00e9 et par th\u00e8mes. <\/p>\n<p>Mais comme je l'ai imm\u00e9diatement r\u00e9alis\u00e9, il existe une m\u00e9thode plus int\u00e9ressante. Ce sont les comp\u00e9titions (challenges de programmation ou concours de programmation). Les trois sites en offrent. Cependant, il y a un probl\u00e8me avec LeetCode : le fuseau horaire est peu pratique. Donc, je n'ai pas particip\u00e9 sur ce site. Hackerrank et CodeChef proposent un grand nombre de comp\u00e9titions, allant de 1 heure \u00e0 10 jours. Diferents formats ont diff\u00e9rentes r\u00e8gles, mais on peut en parler longtemps. L'essentiel est que, pourquoi les comp\u00e9titions sont b\u00e9n\u00e9fiques, c'est qu'elles introduisent un \u00e9l\u00e9ment comp\u00e9titif (et encore une tautologie) dans le processus d'apprentissage.<\/p>\n<p>J'ai particip\u00e9 \u00e0 37 comp\u00e9titions sur Hackerrank. Parmi elles, 32 \u00e9taient des comp\u00e9titions class\u00e9es et 5 \u00e9taient soit sponsoris\u00e9es (j'ai m\u00eame gagn\u00e9 25 $ dans l'une d'elles) soit juste pour le plaisir. Dans les comp\u00e9titions class\u00e9es, je suis entr\u00e9 10 fois dans le top 4 %, 11 fois dans le top 12 % et 5 fois dans le top 25 %. Mes meilleurs r\u00e9sultats \u00e9taient 27\/1459 en trois heures et 22\/9721 en une semaine.<\/p>\n<p>Je suis pass\u00e9 \u00e0 CodeChef lorsque les comp\u00e9titions sur Hackerrank ont commenc\u00e9 \u00e0 se faire rares. J'ai pu participer \u00e0 5 comp\u00e9titions. Mon meilleur r\u00e9sultat \u00e9tait 426\/5019 dans une comp\u00e9tition de dix jours.<\/p>\n<p>En tout, lors de comp\u00e9titions et simplement pour le plaisir, j'ai r\u00e9solu un peu plus de 1000 probl\u00e8mes, ce qui \u00e9tait dans mes objectifs. Malheureusement, je n'ai plus de temps libre pour continuer cette activit\u00e9 comp\u00e9titive, tout comme je n'ai pas d'objectif qui justifierait le temps non libre. Mais c'\u00e9tait amusant. Je recommande \u00e0 ceux qui s'y int\u00e9ressent de trouver des amis partageant les m\u00eames id\u00e9es. \u00c0 deux ou en groupe, c'est beaucoup plus int\u00e9ressant. Je me suis amus\u00e9 avec un ami, c'est peut-\u00eatre pour \u00e7a que \u00e7a a aussi bien march\u00e9.<\/p>\n<h4>Visionner des vid\u00e9os<\/h4>\n<p>\nEn lisant le livre de Skiena, je me suis int\u00e9ress\u00e9 \u00e0 ce qu'il fait. Comme Sedwick, il est professeur \u00e0 l'universit\u00e9. Par cons\u00e9quent, on peut trouver des enregistrements vid\u00e9o de ses cours en ligne. J'ai d\u00e9cid\u00e9 de suivre le cours <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/playlist?list=PL07B3F10B48592010\"><u>COMP300E \u2014 D\u00e9fis de programmation \u2014 2009 HKUST<\/u><\/a><\/noindex>. Je ne dirais pas que j'ai beaucoup aim\u00e9. Tout d'abord, la qualit\u00e9 de la vid\u00e9o n'\u00e9tait pas tr\u00e8s bonne. Ensuite, je n'ai pas essay\u00e9 de r\u00e9soudre moi-m\u00eame les probl\u00e8mes abord\u00e9s dans le cadre du cours. Donc l'engagement n'\u00e9tait pas tr\u00e8s \u00e9lev\u00e9.<br \/>\nAussi, en essayant de r\u00e9soudre des probl\u00e8mes et de trouver le bon algorithme, je suis tomb\u00e9 sur les vid\u00e9os de Tushar Roy. Il a travaill\u00e9 chez Amazon, et maintenant il travaille chez Apple. Comme je l'ai d\u00e9couvert plus tard, il a <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/user\/tusharroy2525\/videos\">chaine YouTube<\/a><\/noindex>, o\u00f9 il publie des analyses de diff\u00e9rents algorithmes. Au moment de la r\u00e9daction de cet article, la cha\u00eene contient 103 vid\u00e9os. Je dois dire que l'analyse qu'il propose est tr\u00e8s bien r\u00e9alis\u00e9e. J'ai essay\u00e9 de regarder d'autres auteurs, mais \u00e7a ne m'a pas vraiment int\u00e9ress\u00e9. Donc, je recommande d\u00e9finitivement cette cha\u00eene.<\/p>\n<h4>Suivi de cours<\/h4>\n<p>\nJe n'ai pas vraiment fait grand-chose ici. J'ai regard\u00e9 des vid\u00e9os du programme Nanodegree de d\u00e9veloppeur Android de Google et j'ai suivi un cours de l'ITMO <noindex><a rel=\"nofollow\" href=\"https:\/\/www.edx.org\/course\/how-to-win-coding-competitions-secrets-of-champions\">Comment gagner des comp\u00e9titions de codage : les secrets des champions<\/a><\/noindex>. Le Nanodegree est plut\u00f4t bon, m\u00eame si je n'y ai naturellement rien appris de nouveau. Le cours de l'ITMO est un peu brouillon en termes de th\u00e9orie, mais les probl\u00e8mes \u00e9taient int\u00e9ressants. Je ne recommanderais pas de commencer par celui-l\u00e0, mais en soi, le temps pass\u00e9 n'\u00e9tait pas perdu.<\/p>\n<h4>\u00c9tudier l'exp\u00e9rience des autres<\/h4>\n<p>\nIl va de soi que de nombreuses personnes ont essay\u00e9 de rejoindre Google. Certains ont r\u00e9ussi, d'autres non. Certains ont \u00e9crit des articles \u00e0 ce sujet. Parmi les choses int\u00e9ressantes, je noterais probablement <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jwasham\/coding-interview-university\">celle-ci<\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"http:\/\/larrr.com\/wp-content\/uploads\/2016\/10\/InterviewPreparationGuide.pdf\">celle-ci<\/a><\/noindex>. Dans le premier cas, une personne a \u00e9tabli une liste des \u00e9l\u00e9ments \u00e0 apprendre pour devenir ing\u00e9nieur logiciel et rejoindre Google. Finalement, il a atterri chez Amazon, mais ce n'est pas si important. Le deuxi\u00e8me manuel a \u00e9t\u00e9 \u00e9crit par une ing\u00e9nieure de Google, Larisa Agarova (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/users\/larrr\/\" class=\"user_link\">Larrr<\/a><\/noindex>). En plus de ce document, vous pouvez \u00e9galement consulter <noindex><a rel=\"nofollow\" href=\"http:\/\/larrr.com\/\">son blog<\/a><\/noindex>.<\/p>\n<p>Il vaut la peine de lire les avis sur les entretiens sur Glassdoor. Ils sont tous plus ou moins similaires, mais on peut en tirer certaines informations utiles.<\/p>\n<p>Je ne vais pas fournir de liens vers d'autres petits articles, vous pourrez les trouver vous-m\u00eame sur Google. <\/p>\n<h2>Deuxi\u00e8me essai<\/h2>\n<p>\nEt voil\u00e0, un an s'est \u00e9coul\u00e9. Cela a \u00e9t\u00e9 une ann\u00e9e tr\u00e8s riche en enseignement. Mais \u00e0 l'automne, j'abordais la nouvelle saison avec des connaissances th\u00e9oriques beaucoup plus approfondies et des comp\u00e9tences pratiques bien d\u00e9velopp\u00e9es. Il restait encore quelques semaines avant la fin de mon ann\u00e9e de pr\u00e9paration, lorsque soudain un mail d'un recruteur de Google est tomb\u00e9 dans ma bo\u00eete, me demandant si j'avais toujours envie de travailler chez Google et si j'\u00e9tais d'accord pour discuter avec lui. \u00c9videmment, j'\u00e9tais partant. Nous avons convenu d'un appel pour la semaine suivante. Ils m'ont \u00e9galement demand\u00e9 un CV mis \u00e0 jour, auquel j'ai ajout\u00e9 une br\u00e8ve description de ce que j'avais fait au travail et en g\u00e9n\u00e9ral au cours de l'ann\u00e9e.<\/p>\n<p>Apr\u00e8s notre conversation, il a \u00e9t\u00e9 d\u00e9cid\u00e9 qu'un entretien sur Hangouts aurait lieu dans une semaine, tout comme l'ann\u00e9e pr\u00e9c\u00e9dente. Une semaine s'est \u00e9coul\u00e9e, l'heure de l'entretien est arriv\u00e9e, mais l'intervieweur n'est pas apparu. Dix minutes se sont \u00e9coul\u00e9es, j'ai commenc\u00e9 \u00e0 m'inqui\u00e9ter, quand quelqu'un est soudainement apparu dans le chat. Il s'est av\u00e9r\u00e9 un peu plus tard que mon intervieweur n'avait pas pu se pr\u00e9senter pour une raison quelconque et qu'une rempla\u00e7ante avait \u00e9t\u00e9 trouv\u00e9e en toute urgence. La personne n'\u00e9tait pas vraiment pr\u00eate, tant au niveau de la configuration de l'ordinateur que pour mener l'entretien. Mais ensuite, tout s'est bien pass\u00e9. J'ai r\u00e9solu le probl\u00e8me rapidement, d\u00e9crivant o\u00f9 se trouvaient les pi\u00e8ges possibles et comment les contourner. Nous avons discut\u00e9 de plusieurs options diff\u00e9rentes pour le probl\u00e8me, de la complexit\u00e9 de l'algorithme. Puis nous avons encore discut\u00e9 pendant cinq minutes, l'ing\u00e9nieur a partag\u00e9 ses impressions sur son travail \u00e0 Munich (\u00e0 Zurich, apparemment, ils n'ont pas trouv\u00e9 de rempla\u00e7ant en urgence), et nous nous sommes s\u00e9par\u00e9s sur cela.<\/p>\n<p>Le m\u00eame jour, un recruteur m'a contact\u00e9 pour me dire que l'entretien s'\u00e9tait tr\u00e8s bien pass\u00e9 et qu'ils \u00e9taient pr\u00eats \u00e0 m'inviter \u00e0 un entretien au bureau. Le lendemain, nous avons eu un appel via Hangouts pour discuter des d\u00e9tails. Comme j'avais besoin d'un visa, nous avons d\u00e9cid\u00e9 de fixer l'entretien dans un mois. <\/p>\n<p>Pendant que je pr\u00e9parais les documents, je discutais \u00e9galement avec le recruteur de l'entretien \u00e0 venir. Un entretien standard chez Google se compose de 4 questions d'algorithmique et d'une conception syst\u00e8me. Cependant, comme je postulais en tant que d\u00e9veloppeur Android, on m'a dit qu'une partie de l'entretien aurait une sp\u00e9cificit\u00e9 Android. Je n'ai pas r\u00e9ussi \u00e0 obtenir du recruteur les d\u00e9tails pr\u00e9cis. D'apr\u00e8s ce que j'ai compris, cela a \u00e9t\u00e9 introduit relativement r\u00e9cemment et il n'\u00e9tait pas tr\u00e8s au courant lui-m\u00eame. J'ai \u00e9galement \u00e9t\u00e9 inscrit \u00e0 deux sessions d'entra\u00eenement : une sur la fa\u00e7on de r\u00e9ussir un entretien algorithmique et une sur la conception syst\u00e8me. Les sessions ont \u00e9t\u00e9 d'une utilit\u00e9 moyenne. Personne n'a pu me dire ce que l'on demande aux d\u00e9veloppeurs Android. Ma pr\u00e9paration ce mois-ci s'est donc r\u00e9sum\u00e9e \u00e0 ceci :<\/p>\n<ul>\n<li>L'achat d'un tableau blanc et l'\u00e9criture de 2 \u00e0 3 dizaines des algorithmes les plus populaires sur celui-ci de m\u00e9moire. De 3 \u00e0 5 chaque jour. Au total, chacun a \u00e9t\u00e9 \u00e9crit plusieurs fois.<\/li>\n<li>Rafra\u00eechir en m\u00e9moire diff\u00e9rentes informations sur Android que je n'utilise pas tous les jours.<\/li>\n<li>Regarder plusieurs vid\u00e9os sur le Big Scale et tout \u00e7a.<\/li>\n<\/ul>\n<p>\nComme je l'ai d\u00e9j\u00e0 dit, j'ai \u00e9galement pr\u00e9par\u00e9 les documents pour le voyage en parall\u00e8le. Tout d'abord, on m'a demand\u00e9 des informations pour r\u00e9diger une lettre d'invitation. Ensuite, j'ai longtemps essay\u00e9 de comprendre qui \u00e0 Chypre s'occupait des visas pour la Suisse, \u00e9tant donn\u00e9 que l'ambassade suisse ne s'en occupe pas. Il s'est av\u00e9r\u00e9 que c'est le consulat d'Autriche qui g\u00e8re cela. J'ai appel\u00e9 et pris un rendez-vous. Ils ont demand\u00e9 un certain nombre de documents, mais rien de vraiment int\u00e9ressant. Photo, passeport, titre de s\u00e9jour, une tonne de certificats divers et bien s\u00fbr la lettre d'invitation. Pendant ce temps, la lettre ne venait toujours pas. Au final, je suis parti avec une simple impression, ce qui a suffi. La lettre est finalement arriv\u00e9e trois jours plus tard ; cependant, le FedEx chypriote n'a pas pu trouver mon adresse et j'ai d\u00fb aller la chercher moi-m\u00eame. J'ai \u00e9galement r\u00e9cup\u00e9r\u00e9 dans le m\u00eame FedEx un colis qu'ils n'avaient pas r\u00e9ussi \u00e0 me livrer, car ils ne trouvaient pas l'adresse, et qui tra\u00eenait l\u00e0 depuis juin (5 mois, Carl). Comme je n'\u00e9tais pas au courant, je ne m'y attendais \u00e9videmment pas. J'ai re\u00e7u mon visa \u00e0 temps, apr\u00e8s quoi on m'a r\u00e9serv\u00e9 un h\u00f4tel et propos\u00e9 des options de vol. J'ai modifi\u00e9 les options pour qu'elles soient plus pratiques. Il n'y avait plus de vols directs, donc j'ai pris un vol via Ath\u00e8nes pour l'aller, et de Vienne pour le retour.<\/p>\n<p>Apr\u00e8s que toutes les formalit\u00e9s li\u00e9es au voyage aient \u00e9t\u00e9 r\u00e9gl\u00e9es, quelques jours se sont \u00e9coul\u00e9s et j'ai finalement d\u00e9coll\u00e9 pour Zurich. Je suis arriv\u00e9 sans incidents. J'ai pris le train de l'a\u00e9roport \u00e0 la ville \u2014 rapide et pratique. Apr\u00e8s m'\u00eatre un peu perdu dans la ville, j'ai trouv\u00e9 l'h\u00f4tel et je me suis enregistr\u00e9. Comme l'h\u00f4tel \u00e9tait r\u00e9serv\u00e9 sans repas, j'ai d\u00een\u00e9 \u00e0 proximit\u00e9 et me suis \u00e9croul\u00e9 de sommeil, car j'avais un vol matinal et j'\u00e9tais d\u00e9j\u00e0 fatigu\u00e9. Le lendemain, j'ai pris mon petit-d\u00e9jeuner \u00e0 l'h\u00f4tel (contre des frais suppl\u00e9mentaires) et je suis parti pour le bureau de Google. Google a plusieurs bureaux \u00e0 Zurich. Mon entretien n'avait pas lieu dans le central. Le bureau s'est en fait av\u00e9r\u00e9 assez ordinaire, donc je n'ai pas eu l'occasion de voir tous les avantages d'un \u00ab vrai \u00bb bureau Google. Je me suis enregistr\u00e9 aupr\u00e8s de l'administrateur et j'ai attendu. Au bout d'un moment, le recruteur est sorti et m'a expliqu\u00e9 le programme de la journ\u00e9e, puis m'a conduit dans la salle o\u00f9 les entretiens devaient se d\u00e9rouler. Au programme, il y avait 3 entretiens, un d\u00e9jeuner et encore 2 entretiens.<\/p>\n<h4>Entretien num\u00e9ro un<\/h4>\n<p>\nLe premier entretien portait sur Android. Il n'\u00e9tait en fait pas du tout li\u00e9 aux algorithmes. Quelle surprise ! Bon, c'\u00e9tait m\u00eame plus familier ainsi. On m'a demand\u00e9 de cr\u00e9er un certain composant UI. D'abord, nous avons discut\u00e9 de ce qui \u00e9tait \u00e0 faire. J'ai propos\u00e9 une solution en RxJava, en d\u00e9crivant ce que je ferais et pourquoi. Ils ont dit que c'\u00e9tait bien, mais qu'ils pr\u00e9f\u00e9raient utiliser les outils du framework Android. Et en m\u00eame temps, nous devions \u00e9crire le code au tableau. Pas juste un composant, mais toute l'Activity qui utilise ce composant. \u00c7a, je ne m'y attendais pas. C'est une chose d'\u00e9crire un algorithme de 30 \u00e0 50 lignes au tableau, et une autre de coder du code Android, m\u00eame avec des abr\u00e9viations et des commentaires du style \u00ab bon, \u00e7a, je ne vais pas l'\u00e9crire, c'est \u00e9vident \u00bb. C'\u00e9tait un v\u00e9ritable m\u00e9li-m\u00e9lo sur 3 tableaux. Donc, j'ai r\u00e9solu le probl\u00e8me, mais \u00e7a avait l'air un peu moche.<\/p>\n<h4>Entretien num\u00e9ro deux<\/h4>\n<p>\nCette fois, l'entretien portait sur des algorithmes. Et il y avait deux intervieweurs. Un qui \u00e9tait l'intervieweur principal, et l'autre \u00e9tait un jeune padawan (intervieweur fant\u00f4me). Il fallait concevoir une structure de donn\u00e9es avec des propri\u00e9t\u00e9s sp\u00e9cifiques. Comme d'habitude, nous avons discut\u00e9 du probl\u00e8me. Je posais diff\u00e9rentes questions, l'intervieweur r\u00e9pondait. Apr\u00e8s un certain temps, on m'a demand\u00e9 d'\u00e9crire plusieurs m\u00e9thodes de la structure imagin\u00e9e au tableau. Cette fois, j'ai r\u00e9ussi \u00e0 peu pr\u00e8s, bien que j'aie fait quelques petites erreurs que j'ai corrig\u00e9es avec l'aide de l'intervieweur. <\/p>\n<h4>Entretien num\u00e9ro trois<\/h4>\n<p>\nCette fois, c'\u00e9tait le design syst\u00e8me, qui s'est \u00e9galement r\u00e9v\u00e9l\u00e9 \u00eatre sur Android. Il fallait d\u00e9velopper une application avec une fonctionnalit\u00e9 sp\u00e9cifique. Nous avons discut\u00e9 des exigences de l'application, du serveur, du protocole de communication. Ensuite, j'ai commenc\u00e9 \u00e0 d\u00e9crire quels composants ou biblioth\u00e8ques j'utiliserais pour construire l'application. Puis, en mentionnant le Job Scheduler, j'ai eu un petit blocage. En fait, je n'avais jamais utilis\u00e9 cela en pratique, car au moment de sa sortie, je venais de passer au support d'applications o\u00f9 il n'y avait pas de t\u00e2ches pour son utilisation. Cela a \u00e9t\u00e9 la m\u00eame chose pour les applications suivantes. Donc, en th\u00e9orie, je sais ce qu'est cet outil, quand et comment il est utilis\u00e9, mais je n'ai pas d'exp\u00e9rience pratique. Cela n'a pas sembl\u00e9 plaire \u00e0 l'intervieweur. Puis, on m'a demand\u00e9 d'\u00e9crire le code. Oui, lors du d\u00e9veloppement d'une application, il faut tout de suite \u00e9crire du code. Encore du code Android au tableau. \u00c7a avait encore l'air un peu moche.<\/p>\n<h4>D\u00e9jeuner<\/h4>\n<p>\nUn autre homme devait arriver, mais il ne s'est pas pr\u00e9sent\u00e9. M\u00eame Google a ses rat\u00e9s. Finalement, j'ai d\u00e9jeun\u00e9 avec l'intervieweur pr\u00e9c\u00e9dent, son coll\u00e8gue, et un peu plus tard, le prochain intervieweur a rejoint. Le d\u00e9jeuner \u00e9tait tout \u00e0 fait convenable. Encore une fois, puisque ce n'est pas le bureau principal \u00e0 Zurich, la caf\u00e9t\u00e9ria avait un aspect assez ordinaire, bien que tr\u00e8s agr\u00e9able.<\/p>\n<h4>Entretien num\u00e9ro quatre<\/h4>\n<p>\nEnfin des algorithmes \u00e0 l'\u00e9tat pur. J'ai r\u00e9solu le premier probl\u00e8me assez rapidement et efficacement, bien que j'ai rat\u00e9 un cas limite, mais gr\u00e2ce \u00e0 l'indice de l'intervieweur (il a donn\u00e9 ce cas limite), j'ai trouv\u00e9 le probl\u00e8me et l'ai corrig\u00e9. Bien s\u00fbr, il fallait \u00e9crire du code sur un tableau. Ensuite, une t\u00e2che similaire mais plus difficile a \u00e9t\u00e9 donn\u00e9e. Pour celle-ci, j'ai trouv\u00e9 quelques solutions non optimales et j'ai presque trouv\u00e9 l'optimale, il me manquait 5 \u00e0 10 minutes pour finaliser ma pens\u00e9e. Et je n'ai pas eu le temps d'\u00e9crire le code pour celle-ci.<\/p>\n<h4>Entretien num\u00e9ro cinq<\/h4>\n<p>\nEncore un entretien Android. Je me demande pourquoi j'ai \u00e9tudi\u00e9 les algorithmes toute l'ann\u00e9e ?<br \/>\nAu d\u00e9but, il y a eu quelques questions simples. Puis l'intervieweur a \u00e9crit du code sur le tableau et a demand\u00e9 de trouver les probl\u00e8mes. J'ai trouv\u00e9, expliqu\u00e9, corrig\u00e9. Nous en avons discut\u00e9. Et l\u00e0, des questions plus inattendues ont commenc\u00e9 : \u00ab que fait la m\u00e9thode Y dans la classe X ? \u00bb, \u00ab que se passe-t-il \u00e0 l'int\u00e9rieur de la m\u00e9thode Y ? \u00bb, \u00ab que fait la classe Z ? \u00bb. Bien s\u00fbr, j'ai r\u00e9pondu \u00e0 certaines, mais j'ai ensuite dit que je n'avais pas \u00e9t\u00e9 confront\u00e9 \u00e0 cela dans mon travail r\u00e9cemment et que je ne me souvenais pas, \u00e9videmment, de qui faisait quoi et comment en d\u00e9tail. Apr\u00e8s cela, l'intervieweur a demand\u00e9 ce que je faisais actuellement. Les questions ont alors port\u00e9 sur ce sujet. L\u00e0, j'ai r\u00e9pondu beaucoup mieux.<\/p>\n<p>Apr\u00e8s la fin du dernier entretien, on m'a pris mon badge, on m'a souhait\u00e9 bonne chance et on m'a renvoy\u00e9 chez moi. J'ai un peu fl\u00e2n\u00e9 dans la ville, d\u00een\u00e9 et suis all\u00e9 \u00e0 l'h\u00f4tel o\u00f9 je me suis effondr\u00e9 de sommeil, car le vol \u00e9tait encore t\u00f4t le matin. Le lendemain, je suis arriv\u00e9 sain et sauf \u00e0 Chypre. J'ai \u00e9crit un retour d'exp\u00e9rience sur l'entretien \u00e0 la demande du recruteur et j'ai rempli un formulaire dans un service sp\u00e9cial pour le remboursement des frais engag\u00e9s. Parmi toutes les d\u00e9penses, Google ne couvre directement que les billets. L'h\u00f4tel, la nourriture et le transport sont \u00e0 la charge du candidat. Ensuite, nous remplissons le formulaire, joignons les re\u00e7us et l'envoyons \u00e0 une soci\u00e9t\u00e9 sp\u00e9cialis\u00e9e. Ils traitent cela et versent assez rapidement l'argent sur le compte.<\/p>\n<p>Il a fallu une semaine et demie pour traiter les r\u00e9sultats de l'entretien. Apr\u00e8s cela, on m'a inform\u00e9 que j'\u00e9tais \u00ab un peu en dessous de la barre \u00bb. En d'autres termes, je n'ai pas r\u00e9ussi \u00e0 atteindre le niveau requis. Pour \u00eatre plus pr\u00e9cis, deux entretiens se sont bien pass\u00e9s, deux autres un peu moins, et le System Design a \u00e9t\u00e9 tr\u00e8s difficile. Si au moins trois entretiens s'\u00e9taient bien d\u00e9roul\u00e9s, j'aurais pu me battre, mais l\u00e0, il n'y avait pas de chance. Ils m'ont propos\u00e9 de revenir dans un an.<\/p>\n<p>Au d\u00e9but, j'\u00e9tais bien s\u00fbr d\u00e9\u00e7u, car j'avais consacr\u00e9 beaucoup de temps et d'\u00e9nergie \u00e0 ma pr\u00e9paration, et au moment de l'entretien, j'avais d\u00e9j\u00e0 l'id\u00e9e de quitter Chypre. Travailler chez Google et d\u00e9m\u00e9nager en Suisse semblaient \u00eatre une excellente option.<\/p>\n<h2>Conclusion<\/h2>\n<p>\nEt ici, nous arrivons \u00e0 la derni\u00e8re partie de l'article. Oui, j'ai \u00e9chou\u00e9 deux fois \u00e0 l'entretien chez Google. C'est triste. Il aurait certainement \u00e9t\u00e9 int\u00e9ressant de travailler l\u00e0-bas. Mais on peut aussi voir les choses sous un autre angle. <\/p>\n<ul>\n<li> En un an et demi, j'ai appris un \u00e9norme nombre de choses li\u00e9es au d\u00e9veloppement de logiciels.<\/li>\n<li>J'ai pris beaucoup de plaisir \u00e0 participer \u00e0 des comp\u00e9titions de programmation.<\/li>\n<li>J'ai pass\u00e9 quelques jours \u00e0 Zurich. Quand y retournerai-je ?<\/li>\n<li>J'ai obtenu une exp\u00e9rience int\u00e9ressante d'entretien dans l'une des plus grandes entreprises IT au monde.<\/li>\n<\/ul>\n<p>\nAinsi, tout ce qui s'est pass\u00e9 pendant ces un an et demi peut simplement \u00eatre consid\u00e9r\u00e9 comme un apprentissage ou un entra\u00eenement. Et les r\u00e9sultats de cet entra\u00eenement ont \u00e9t\u00e9 visibles. Mon id\u00e9e de quitter Chypre a m\u00fbri (en raison de circonstances familiales), j'ai r\u00e9ussi plusieurs entretiens dans une autre entreprise r\u00e9put\u00e9e et, apr\u00e8s huit mois, j'ai d\u00e9m\u00e9nag\u00e9. Mais c'est une autre histoire. N\u00e9anmoins, je pense qu'il est juste de remercier Google pour ces un an et demi que j'ai pass\u00e9s \u00e0 me perfectionner ainsi que pour ces deux jours int\u00e9ressants \u00e0 Zurich.<\/p>\n<p>Que puis-je dire pour conclure ? Si vous travaillez dans le secteur IT, pr\u00e9parez-vous aux entretiens chez Google (Amazon, Microsoft, Apple, etc.). Peut-\u00eatre qu'un jour vous pourrez y entrer. M\u00eame si vous ne le souhaitez pas, croyez-moi, une telle pr\u00e9paration ne pourra que vous \u00eatre b\u00e9n\u00e9fique. Au moment o\u00f9 vous r\u00e9aliserez que vous pouvez (m\u00eame si c'est uniquement gr\u00e2ce \u00e0 de bonnes circonstances) r\u00e9ussir un entretien dans l'une de ces entreprises, de nombreuses portes s'ouvriront \u00e0 vous par rapport au d\u00e9but de votre pr\u00e9paration. Et tout ce dont vous aurez besoin en chemin, c'est d'un objectif, de d\u00e9termination et de temps. Je vous souhaite du succ\u00e8s \ud83d\ude42<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/419945\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0441\u0442\u0430\u0442\u044c\u0438 \u0437\u0432\u0443\u0447\u0438\u0442 \u043a\u0430\u043a epic fail, \u043d\u043e \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0432\u0441\u0435 \u043d\u0435 \u0442\u0430\u043a \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e. \u0414\u0430 \u0438 \u0432 \u043e\u0431\u0449\u0435\u043c \u0438 \u0446\u0435\u043b\u043e\u043c \u044d\u0442\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0430\u0441\u044c \u0432\u0435\u0441\u044c\u043c\u0430 \u043f\u043e\u0437\u0438\u0442\u0438\u0432\u043d\u043e, \u0445\u043e\u0442\u044c \u0438 \u043d\u0435 \u0432 Google. \u041d\u043e \u044d\u0442\u043e \u0443\u0436\u0435 \u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438. \u0412 \u044d\u0442\u043e\u0439 \u0436\u0435 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u0440\u0435\u0445 \u0432\u0435\u0449\u0430\u0445: \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b \u043c\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438, \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":52951,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-52950","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/kak-podgotovitsya-k-sobesedovaniyu-v-google-i-ne-projti-ego-dvazhdy\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e \u0432 Google \u0438 \u043d\u0435 \u043f\u0440\u043e\u0439\u0442\u0438 \u0435\u0433\u043e. \u0414\u0432\u0430\u0436\u0434\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/kak-podgotovitsya-k-sobesedovaniyu-v-google-i-ne-projti-ego-dvazhdy\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-11-19T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:00:46+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Comment se pr\u00e9parer \u00e0 un entretien chez Google et \u00e9chouer. Deux fois | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/kak-podgotovitsya-k-sobesedovaniyu-v-google-i-ne-projti-ego-dvazhdy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e \u0432 Google \u0438 \u043d\u0435 \u043f\u0440\u043e\u0439\u0442\u0438 \u0435\u0433\u043e. \u0414\u0432\u0430\u0436\u0434\u044b | ProHoster","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/kak-podgotovitsya-k-sobesedovaniyu-v-google-i-ne-projti-ego-dvazhdy","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-11-19T21:00:00+00:00","article:modified_time":"2020-02-18T11:00:46+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"52950","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 05:32:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 16:55:29","updated":"2026-01-24 05:32:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/52950","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=52950"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/52950\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/52951"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=52950"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=52950"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=52950"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}