Interview Facebook software engineer: le seul article que vous devrez lire

Pratiquez 1-sur-1 avec d’anciens intervieweurs de Facebook. En savoir plus.

Les interviews de codage sur Facebook sont vraiment difficiles. Les questions sont difficiles, spécifiques à Facebook, et couvrent un large éventail de sujets.

La bonne nouvelle est qu’une bonne préparation peut faire une grande différence et vous aider à décrocher un emploi d’ingénieur logiciel chez Facebook. Nous avons élaboré le guide ultime pour vous aider à maximiser vos chances de succès.

Voici un aperçu de ce que nous allons couvrir:

  • Processus et chronologie
  • Exemples de questions
    • Interview de codage
    • Interview de conception de système
    • Interview comportementale
  • Conseils de préparation

1. Processus et chronologie de l’entretien

1.1 À quoi s’attendre

Quel est le processus et la chronologie de l’entretien en génie logiciel de Facebook? Cela prend en moyenne quatre à huit semaines et suit ces étapes:

  1. CV, lettre de motivation et références
  2. Écran téléphonique du recruteur: un entretien
  3. Écran téléphonique technique: un ou deux entretiens
  4. Sur place: quatre à six entretiens

Examinons chacune de ces étapes plus en détail ci-dessous:

1.1.1 Écran du téléphone du recruteur

Dans la plupart des cas, vous démarrez votre processus d’entretien avec Facebook en parlant à un recruteur RH au téléphone. Ils cherchent à confirmer que vous avez une chance d’obtenir le poste, alors soyez prêt à expliquer votre parcours et pourquoi vous êtes un bon candidat chez Facebook. Vous devez vous attendre à des questions comportementales et de CV typiques comme « Parlez-moi de vous », « Pourquoi Facebook? », ou « Parlez-moi de votre quotidien actuel en tant que développeur. »

Si vous dépassez ce premier écran RH, le recruteur vous aidera ensuite à planifier vos premiers écrans techniques avec un ingénieur Facebook. Une grande chose à propos de Facebook est qu’ils sont très transparents sur leur processus de recrutement. Votre contact RH vous guidera donc à travers les étapes restantes du processus d’embauche et partagera également avec vous une liste de ressources utiles que vous pourrez utiliser pour préparer.

1.1.2 Écran technique du téléphone

Vous passerez par un ou deux écrans techniques initiaux de 45 minutes qui se produisent généralement par téléphone. Vos intervieweurs commenceront par quelques questions comportementales, mais la plupart du temps sera consacré à des questions de codage typiques (par exemple, structures de données, algorithmes, etc.)

Vous utiliserez un simple éditeur de code en ligne sans coloration syntaxique ni auto-complétion pour ces entretiens téléphoniques (par exemple CoderPad) et c’est une bonne idée de s’habituer à en utiliser un au préalable.

Enfin, si vous habitez à proximité d’un bureau Facebook et que vous êtes vraiment motivé à rejoindre l’entreprise, vous pouvez demander à venir sur place pour les premiers écrans. Votre recruteur sera généralement heureux d’organiser cela pour vous car c’est une meilleure expérience à la fois pour vous et pour vos intervieweurs.

1.1.3 Entretiens sur site

Les entretiens sur site sont le véritable test. Vous passerez généralement une journée complète dans un bureau Facebook et ferez quatre à six interviews au total. Chaque entretien durera environ 45 minutes et couvrira l’un des sujets suivants:

  1. Entrevue de codage, où vous résoudrez des questions de codage générales qui seront généralement plus difficiles que dans l’écran technique initial.
  2. Entretien de conception, où une question de conception de système ou de produit vous sera posée en fonction de vos antécédents.
  3. Entretien comportemental, où vous pouvez vous attendre à des questions sur votre parcours, vos réalisations et votre motivation à travailler chez Facebook.

Vous obtiendrez généralement trois entretiens de codage, un entretien de conception et un entretien de comportement. Mais comme nous le verrons dans la section suivante, la répartition exacte variera en fonction du rôle, de l’équipe et du niveau pour lequel vous postulez.

