J'ai décroché un stage chez Facebook. Voici quelques conseils que j'ai appris.

J'ai récemment accepté une offre de Facebook après un entretien avec Google, Microsoft, Dropbox, Yelp, etc. J'ai pris un peu de temps pour réfléchir et réfléchir à ce qui m'a aidé à me démarquer. Voici quelques conseils, classés par différentes parties du processus.

Obtenir une entrevue: création de CV

Le facteur le plus important pour attirer l'attention d'une entreprise et de son équipe de recrutement est probablement votre CV. Depuis mon incursion dans l'industrie il y a trois ans, mon CV a évolué au fur et à mesure que je gagnais en expérience. D'année en année, j'ai obtenu de bien meilleurs taux de réponse de la part des entreprises car mon CV a changé - chaque année, j'ai obtenu plus de réponses et de suivis de candidatures de stage. Vraiment, il n'y a eu que quelques changements majeurs dans mon CV. Ci-dessous, j'en souligne trois.

Recherche . Je pense que c'est ce qui m'a ouvert beaucoup plus de portes - j'ai obtenu environ 75% de réponses en plus de la part des entreprises le semestre suivant le début de mes recherches. Si vous avez la possibilité de travailler avec des professeurs ou des étudiants diplômés, saisissez-le. Non seulement vous apprenez une quantité insensée en peu de temps et recevez le mentorat de certaines des personnes les plus brillantes du domaine, mais (sur votre CV) vous démontrez également une passion et une volonté d'apprendre qui vont au-delà de la salle de classe.

Faire de la recherche développe un état d'esprit pour s'attaquer aux problèmes difficiles et complexes qui sont présents à la fois dans les universités et dans l'industrie. Les entreprises veulent des personnes qui ont le potentiel d'entrer et d'avoir un impact, et montrer que vous avez le bon état d'esprit et une expérience pertinente est un pas dans la bonne direction.

Open Source . Les projets sur lesquels vous travaillez et auxquels vous contribuez peuvent également être open source, un autre avantage pour votre application. Si vous ne trouvez pas de poste de recherche, contribuez à l'open source. L'open source est généralement perçu de manière très positive, et les entreprises se vantent de leur contribution. Cela vous donne l'opportunité de travailler sur quelque chose qui profite à la communauté dans son ensemble et d'ajouter à un projet qui peut être beaucoup plus grand que vous.

Un site Web personnel . Peut-être que c'est juste moi, et les entreprises ne regardent pas vraiment cela, mais il semble que le fait d'avoir un site Web personnel vous donne une longueur d'avance sur ceux qui ne le font pas. Personnellement, j'ai remarqué un taux de réponse de 50% plus élevé la saison de recrutement après avoir ajouté un site Web personnel à mon CV.

Le développement de votre site Web personnel établit votre marque personnelle et montre que vous avez des connaissances de base en front-end. Vous avez pris le temps d'apprendre le HTML et le CSS et d'utiliser le framework Web que vous avez utilisé - un autre signe que vous êtes vraiment intéressé par le développement de logiciels.

Se préparer à l'entrevue

Vous avez donc reçu un e-mail d'un recruteur. Maintenant quoi? Il est temps de se préparer!

Les entretiens de stage en génie logiciel comportent généralement deux parties: comportementale et technique.

Préparation comportementale

Préparez-vous un spiel de 1 à 2 minutes. Qu'avez-vous fait l'été dernier? Quels cours avez-vous suivis que vous avez vraiment apprécié? Sur quels projets sympas avez-vous travaillé récemment? Assurez-vous d'inclure également vos recherches et votre expérience open source.

Les entretiens durent généralement entre 45 et 60 minutes, il y a donc un maximum de 15 minutes pour parler de détails non techniques. Avant d'interviewer chaque entreprise, j'ai jeté un coup d'œil sur son site Web et les blogs associés pour en savoir plus.

Qu'est-ce qui est cool dans chaque entreprise? Qu'est-ce qu'ils font vraiment? Y a-t-il des branches moins connues qui font un travail qui me plaît davantage?

