Comment obtenir un stage chez Google

Il y a une semaine, nous avons parlé nos programmes éducatifs , où les commentaires nous ont souligné l'importance des stages et de l'expérience pratique. Il est impossible d'être en désaccord avec cela, puisque les connaissances théoriques doivent être consolidées par la pratique. Avec cet article, nous ouvrons une série d'articles sur les stages d'été pour étudiants : comment les gars y arrivent, ce qu'ils y font et pourquoi c'est bien.

Dans le premier article, je vais vous expliquer comment réussir toutes les étapes des entretiens et obtenir un stage chez Google.

Comment obtenir un stage chez Google

Quelques mots sur vous

Je suis étudiant en 1ère année de master sur le campus HSE de Saint-Pétersbourg et j'ai complété un baccalauréat en apprentissage automatique à l'Université Académique. Durant mes études de premier cycle, j’ai participé activement à la programmation sportive et j’ai également participé à divers hackathons. Vous pouvez lire sur ce dernier ici, ici и ici.

A propos du stage

Tout d'abord, je veux vous parler un peu de ce à quoi ressemble un stage chez Google de l'intérieur.

Chaque stagiaire qui vient chez Google est affecté à une équipe. Il peut s'agir d'une équipe développant une infrastructure interne dont les personnes extérieures à l'entreprise n'ont jamais entendu parler, ou d'un produit utilisé par des millions de personnes dans le monde. Ces produits peuvent être les célèbres YouTube, Google Docs et autres. Étant donné que des dizaines, voire des centaines de développeurs sont impliqués dans le développement de ces projets, vous vous retrouverez dans une équipe spécialisée dans une partie plus restreinte de celui-ci. Par exemple, à l'été 2018, j'ai travaillé sur Google Docs, ajoutant de nouvelles fonctionnalités pour travailler avec des tableaux.

Puisque vous êtes stagiaire dans l’entreprise, vous avez un manager appelé hôte. Il s’agit d’une entreprise à temps plein ordinaire qui développe elle-même des produits. Si vous ne savez pas quelque chose, si vous ne parvenez pas à le résoudre ou si vous êtes confronté à des problèmes, vous devez le contacter. En règle générale, des réunions individuelles hebdomadaires sont programmées au cours desquelles vous pouvez discuter de la situation actuelle du projet ou discuter de quelque chose qui n'a aucun rapport. De plus, l'hôte fait partie de ces personnes qui évalueront le travail que vous aurez effectué pendant le stage. Il sera également évalué par un deuxième évaluateur supplémentaire. Et bien sûr, ils souhaitent que vous réussissiez.

Google vous inculquera, mais ce n'est pas sûr, la bonne habitude de rédiger un document de conception avant de faire quoi que ce soit. Pour ceux qui ne le savent pas, un document de conception est un document qui décrit l’essence du problème existant, ainsi qu’une description technique détaillée de sa solution. Un document de conception peut être rédigé pour un produit entier ou pour une seule nouvelle fonctionnalité. Après avoir lu cette documentation, vous pourrez comprendre dans quel but le produit a été conçu et comment il a été mis en œuvre. Souvent également, dans les commentaires, vous pouvez voir des dialogues entre ingénieurs discutant de différentes manières de mettre en œuvre une partie du projet. Cela donne une bonne compréhension du but derrière chaque décision.

Ce qui rend ce stage spécial, c'est que vous pourrez utiliser certains des incroyables outils de développement internes dont Google dispose en abondance. Après avoir travaillé avec eux et parlé à de nombreuses personnes ayant déjà travaillé chez Amazon, Nvidia et d'autres sociétés technologiques bien connues, je peux conclure que ces outils ont de grandes chances d'être les meilleurs outils que vous rencontrerez dans votre vie. Par exemple, un outil appelé Google Code Search vous permet non seulement de visualiser l'intégralité de votre base de code, l'historique des modifications apportées à chaque ligne de code, mais vous donne également la possibilité de naviguer dans le code auquel nous sommes habitués dans les environnements de développement modernes tels que comme Intellij Idea. Et pour cela, vous n'avez besoin que d'un navigateur ! L’inconvénient associé à cette même fonctionnalité est que vous manquerez ces mêmes outils en dehors de Google.

Quant aux goodies, l'entreprise dispose de bureaux sympas, de bonne nourriture, d'une salle de sport, d'une bonne assurance et d'autres goodies. Je vais juste laisser ici quelques photos du bureau de New York :