En plus de ces entretiens, vous déjeunerez également avec un collègue ingénieur pendant que vous êtes sur place. L’interview du déjeuner est censée être votre moment pour poser des questions sur ce que c’est que de travailler chez Facebook. La société ne vous évaluera pas pendant cette période, mais nous vous recommandons de vous comporter comme s’ils l’étaient.

1.2 Différences entre les niveaux et les rôles

Le processus que nous avons décrit ci-dessus variera légèrement en fonction du niveau et du rôle pour lesquels vous interviewez. Voici quelques-unes des différences les plus courantes auxquelles vous devez vous attendre.

1.2.1 Ingénieurs logiciels juniors vs ingénieurs logiciels seniors

Les attentes pour les ingénieurs juniors et seniors sont différentes.

Si vous êtes un ingénieur débutant / junior, vous devrez très bien réussir vos entretiens de codage. Mais vous n’aurez généralement qu’un seul entretien de conception de système où la barre de performance sera inférieure à celle des candidats plus expérimentés.

Si vous êtes un ingénieur senior, vous devrez tous les deux très bien réussir les entretiens de codage et de conception de système. Vous pouvez également avoir deux entretiens de conception de système au lieu d’un dans certaines situations (par exemple, vous postulez pour l’équipe infrastructure).

1.2.2 Contributeurs individuels vs managers

Facebook a deux pistes de carrière. Vous pouvez soit devenir un manager où vous finissez par diriger des équipes d’ingénieurs (piste de gestion). Ou vous pouvez rester très pratique techniquement et vous spécialiser à mesure que vous devenez plus senior (piste de contributeur individuel).

Si vous interviewez en tant que contributeur individuel, vous devez principalement vous attendre à des entretiens techniques et n’aurez généralement qu’un seul entretien comportemental.

Si vous interviewez en tant que manager, directeur ou supérieur, vous devez vous attendre à au moins deux entretiens comportementaux. Soyez prêt à répondre à des questions sur la façon dont vous développez les personnes, travaillez avec des équipes interfonctionnelles, exécutez des projets, développez une organisation, etc.

1.3 Ce qui se passe en coulisses

Votre recruteur dirige le processus et vous emmène d’une étape à l’autre. Voici ce qui se passe en coulisses à chacune des étapes décrites ci-dessus:

  • Après l’écran technique du téléphone, les intervieweurs à qui vous avez parlé ont 24h pour soumettre leurs notes et notes au système interne. Votre recruteur examine ensuite les commentaires et décide de vous déplacer à l’entretien sur place ou non, en fonction de votre rendement.
  • Après le site, les quatre à six intervieweurs feront une recommandation sur votre embauche ou non et le recruteur compilera votre « paquet » (retour d’entrevue, CV, références, etc.) S’ils pensent que vous pouvez obtenir le poste, ils présenteront votre cas lors de la prochaine réunion d’examen des candidats.
  • Les réunions d’examen des candidats servent à évaluer tous les candidats qui ont récemment terminé leur boucle d’entrevue et qui sont sur le point de recevoir une offre. Votre paquet sera analysé et d’éventuelles préoccupations seront discutées. Vos intervieweurs sont invités à se joindre à votre réunion d’examen des candidats, mais n’y assisteront généralement que s’il y a un fort désaccord dans les notes que vous avez reçues (par exemple 2 pas d’embauche, 2 embauches). Si, après les discussions, l’équipe n’arrive toujours pas à s’entendre pour savoir si vous devriez recevoir une offre ou non, on pourrait vous demander de faire un entretien de suivi pour régler le débat. À la fin de la réunion d’examen des candidats, une recommandation d’embauche ou de non-embauche est faite pour examen par le comité d’embauche.
  • Le comité d’embauche comprend des cadres supérieurs de l’ensemble de Facebook. Cette étape est généralement une formalité et le comité suit la recommandation de la réunion d’examen des candidats. L’accent est mis sur le réglage précis du niveau exact et donc sur la compensation qui vous sera proposée.