Trouvez et discutez des choses qui montrent que vous avez pris le temps de faire des recherches. Notez ces choses quelque part pendant la recherche initiale afin de pouvoir les référencer plus tard (comme juste avant l'entrevue!). Chaque petite chose pourrait vous différencier des 20 prochains candidats.

L'enquêteur se présente généralement, parle peut-être de la mission de l'entreprise et de ce qu'elle fait, puis vous demande de parler de vous. Soyez prêt à réciter ce que vous avez préparé.

Préparation technique

Les trucs techniques sont, eh bien, techniques - vous devez consacrer du temps pour apprendre le matériel. Voici quelques bonnes ressources que j'ai utilisées pour m'aider à préparer mes entretiens:

  • un tableau blanc. Souvent, l'intervieweur peut avoir écrit du code ou du code sur quelque chose comme un document Google qui ne se compile pas. Autrement dit, vous n'aurez aucune idée si vous faites des erreurs de syntaxe. Essayez d'écrire du code sur un tableau blanc lorsque vous vous préparez. C'est très différent du codage dans un environnement de développement normal. Vous pouvez également utiliser un tableau blanc pour esquisser et visualiser vos idées.
  • Cracking l'interview de codage. Il contient de brèves critiques sur la plupart des sujets abordés dans les entretiens et un tas de problèmes allant de la difficulté. J'ai acheté une copie papier. Cela m'a permis de mettre en évidence des notes importantes dans les sections de contenu et de dessiner des diagrammes à côté des questions. Les sections de contenu ont d'excellents résumés sur divers sujets tels que les structures de données, le tri, la programmation dynamique, etc., pour vous rafraîchir la mémoire. J'ai en fait vu plusieurs questions dans des interviews tirées directement de ce livre. Probablement la plus grande ressource là-bas.
  • LeetCode. LeetCode, comme Cracking the Coding Interview, a des questions de différents niveaux avec lesquels vous pouvez vous entraîner. Mais LeetCode fournit un environnement en ligne où vous pouvez taper du code et où votre code sera compilé et exécuté. C'est un bon moyen de vérifier que votre code s'exécute réellement et une bonne plate-forme pour pratiquer le débogage. (Remarque: être capable de déterminer rapidement où votre code a un bogue est la clé. Cela vous aidera énormément pendant l'interview). Chaque question a également un forum de discussion où vous pouvez voir comment les autres ont abordé la question. C'est toujours cool de voir de quelles autres façons vous pouvez résoudre un problème.
  • HackerRank. De nombreuses entreprises utilisent HackerRank pour les défis de codage, et HackerRank a compilé un kit de préparation aux entretiens pour vous aider à vous préparer aux entretiens. Le kit passe en revue plusieurs des mêmes sujets que Cracking the Coding Interview, mais vous donne une plate-forme pour appliquer les concepts en codant physiquement. Cela vous aidera à vous habituer à un environnement de codage en ligne très similaire à celui utilisé dans les entretiens réels.

L'entrevue réelle

Votre entretien est ici. La partie comportementale est venue et repartie. Il est temps aller.

Après avoir rencontré le problème pour la première fois, prenez le temps de réfléchir. Ne vous sentez pas obligé de vous précipiter immédiatement pour trouver une solution. Discutez de votre approche avec votre intervieweur avant de commencer à coder. Parfois, l'intervieweur voudra une solution plus efficace que votre solution initiale avant de commencer à coder, ou peut vous dire qu'il ne se soucie pas de l'efficacité et que toute ancienne approche de la force brute convient.

Cela donne également à l'intervieweur une chance de vous faire part de vos commentaires. Sur cette note, demandez périodiquement des commentaires ou des conseils. Certains intervieweurs m'ont beaucoup aidé de cette manière. Considérez l'entretien moins comme un examen que comme une collaboration pour résoudre certains problèmes.

Petit conseil: si vous ne vous souvenez pas de la syntaxe exacte d'une fonction spécifique à un langage, demandez si vous pouvez la rechercher. D'après mon expérience, vous pouvez généralement, ou l'intervieweur vous donnera des signatures de fonction que vous pouvez utiliser.

Bonne chance!

J'espère que vous avez appris un peu de cet article. Tout au long de mon parcours de premier cycle, j'ai eu de nombreux pairs et mentors qui m'ont soutenu et m'ont conseillé. J'espère donner suite et faciliter votre recherche de stage.

Si vous souhaitez des conseils personnels, n'hésitez pas à m'envoyer un message sur LinkedIn. Ajoutez une petite note faisant référence à cet article pour que je sache que vous n'essayez pas seulement d'augmenter votre nombre de connexions. Merci d'avoir lu! Bonne chance!