Comment obtenir un stage chez Google
Comment obtenir un stage chez Google
Comment obtenir un stage chez Google

Comment obtenir une offre ?

vue d'ensemble

Il est maintenant temps de parler de quelque chose de plus sérieux : comment obtenir un stage ?

Ici, nous ne parlerons pas de Google, mais de la manière dont cela se produit dans le cas général. J'écrirai ci-dessous sur les caractéristiques du processus de sélection des stagiaires chez Google.

Le processus d'entretien de l'entreprise ressemblera probablement à ceci :

  1. Demande de stage
  2. Concours sur Hackerrank/TripleByte Quiz
  3. Entretien de sélection
  4. Premier entretien technique
  5. Deuxième entretien technique
  6. Entretien à vue

Demande de stage

Évidemment, tout commence par votre envie de décrocher un stage. Pour ce faire, vous devez l’exprimer en remplissant un formulaire sur le site Internet de l’entreprise. Si vous (ou vos amis) avez des amis qui y travaillent, vous pouvez essayer de vous inscrire par leur intermédiaire. Cette option est préférable car elle vous permet de vous démarquer de la foule des autres étudiants. Si cela n'est pas possible, appliquez-vous.

Essayez de ne pas être trop contrarié lorsque vous recevez des e-mails contenant du contenu du type « vous êtes tellement cool, mais nous avons choisi d'autres candidats ». Et là, j'ai quelques conseils pour vous :

Comment obtenir un stage chez Google

Concours sur Hackerrank/TripleByte Quiz

Si le recruteur a aimé votre CV, dans 1 à 2 semaines, vous recevrez une lettre avec la prochaine tâche. Très probablement, il vous sera proposé de participer à un concours sur Hackerrank, où vous devrez résoudre des problèmes algorithmiques dans le temps imparti, ou à TripleByte Quiz, où vous devrez répondre à diverses questions concernant les algorithmes, le développement de logiciels et la conception de systèmes à faible consommation. systèmes de niveaux. Cette étape sert de filtre initial dans le processus de sélection des candidats.

Entretien de sélection

Si le test est réussi, vous passerez alors un entretien de sélection, au cours duquel vous discuterez avec le recruteur de vos intérêts et des projets que l'entreprise propose aux stagiaires. Si vous manifestez de l'intérêt et que votre expérience antérieure correspond aux attentes de l'entreprise, vous recevrez le feu vert. D'après mon expérience, c'est l'endroit le plus imprévisible de tout le processus et cela dépend beaucoup du recruteur.

Si vous avez réussi ces trois tests, alors l’essentiel du hasard est déjà derrière vous. Ensuite, il y a les entretiens techniques, qui dépendent davantage de vous, ce qui signifie que vous pouvez davantage influencer leur résultat. Et c'est bien !

Entretiens techniques

Viennent ensuite les entretiens techniques, généralement menés via Skype ou Hangouts. Mais il existe parfois des services plus exotiques qui nécessitent l'installation de logiciels supplémentaires. Par conséquent, assurez-vous au préalable que tout fonctionne sur votre ordinateur.

Le format des entretiens techniques varie considérablement en fonction du poste pour lequel vous passez un entretien. Si nous parlons du poste de stagiaire en génie logiciel, il vous sera très probablement proposé quelques problèmes algorithmiques, dont la solution devra être codée dans un éditeur de code en ligne, par exemple, coderpad.io. Ils peuvent également vous poser une question de conception orientée objet pour voir dans quelle mesure vous comprenez la conception de logiciels. Par exemple, il peut leur être demandé de concevoir une simple boutique en ligne. Certes, je n'ai jamais rencontré une telle tâche par la solution de laquelle il serait vraiment possible de juger cette compétence. À la fin de l’entretien, vous aurez probablement la possibilité de poser des questions. Je vous recommande fortement de prendre cela au sérieux, car à travers des questions, vous pouvez montrer votre intérêt pour le projet et démontrer votre compétence sur le sujet. Je prépare généralement à l’avance une liste de questions potentielles :

  • Comment se déroule le travail sur le projet ?
  • Quel est le plus grand défi que vous avez dû résoudre ces derniers temps ?
  • Quelle est la contribution du développeur au produit final ?
  • Pourquoi avez-vous décidé de travailler pour cette entreprise ?

Vous n'êtes pas toujours interviewé par la personne avec qui vous travaillerez à l'avenir. Ces dernières questions peuvent donc donner un aperçu de ce qui se passe dans l’entreprise dans son ensemble. Pour moi, par exemple, il est important d'avoir une influence sur le produit final.

Si vous réussissez le premier entretien, un deuxième vous sera proposé. Il différera du premier par l'intervieweur et, par conséquent, par les tâches. Le format restera probablement le même. Après avoir réussi le deuxième entretien, ils peuvent en proposer un troisième.

Entretien à vue

Si jusqu’à présent vous n’avez pas été rejeté, alors un entretien à vue vous attend, lorsque le candidat est convoqué à un entretien au siège de l’entreprise. Il se compose généralement de plusieurs entretiens techniques et d'un entretien comportemental. Lors d'un entretien comportemental, vous parlez au manager de vos projets, des décisions que vous avez prises dans différentes situations, etc. Autrement dit, l'intervieweur essaie de mieux comprendre votre personnalité et de comprendre votre expérience plus en détail. Certaines entreprises qui mènent 3 à 4 entretiens techniques ne proposent qu'un seul entretien comportemental à distance au lieu d'un entretien sur place.

Il ne reste plus qu’à attendre la réponse du recruteur. Si tout s'est bien passé, vous recevrez certainement une lettre avec l'offre tant attendue. S’il n’y a pas d’offre, ne vous inquiétez pas. Les entreprises rejettent systématiquement les bons candidats. Essayez à nouveau de postuler pour un stage l'année prochaine.

Entretien de codage

Alors attendez... Nous n'avons pas encore fait d'interviews. Nous venons de découvrir à quoi ressemble l'ensemble du processus et maintenant nous devons bien préparer les entretiens pour ne pas manquer l'occasion de passer un été agréable et utile.

Il existe des ressources telles que Codeforces, Topcoder и HackerRankdont j'ai déjà parlé. Sur ces sites, vous pouvez trouver un grand nombre de problèmes algorithmiques et également envoyer leurs solutions pour vérification automatique. Tout cela est génial, mais cela me rappelle plutôt le fait de tirer sur des moineaux avec un canon. De nombreuses tâches sur ces ressources sont conçues pour prendre beaucoup de temps à résoudre et nécessitent une connaissance des algorithmes avancés et des structures de données, tandis que les tâches des entretiens ne sont généralement pas si complexes et sont conçues pour prendre 5 à 20 minutes. Ainsi, dans notre cas, une ressource telle que CodeLeet, qui a été créé comme un outil de préparation aux entretiens techniques. Si vous résolvez 100 à 200 problèmes de complexité variable, vous n'aurez probablement aucun problème pendant l'entretien. Il y en a encore de valables Laboratoire de codes Facebook, où vous pouvez sélectionner la durée de la session, par exemple 60 minutes, et le système sélectionnera pour vous un ensemble de problèmes, qui ne prennent en moyenne pas plus d'une heure à résoudre.

Beaucoup de gens recommandent également de lire le livre «Craquer l'interview de codage" Je n’en ai moi-même lu que de manière sélective certaines parties. Mais il convient de noter que j’ai résolu de nombreux problèmes algorithmiques au cours de mes années d’école. Quiconque n’a pas vécu une telle expérience devrait au moins feuilleter ce livre.

De plus, si vous avez eu peu d'entretiens techniques avec des entreprises étrangères dans votre vie, il est recommandé de passer quelques entretiens d'essai. Mais plus il y en a, mieux c'est. Cela vous aidera à vous sentir plus en confiance pendant l’entretien et moins nerveux. Des entretiens simulés peuvent être organisés à Préamp.

Entretiens comportementaux

Comme je l'ai mentionné, lors d'un entretien comportemental, l'intervieweur essaie d'en savoir plus sur votre expérience et de comprendre votre caractère. Que se passe-t-il si vous êtes un excellent développeur mais que vous n’êtes pas doué pour travailler en équipe ? J'ai peur que cela ne convienne pas à beaucoup de monde. Par exemple, la question suivante pourrait vous être posée : « Quelle est votre faiblesse ? » En plus de questions de ce genre, il vous sera demandé de parler des projets dans lesquels vous avez joué un rôle clé, des problèmes que vous avez rencontrés ainsi que de leurs solutions. Il est à noter que dès les premières minutes des entretiens techniques, vous pourrez également être interrogé à ce sujet. Comment se préparer à de tels entretiens est bien écrit dans l'un des chapitres de « Cracking the Coding Interview ».

Google

Maintenant que nous comprenons à quoi ressemble le processus de sélection des stagiaires en général et comment se préparer aux entretiens, il est temps de parler de son fonctionnement dans le cas de Google.

Une liste des stages disponibles est disponible ici. Si vous envisagez de partir en stage d'été, vous devriez commencer à postuler dès septembre.

Entretiens

Ici, le processus semble un peu inhabituel. Vous passerez un entretien de sélection et deux entretiens techniques. Si vous vous y montrez bien, vous passerez alors à l'étape de recherche de projet. Vous devrez remplir un questionnaire assez long dans lequel vous indiquerez toutes vos compétences actuelles, ainsi qu'exprimer vos préférences sur le sujet du projet et le lieu dans lequel vous souhaitez effectuer le stage.

Il est très important de bien remplir ce formulaire et avec diligence ! Les hôtes potentiels qui recherchent des personnes pour rejoindre leur projet examinent les stagiaires disponibles et organisent des conversations avec les candidats qu'ils apprécient. Ils peuvent filtrer les étudiants par lieu, mots-clés, coches dans le formulaire de candidature et trier par résultats d'entretien.

Au cours de la conversation, l’intervieweur parle du projet sur lequel travailler et découvre également l’expérience du candidat. C'est une excellente occasion de découvrir à quoi ressemblera réellement le processus de travail, car vous communiquez avec la personne qui sera votre hôte. Après l'entretien, vous écrivez une lettre au recruteur avec vos impressions sur le projet. Si vous aimez le projet et que l'intervieweur vous apprécie, alors une offre vous attend. Sinon, vous vous attendrez à des appels de suivi, qui peuvent être du 2-3-4, ou peut-être pas du tout. Il convient de préciser que même si vous avez bien passé les entretiens, mais qu'au stade de la recherche d'un projet, aucune équipe ne vous a choisi (ou peut-être que personne ne vous a même parlé), alors, hélas, vous vous retrouverez sans offre. .

Amérique ou Europe ?

Entre autres choses, vous devrez décider où vous effectuerez votre stage. J'avais le choix entre les USA et EMEA. Et ici, il est important de connaître certaines fonctionnalités. Par exemple, on a le sentiment qu'il est plus difficile de se rendre aux États-Unis. Tout d'abord, vous devrez participer à un concours supplémentaire de 90 minutes où vous devrez résoudre des problèmes algorithmiques, ainsi qu'à un autre quiz de 15 minutes qui tentera de révéler votre personnage. Deuxièmement, d'après mon expérience et celle de mes amis, au stade de la recherche, les équipes s'intéressent moins à vous. Par exemple, en 2017, je n'ai eu qu'une seule conversation, après quoi l'équipe a choisi un autre candidat, et je n'ai reçu aucune offre. Alors que les gars qui postulaient pour l’Europe avaient 4 à 5 projets. En 2018, ils m’ont trouvé une équipe en janvier, ce qui est assez tard. Les gars travaillaient à New York, j'ai aimé leur projet et j'ai accepté.

Comme vous pouvez le constater, aux États-Unis, les choses sont un peu plus compliquées. Mais je voulais y aller plus qu'en Europe. De plus, aux États-Unis, ils paient plus.

Comment obtenir un stage chez Google

Que faire après?

A la fin du stage vous avez deux options :

  • Obtenez un stage pour l'année prochaine.
  • Passez deux entretiens techniques pour obtenir un poste à temps plein.

Ces deux options sont disponibles à condition que vous ayez mené à bien votre projet en cours. S'il ne s'agit pas de votre premier stage, il se peut même qu'on vous propose un poste à temps plein sans entretien.

Par conséquent, la situation suivante se présente, qui peut être décrite avec une seule image :

Comment obtenir un stage chez Google

Comme il s'agissait de mon premier stage, j'ai décidé de passer deux entretiens techniques pour obtenir un poste à temps plein. Sur la base de leurs résultats, ils ont accepté de me faire une offre et ont commencé à chercher une équipe, mais j’ai refusé cette option car j’ai décidé de terminer mon master. Il est peu probable que Google disparaisse d’ici 2-3 ans.

Conclusion

Mes amis, j'espère avoir expliqué de manière accessible et compréhensible à quoi ressemble le parcours d'étudiant à stagiaire. (et puis retour...), et ce matériel trouvera son lecteur qui le trouvera utile. Comme vous pouvez le constater, ce n'est pas aussi difficile qu'il y paraît, il vous suffit de mettre de côté votre paresse, vos peurs et de commencer à essayer !

PS je l'ai aussi ici canal dans un chariot où vous pouvez regarder.

Source: habr.com

Ajouter un commentaire