Il est également important de noter que les gestionnaires d’embauche et les personnes qui vous parrainent ont peu d’influence sur le processus global. Ils peuvent vous aider à obtenir une entrevue au début, mais c’est à peu près tout.

2. Exemples de questions

Chez IGotAnOffer, nous croyons à la préparation d’entretiens basée sur les données et avons utilisé les données de Glassdoor pour identifier les types de questions les plus fréquemment posées sur Facebook.

Pour coder les interviews, nous avons divisé les questions qui vous seront posées en sous-catégories (par exemple, Tableaux /Chaînes, Graphiques /Arbres, etc.), afin que vous puissiez prioriser les plus fréquents dans votre préparation. Pour les questions de conception de système et de comportement, nous avons répertorié 10 exemples de questions fréquemment rapportées sur Glassdoor.

2.1 Interview de codage

 Questions d'entrevue d'ingénieur logiciel Facebook

Les ingénieurs logiciels Facebook résolvent certains des problèmes les plus difficiles auxquels l’entreprise est confrontée avec le code. Il est donc essentiel qu’ils aient de solides compétences en résolution de problèmes. C’est la partie de l’interview où vous voulez montrer que vous pensez de manière structurée et écrivez un code précis, sans bogues et rapide.

Voici les types de questions les plus fréquemment posées dans les interviews de codage Facebook et leur fréquence. Veuillez noter que la liste ci-dessous exclut les questions de conception du système et de comportement que nous abordons dans les sections suivantes.

  1. Tableaux/chaînes (38 % des questions, les plus fréquentes)
  2. Graphiques /Arbres (29%)
  3. Programmation Dynamique (18%)
  4. Rechercher / Trier (9%)
  5. Listes chaînées (4%)
  6. Piles/files d’attente (2%, moins fréquentes)

Nous avons également répertorié ci-dessous des exemples courants utilisés sur Facebook pour ces différents types de questions. Pour faciliter l’étude de ces questions, nous avons modifié le libellé pour qu’il corresponde au problème le plus proche sur Leetcode ou une autre ressource, et nous avons associé une solution gratuite.

Enfin, nous vous recommandons de lire l’article suivant écrit par un ancien intervieweur de Facebook pour mieux comprendre l’approche étape par étape que vous devez utiliser pour résoudre les questions de codage.

Exemple de questions de codage posées par Facebook

1. Tableaux/chaînes (38% des questions, les plus fréquentes)

  •  » Étant donné un tableau nums de n entiers où n > 1, renvoie un tableau output tel que output est égal au produit de tous les éléments de nums sauf nums. »(Solution)
  •  » Étant donné une chaîne non vide s, vous pouvez supprimer au plus un caractère. Jugez si vous pouvez en faire un palindrome. »(Solution)
  •  » Implémente next permutation, qui réarrange les nombres dans la permutation lexicographiquement suivante plus grande des nombres. »(Solution)
  •  » Étant donné une chaîne S et une chaîne T, trouvez la fenêtre minimale dans S qui contiendra tous les caractères de T en complexité O(n). »(Solution)
  •  » Étant donné un tableau de chaînes strs, regroupez les anagrammes ensemble. »(Solution)
  •  » Étant donné une chaîne s contenant uniquement les caractères ‘(‘, ‘)’, ‘{‘, ‘}’, « , déterminez si la chaîne d’entrée est valide. »(Solution)
  • « Étant donné un tableau nums de n entiers, y a-t-il des éléments a, b, c dans nums tels que a + b + c = 0? Trouvez tous les triplets uniques dans le tableau qui donne la somme de zéro. » (Solution)

