J'ai effectué mon stage chez Twitter au cours de l'été 2014, qui a été l'une des expériences de stage les plus incroyables que j'ai jamais eues !
Parmi mes 20+ entretiens de stage avec de multiples entreprises (Google, Quora, LinkedIn, Facebook, Microsoft, Square, etc), les entretiens de stage chez Twitter sont plus difficiles que la moyenne. La question d'entretien littéralement la plus difficile (pas de brain teaser) que j'ai eue vient de Twitter (voir le dernier paragraphe). Voici le déroulement de mes entretiens avec Twitter pour le stage d'été 2014.
Un de mes amis a déjà fait un stage chez Twitter et m'a recommandé pour le stage d'été via un autre employé à temps plein. Peu de temps après, j'ai reçu un courriel du recruteur et on m'a demandé de réaliser quelques missions de programmation sur le site Web https://codility.com/. Ce site dispose d'une version d'essai et d'une démo gratuites, que je vous recommande d'essayer avant de passer le test Twitter. Les questions ne sont généralement pas difficiles si vous connaissez quelques algorithmes et structures de données de base, par exemple certains algorithmes avides ou une programmation dynamique simple. Le site Web est un peu délicat car vous ne verrez pas tous les exemples de test, ni vos résultats. Assurez-vous donc de tester autant de cas que vous le pouvez avant de soumettre.
Il y avait 4 écrans téléphoniques par la suite. Les formats étaient cohérents, y compris la présentation des uns et des autres et 1-2 problèmes de codage. Il n'y avait pas de brain teaser (en fait, je n'en ai jamais eu). Les deux premiers entretiens étaient indépendants de l'équipe, similaires aux écrans téléphoniques de Google avant l'appariement des hôtes. Ils visent à tester les compétences générales en matière de codage et de conception d'algorithmes. Les deux derniers étaient dépendants de l'équipe, c'est-à-dire qu'ils étaient menés avec des personnes de l'équipe dans laquelle vous pourriez effectuer votre stage. J'ai été un peu surpris que les deux derniers entretiens portent encore sur le codage et les algorithmes, car la plupart des entreprises ont tendance à parler de projets à ce stade. J'ai l'impression que Twitter est extrêmement sérieux en ce qui concerne la qualité du code. De plus, lors du dernier entretien, on m'a demandé quelles étaient mes idées pour les projets de stage de l'année précédente. La plupart des projets de cette équipe (y compris celui de mon stage) sont ouverts et axés sur les données. Il n'y a donc pas de bonne ou de mauvaise réponse. Continuez à parler et le brainstorming est préféré.
Comme je l'ai déjà mentionné, j'ai eu la question d'entretien la plus difficile jusqu'à présent, qui s'est produite lors du deuxième écran téléphonique Twitter. En raison de l'accord, je ne peux pas la révéler (je ne vois également jamais cette question nulle part en ligne). La question est particulièrement difficile car elle nécessite un algorithme de streaming. Elle nécessite également un tri et une recherche binaire (avec recherche de l'élément le plus à gauche ou le plus à droite). J'ai codé environ 100 lignes en utilisant Java pendant un entretien de 45 minutes. Le code comportait quelques bogues et l'algorithme n'était pas optimal. À la fin de l'entretien, j'étais capable de concevoir la solution optimale à partir de quelques indications. Mais je n'ai pas eu assez de temps pour terminer le codage. J'ai pensé que je l'avais complètement raté. Heureusement, je suis passé au travers, probablement parce que la question était trop difficile. Après l'entretien, j'ai passé une autre heure entière à coder la solution optimale sans bogues évidents. Pour attester encore de sa difficulté, j'ai posé la question à plusieurs employés à temps plein et stagiaires lorsque j'étais chez Twitter. Aucun d'entre eux n'a trouvé la solution optimale à temps. Même avec les indices, la plupart des gens ont mis du temps à la trouver, sans parler du codage sans bogue. Ce qu'il faut retenir, c'est qu'il ne faut pas se laisser intimider par les questions difficiles. La communication est la clé pour résoudre ce genre de questions. Demandez des précisions, des exemples et même des conseils. Les gens n'attendent pas de vous une solution immédiate. C'est la façon dont vous abordez le problème qui fait l'objet de l'entretien.
En outre, il existe un programme pilote de stages chez Twitter qui recherche des stagiaires en recherche (généralement titulaires d'un doctorat), similaire à ceux de Microsoft Research. Pour autant que je sache, la plupart de ces stagiaires de recherche avaient déjà des liens avec Twitter par le biais de conseillers ou de départements. Leurs processus d'entretien sont différents, avec des questions axées sur les intérêts et l'expérience en matière de recherche.