2. Graphiques / Arbres (29%)

  •  » Étant donné le nœud root d’un arbre de recherche binaire, renvoie la somme des valeurs de tous les nœuds dont la valeur est comprise entre L et R (inclus). »(Solution)
  •  » Étant donné un arbre Binaire, convertissez-le en une Liste Circulaire Doublement Chaînée (En place). »(Solution)
  •  » Implémente un itérateur sur un arbre de recherche binaire (BST). Votre itérateur sera initialisé avec le nœud racine d’un BST. »(Solution)
  •  » Étant donné un arbre binaire, vous devez calculer la longueur du diamètre de l’arbre. »(Solution)
  • « Sérialiser et désérialiser un arbre binaire » (Solution)
  • « Étant donné un arbre binaire, trouvez la somme de chemin maximale. »(Solution)
  •  » Étant donné un dictionnaire trié (tableau de mots) d’une langue étrangère, trouvez l’ordre des caractères dans la langue. » (Solution)
  •  » Vérifiez si un graphe donné est Bipartite ou non  » (Solution)

3. Programmation Dynamique (18%)

  •  » Étant donné une liste de nombres non négatifs et un entier cible k, écrivez une fonction pour vérifier si le tableau a un sous-tableau continu de taille au moins 2 qui se résume au multiple de k, c’est-à-dire à n * k où n est également un entier. » (Solution)
  •  » Supposons que vous ayez un tableau pour lequel leth élément est le prix d’un stock donné le jour i. Si vous n’étiez autorisé à effectuer au plus une transaction (c’est-à-dire en acheter une et vendre une action du stock), concevez un algorithme pour trouver le profit maximum. » (Solution)

  •  » Étant donné une chaîne d’entrée (s) et un motif (p), implémentez une correspondance d’expression régulière avec le support de '.' et '*'. »(Solution)
  •  » On vous donne une liste d’entiers non négatifs, a1, a2,…, an et une cible, S. Vous avez maintenant 2 symboles + et -. Pour chaque entier, vous devez en choisir un parmi + et - comme nouveau symbole. Découvrez combien de façons d’attribuer des symboles pour rendre la somme des entiers égale à la cible S. » (Solution)

4. Rechercher / Trier (9%)

  •  » Nous avons une liste de points dans l’avion. Trouvez les points K les plus proches de l’origine (0, 0). »(Solution)
  •  » Étant donné deux tableaux, écrivez une fonction pour calculer leur intersection. »(Solution)
  •  » Étant donné un tableau d’intervalles de temps de réunion composés d’heures de début et de fin,,…] trouvez le nombre minimum de salles de conférence requis. » (Solution)

5. Listes chaînées (4%)

  •  » Une liste chaînée est donnée de telle sorte que chaque nœud contient un pointeur aléatoire supplémentaire qui pourrait pointer vers n’importe quel nœud de la liste ou null. Renvoie une copie approfondie de la liste. »(Solution)
  •  » Étant donné une liste chaînée unique L: L0?L1 ?…?Ln-1?Ln, réorganisez-le en: L0?Ln?L1 ?Ln-1?L2 ?Ln-2 ?Solution » (Solution)

6. Piles / Files d’attente (2%)

  •  » Implémentez les opérations suivantes d’une file d’attente à l’aide de piles. »Remarque: voir plus de détails sur le lien suivant. (Solution)

2.2 Entretien de conception de système

Facebook, Instagram et Whatsapp ont tous plus de 1 milliard d’utilisateurs actifs par mois. Les ingénieurs de Facebook doivent donc être capables de concevoir des systèmes hautement évolutifs. Les questions de codage que nous avons couvertes ci-dessus ont généralement une seule solution optimale. Mais les questions de conception du système qui vous seront posées sont généralement plus ouvertes et ressemblent davantage à une discussion.

C’est la partie de l’entretien où vous voulez montrer que vous pouvez à la fois être créatif et structuré. Dans la plupart des cas, votre intervieweur adaptera la question à votre parcours. Par exemple, si vous avez travaillé sur un produit API, ils vous demanderont de concevoir une API. Mais ce ne sera pas toujours le cas, vous devez donc être prêt à concevoir tout type de produit ou de système à un niveau élevé.

Comme mentionné précédemment, si vous êtes un développeur junior, les attentes seront plus faibles pour vous que si vous êtes de niveau intermédiaire ou senior. De plus, pour certains rôles (par exemple, infrastructure, sécurité, etc.) vous aurez probablement plusieurs entretiens de conception de système au lieu d’un seul.

Voici les questions les plus courantes sur la conception du système posées dans les rapports d’entrevue Facebook que vous pouvez trouver sur Glassdoor. Pour plus d’informations, nous vous recommandons de lire le guide suivant sur la façon de répondre aux questions de conception de système et de pratiquer les questions de conception de système dans ce cours.Facebook Facebook Facebook Instagram Facebook Instagramm: Comment concevriez-vous la mise à jour en direct des commentaires sur les publications de Facebook

  • Comment concevriez-vous une mise à jour en ligne des commentaires sur les publications de Facebook
  • Comment concevriez-vous une application en ligne sur Facebook?

    Les 10 principales questions de conception de systèmes posées sur Facebook

    • Comment concevriez-vous Facebook Messenger
    • Comment concevriez-vous une mise à jour en ligne de Facebook
    • Comment concevriez-vous une application en ligne sur Instagram? éditeur collaboratif (par ex. Google Docs)
    • Comment concevriez-vous une fonctionnalité de tête de type (par ex. Saisie semi-automatique de la recherche Google)
    • Comment concevriez-vous les sujets tendances de Twitter
    • Comment concevriez-vous un Botnet distribué
    • Comment concevriez-vous un système capable de gérer des millions de transactions par carte par heure
    • Comment concevriez-vous la sécurité du réseau d’entreprise de Facebook à partir de zéro (Interview de l’équipe de sécurité)

    2.3 Entretien comportemental

    Les ingénieurs de Facebook travaillent généralement en équipes interfonctionnelles avec d’autres ingénieurs, chefs de produits, concepteurs, analystes de données, etc. Ils doivent être capables de communiquer clairement, de travailler efficacement avec les autres, d’établir une confiance et des relations, etc.

    C’est la partie de l’entretien où vous voulez vraiment montrer que vous êtes bon pour travailler avec les autres. Comme nous l’avons mentionné précédemment, si vous postulez pour un poste de manager ou supérieur, vous aurez plusieurs entretiens comportementaux et couvrirez également des sujets tels que diriger des équipes, développer des talents, gérer le quotidien, etc.

    Ci-dessous, nous avons répertorié dix questions comportementales fréquentes que Facebook a tendance à poser, selon les données de Glassdoor. Pour plus d’informations, consultez nos articles sur la façon de répondre aux questions d’entrevue comportementale et le « Pourquoi Facebook? » question.Facebook: Les 10 meilleures questions comportementales posées sur Facebook:

    • Parlez-moi de vous
    • Pourquoi Facebook?
    • Parlez-moi d’un projet récent/ favori et de certaines des difficultés que vous avez eues
    • Parlez-moi du plus grand accomplissement de votre carrière
    • Parlez-moi d’une période où vous avez eu du mal à travailler avec l’un de vos collègues
    • Parlez-moi d’une période où vous avez dû résoudre un conflit en équipe
    • Parlez-moi d’une période où vous avez eu des commentaires constructifs
    • Parlez-moi d’un moment où vous avez dû prendre vos responsabilités pour les autres
    • Parlez-moi d’un moment où vous avez eu des difficultés sur l’un de vos projets logiciels
    • Parlez-moi de votre pire patron et de votre pire pourquoi ils étaient mauvais

    3. Comment préparer

    Maintenant que vous savez à quelles questions vous attendre, concentrons-nous sur la préparation. Ce n’est un secret pour personne que la barre de performance chez Facebook est élevée. Certaines personnes vont même jusqu’à quitter leur emploi pour se préparer à des entretiens à temps plein.

    C’est évidemment extrême et ce n’est pas ce que nous recommandons de faire, mais cela montre à quel point certains candidats sont prêts à faire des efforts. Nous avons énuméré ci-dessous les quatre étapes que nous vous recommandons de suivre pour vous préparer le plus efficacement possible.

    3.1 En savoir plus sur la culture de Facebook

    La plupart des candidats ne le font pas. Mais avant d’investir des dizaines d’heures pour préparer une entrevue chez Facebook, vous devez prendre le temps de vous assurer que c’est la bonne entreprise pour vous.

    Facebook est prestigieux et il est donc tentant d’ignorer complètement cette étape. Mais selon notre expérience, le prestige en soi ne vous rendra pas heureux au quotidien. C’est le type de travail et les personnes avec qui vous travaillez qui le feront.

    Si vous connaissez des ingénieurs qui travaillent chez Facebook ou y travaillaient auparavant, c’est une bonne idée de leur parler pour comprendre à quoi ressemble la culture. En outre, nous vous recommandons de lire sur les 5 valeurs fondamentales de Facebook et la culture des pirates informatiques.

    3.2Pratiquez par vous-même

    Comme mentionné ci-dessus, vous aurez trois types d’entretiens sur Facebook: le codage, la conception du système et le comportement. La première étape de votre préparation devrait être de brosser ces différents types de questions et de vous entraîner à y répondre par vous-même.

    Pour les interviews de codage, nous vous recommandons de lire l’article suivant écrit par un ancien intervieweur de Facebook pour mieux comprendre l’approche étape par étape que vous devez utiliser pour résoudre les questions de codage lors d’une interview.

    Et pour vous entraîner, nous vous recommandons d’utiliser Leetcode où vous pouvez faire beaucoup avec le niveau gratuit, et également accéder à des questions spécifiques à Facebook en utilisant le niveau Premium.

    Pour les entretiens de conception de système, nous vous recommandons d’étudier notre guide d’entretiens de conception de système. Le guide couvre une méthode étape par étape pour répondre aux questions de conception du système et fournit plusieurs exemples de questions avec des solutions.

    Pour les entretiens comportementaux, nous vous recommandons d’apprendre notre méthode étape par étape pour répondre à ce type de question. De plus, vous voudrez noter vos réponses aux questions comportementales courantes que nous avons énumérées dans la section précédente.

    Enfin, une excellente façon de pratiquer le codage, la conception de systèmes et les questions comportementales est de vous interviewer à haute voix.

    Cela peut sembler étrange, mais cela améliorera considérablement la façon dont vous communiquez vos réponses lors d’un entretien et fera vraiment une différence dans notre expérience. Jouer le rôle du candidat et de l’intervieweur, poser des questions et y répondre, comme deux personnes le feraient dans une interview.

    3.3 Pratiquez avec vos pairs

    Pratiquer par vous-même ne vous mènera que jusqu’à présent. L’un des principaux défis du codage des entretiens est de devoir communiquer ce que vous faites comme vous le faites. Par conséquent, nous vous recommandons fortement de pratiquer des entretiens de codage en direct avec un pair qui vous interviewe.

    Un bon point de départ est de pratiquer avec des amis si vous le pouvez. Si vous n’avez personne dans votre réseau qui puisse vous interviewer, vous pouvez également trouver des pairs avec qui vous entraîner sur des plates-formes telles que Pramp.

    3.4 Pratiquer avec d’anciens intervieweurs

    Le principal avantage de pratiquer avec des pairs est que c’est gratuit. Mais à un moment donné, vous commencerez à remarquer que les commentaires que vous recevez de vos pairs ne vous aident plus beaucoup. Une fois que vous atteignez ce stade, nous vous recommandons de vous entraîner avec d’anciens intervieweurs d’entreprises de haute technologie.

    Si vous connaissez un ingénieur logiciel qui a de l’expérience dans la réalisation d’entretiens chez Facebook ou une autre grande entreprise de technologie, alors c’est fantastique. Mais pour la plupart d’entre nous, il est difficile de trouver les bonnes connexions pour y arriver. Et il peut également être difficile de pratiquer plusieurs heures avec cette personne à moins que vous ne la connaissiez très bien.

    Voici la bonne nouvelle. Nous avons déjà établi les liens pour vous. Nous avons créé un service de coaching où vous pouvez vous entraîner 1 contre 1 avec d’anciens intervieweurs de grandes entreprises technologiques comme Facebook. En savoir plus et commencer à planifier des sessions dès aujourd’hui.

    Coaching d’entrevue avec SWE

    Des questions sur les entretiens d’ingénieur logiciel Facebook?

  • Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée.