Entretien d’embauche en machine learning : guide complet
(silviasapora.github.io)- Retour d’expérience pratique résumant l’ensemble du processus de recherche d’un poste de Research Scientist après un doctorat en machine learning
- Basé sur un cas où une offre a été obtenue auprès de toutes les entreprises avec lesquelles les entretiens ont été menés à terme, dont DeepMind, Isomorphic Labs, Cohere, Meta et une startup en mode furtif
- Présentation étape par étape des critères pour décrocher des entretiens, de la préparation technique, émotionnelle et logistique, de la comparaison startup vs big tech, jusqu’à la négociation salariale
- Inclut des éléments de préparation concrets comme les différences fiscales et structurelles entre RSU et stock options, ainsi que l’implémentation directe de transformer et d’attention
- Met l’accent sur le fait que les entretiens sont fondamentalement stochastiques et que le résultat ne détermine pas la valeur d’une personne en tant que chercheur
Résultats globaux des entretiens et contexte
- Retour d’expérience personnel sur la recherche d’emploi de Research Scientist après un doctorat en ML, avec très peu de ressources de référence disponibles au départ
- Une offre obtenue auprès de toutes les entreprises pour lesquelles les entretiens ont été menés à terme — DeepMind (acceptée), Isomorphic Labs, Cohere, Meta et une startup furtive incluses
- Anthropic, Mistral et TeslaAI ont répondu trop tard, ce qui a empêché la finalisation du processus
- ReflectionAI est le seul refus sur un poste de RS, avec en contrepartie une proposition de bascule vers une filière engineering
- SpaceXAI, Waymo et Wayve n’ont pas invité à un entretien
- Candidature chez Waymo tous les six mois pendant tout le doctorat, sans jamais recevoir de réponse
Comment décrocher des entretiens
- Les leviers principaux pour obtenir des entretiens sont plus de publications, des sujets tendance et de meilleurs stages
- Pendant le doctorat, 4 articles en premier auteur (ou co-premier auteur) publiés à ICLR / NeurIPS / ICML (LLM, RL, meta-learning, evolution strategies)
- Expérience de stage chez Apple et expérience en software engineering chez Meta
- Repère approximatif : avec au moins 3 articles en premier auteur + au moins un stage ou une expérience industrielle, il est possible d’obtenir régulièrement des retours des meilleurs laboratoires
- Si vous avez déjà des entretiens, publier davantage n’aide plus vraiment → il faut se concentrer sur la préparation aux entretiens plutôt que sur la recherche, car on ne se sent jamais vraiment prêt et il faut donc commencer maintenant
Lettre de motivation, recommandations, cold emails, LinkedIn/X
- LinkedIn / X : beaucoup d’entreprises y publient leurs offres, et pour les stages c’est parfois l’unique canal de candidature
- Il faut remplir le Google form lié à l’annonce pour que la candidature soit réellement prise en compte
- Referrals (recommandations) : utile si possible, mais pas indispensable
- Chez DeepMind, des invitations à des entretiens ont été reçues à la fois pour des postes avec recommandation et pour d’autres sans
- Cold emails : envoyer directement un email à un recruteur ou à un membre de l’équipe est souvent bien reçu
- Il ne faut pas répéter son CV, mais expliquer pourquoi l’équipe correspond à votre profil et ce qui vous intéresse chez elle
- Lettres de motivation : rarement demandées, mais lorsqu’elles le sont, il faut les rédiger sérieusement
- Ne pas confier la rédaction complète à Claude / Gemini / ChatGPT, les utiliser uniquement pour relire ou affiner un texte écrit soi-même
Startup vs big tech
- Les startups sont plus difficiles à trouver, car il n’existe pas de point d’entrée centralisé → le bouche-à-oreille via collègues, amis et anciens collègues reste le meilleur moyen, avec une concurrence souvent moins intense
- Les processus d’entretien varient beaucoup plus dans les startups, alors que la big tech suit des structures plus prévisibles
- Si le processus paraît trop facile, cela peut être un signal sur la complexité réelle du travail
- La nature du travail va dans les deux sens — dans la bonne startup, la recherche peut être plus intéressante et avoir plus d’impact, mais cela peut aussi s’accompagner de plus de pression, de davantage de travail d’infrastructure et de changements fréquents de direction de recherche
- En entretien, il faut poser des questions sur qui fixe les priorités de recherche, la voie de monétisation et les concurrents
- Opportunités de croissance : en startup, progression rapide, élargissement des responsabilités et possibilité de façonner l’orientation du travail ; en big tech, on est davantage un profil parmi beaucoup d’autres
- Visibilité sur le CV : OpenAI ou Anthropic sont immédiatement reconnus, alors qu’une startup furtive peu connue nécessite des explications
- Stabilité de l’emploi : la big tech aussi a connu des vagues répétées de licenciements massifs, donc aucun des deux mondes n’est sûr à 100 %
Rémunération : RSU vs stock options (cas du Royaume-Uni)
- RSU (courantes en big tech) : réception d’actions réelles selon un calendrier de vesting, avec en général environ la moitié vendue immédiatement au moment du vesting pour couvrir l’impôt sur le revenu — les RSU sont imposées comme un revenu
- Stock options (courantes en startup) : on ne reçoit pas des actions, mais le droit d’acheter à un prix fixe X
- Si le prix de marché Y > X, on peut acheter à X puis vendre à Y et capter la différence ; si Y < X, l’option ne vaut rien
- Les stock options expirent souvent 90 jours après le départ, et si l’entreprise n’est pas cotée, il peut être impossible de vendre même après achat
- Au Royaume-Uni, au moment de l’exercice de l’option, l’impôt sur le revenu s’applique sur la différence Y−X alors même qu’aucune somme n’a encore été encaissée
- En cas de départ puis d’exercice après 2 ans dans une société non cotée, il faut supporter avant toute liquidité le coût d’achat (X × nombre d’options) + l’impôt sur le revenu sur (Y−X) × nombre d’options × taux d’imposition
- La plupart proposent une option de cashless exercise, et beaucoup organisent des rachats d’actions internes (liquidity events)
- Mais chaque tour de financement dilue la participation, les gains supplémentaires sont taxés à environ 20 % au titre des plus-values, et la valeur retenue lors d’un liquidity event est inférieure à la valorisation officielle de l’entreprise
- En résumé : si un recruteur présente une rémunération totale incluant l’equity d’une startup, mieux vaut sourire poliment et appliquer une forte décote mentale
Structure des entretiens
- La plupart des entreprises suivent une structure similaire, même si l’importance de chaque étape varie
- Recruiter screen : en général un échange peu stressant, permettant de vérifier l’adéquation du profil au poste et la capacité à expliquer ses propres publications
- Entretiens techniques : constituent la majeure partie du processus, et la préparation y est la plus importante ; selon l’entreprise, il peut y en avoir de 3 à 8
- Coding : style LeetCode, généralement niveau Medium ou Hard
- ML coding/debugging : implémentation de l’attention, écriture d’un backward pass, détection de bugs dans une boucle d’apprentissage
- Connaissances ML : fondamentaux, théorie, ML appliqué, system design
- Entretiens comportementaux : distinguer les questions comportementales classiques des questions orientées recherche (sujets d’intérêt, vision du domaine) ; le ton est plus détendu que dans les entretiens techniques, mais il ne faut pas les sous-estimer
Préparation technique
- C’est la partie la plus essentielle, à ne surtout pas sauter — même d’excellents chercheurs peuvent échouer faute de préparation ; faire du ML tous les jours n’est pas la même chose qu’implémenter de l’attention from scratch, et il faut prévoir au moins un mois d’étude régulière
- Stratégie générale : minimiser la préparation générique et cibler la préparation sur le prochain entretien ou la prochaine entreprise, ce qui permet de garder la matière fraîche en tête
- Les entretiens RS / Engineer peuvent couvrir presque n’importe quoi, des bases comme l’overfitting jusqu’à LeetCode, l’implémentation de transformer, ou des architectures modernes comme Griffin, TransformerXL et S4
Flashcards
- Utiles pour les bases du ML, le ML appliqué et les discussions de recherche ; les cartes physiques ont été plus efficaces qu’Anki
- Rédiger soi-même les cartes représente déjà la moitié de l’apprentissage, il ne faut pas télécharger le deck de quelqu’un d’autre
- Pendant les révisions, se poser soi-même des questions pour viser une compréhension profonde ; beaucoup de questions formulées pendant l’apprentissage sont effectivement tombées en entretien
Entretiens blancs avec des LLM (Claude / Gemini)
- Avant chaque entretien, copier-coller dans un LLM (surtout Claude) la description du poste, de l’entretien et de l’entreprise, puis lui demander de jouer l’entretien ; les recoupements entre les questions d’entraînement et les vraies questions ont été fréquents
- Si le niveau ne convient pas, repartir sur une nouvelle conversation en décrivant plus précisément son niveau et son parcours
- Pour apprendre, Claude a été jugé le meilleur et le plus juste dans ses retours, alors que Gemini avait tendance à trop complimenter
LeetCode / NeetCode
- Faire au minimum Blind 75, éventuellement NeetCode 150, en se concentrant sur les Medium
- Viser la meilleure solution pour chaque problème (une solution TwoSum en O(N²) n’est pas acceptée), et éviter d’investir trop de temps sur les Hard
- Savoir implémenter rapidement les grands schémas de base comme DFS, BFS, graphes, backtracking, DP et binary search, avec un objectif de moins de 20 minutes par Medium
- Si l’on bloque plus de 15 minutes, regarder la solution, marquer le problème et passer au suivant
- La largeur compte plus que la profondeur, avec environ 150 problèmes Medium résolus au total
Livres
- Designing Machine Learning Systems (Chip Huyen) : couvre beaucoup de questions de base et de ML appliqué
- The JAX Scaling Book : découvert après les entretiens, mais excellent ; aurait été utilisé intensivement s’il avait été connu avant
- Reinforcement Learning (Sutton & Barto) : recommandé seulement aux débutants en RL ; trop poussé pour quelqu’un déjà actif dans le domaine
Cours
- Algèbre linéaire : cours YouTube de Gilbert Strang, faisable en une journée en vitesse x2
- Diffusion / Flow Matching : les cours du MIT et de Stanford sont tous deux excellents mais très chargés en mathématiques ; pour quelqu’un qui ne travaille pas déjà sur le sujet, mieux vaut mémoriser l’intuition de base et les points clés comme les SDE de diffusion et les ODE de flow matching
ML coding et debugging
- C’est la zone où les bonnes ressources sont les plus rares et où l’expérience réelle compte le plus ; les entretiens de debugging étaient difficiles à préparer car les LLM ne généraient pas de code buggué crédible de façon fiable
- Relire sa propre base de code ou celle de collègues reste la meilleure option ; DeepML et Tensor Puzzles aident aussi
- Niveau de base visé
- implémenter un transformer de bout en bout
- implémenter causal, cross et self attention
- implémenter flash attention
- implémenter le backward pass de l’attention
- implémenter le forward / backward pass d’un MLP
- implémenter une boucle d’entraînement SGD en PyTorch ou JAX
- Si vous pouvez coder ces éléments vous-même sous contrainte de temps, vous êtes dans un bon état de préparation
Préparation émotionnelle
- Si vous vous sentez déjà bien émotionnellement, mieux vaut sauter cette section pour éviter de créer une anxiété inutile
- Le plus gros problème a été le sommeil — impossibilité de dormir la veille d’un entretien, ce qui devient grave avec 10 entretiens par semaine ; manger devenait aussi difficile, avec des nausées à la clé
- Exercice physique régulier, routine du soir stable et absence d’isolement social sont recommandés
- Courir avant un entretien a aidé à évacuer l’énergie nerveuse et à remettre les idées en place
- Le maintien d’une routine avant entretien a apporté une vraie stabilité — mettre des fleurs fraîches en arrière-plan, se maquiller ou faire son skincare, regarder toujours la même vidéo réconfortante
- À un certain point, l’anxiété gênait davantage que le manque de préparation et il arrivait que l’esprit devienne totalement vide pendant l’entretien
- Mieux vaut réfléchir avant de commencer à ses déclencheurs, à son rapport à l’échec et à ce qui fonde son estime de soi
- Message central : votre valeur en tant qu’être humain n’est pas déterminée par ces entretiens, car le processus est fondamentalement stochastique ; même ce que l’on maîtrise bien peut rater, et ce n’est pas grave
- Livres utiles : The Now Habit, The Gifts of Imperfection, Mindset, The Tyranny of Merit
Préparation logistique
- Un seul entretien par jour : les entretiens épuisent, et les performances baissent naturellement au troisième de la journée ; après un entretien le matin, le reste du temps peut servir à préparer le suivant
- Commencer par les entreprises qui vous intéressent le moins : petites startups ou zones géographiques peu souhaitées, afin de se calibrer sur le processus, la confiance et les niveaux de salaire
- Prendre en compte le timing : chaque entreprise avance à un rythme différent, et il est utile d’essayer de faire arriver les offres à peu près au même moment pour gagner un vrai levier
- Dire à toutes les entreprises qu’il y a d’autres processus en cours : cela clarifie les délais, accélère souvent les choses et renforce l’image d’un candidat sérieux
Négociation
- Contrairement au conseil courant qui consiste à cacher ses offres concurrentes, plusieurs entreprises ont explicitement demandé une preuve des autres offres avant d’augmenter leur proposition, et l’une d’elles a même vérifié l’authenticité d’une capture d’écran
- Une entreprise peut faire fortement bouger les chiffres si elle veut vraiment le candidat, donc cela vaut toujours la peine de demander ; la plupart étaient ouvertes à la négociation
- Les dates limites varient de 1 à 2 semaines à une formulation vague du type « période raisonnable », avec peu de flexibilité pour les prolongations
- Les recruteurs lisent très bien les préférences des candidats ; même de petits signaux comme la fréquence à laquelle une entreprise est mentionnée ou le ton employé sont notés
- Les entreprises disposent de données historiques sur les choix des candidats → seules les offres de concurrents de même niveau (OpenAI, etc.) ont un vrai poids, et les comparaisons peu crédibles ne fonctionnent pas
Processus de décision
- Au début, l’anxiété donnait envie d’accepter rapidement une offre reçue tôt, mais faire confiance à son intuition a permis de trouver de meilleures options
- Les critères de choix d’une offre — localisation, rémunération, prestige, type de travail — varient selon les personnes, et le classement des préférences évolue à mesure qu’on découvre les équipes, la culture et la rémunération
- Des discussions ont eu lieu avec presque toutes les personnes des deux entreprises finales, mais chacune répondait qu’elle choisirait sa propre entreprise, ce qui aidait peu → au final, discuter avec quelqu’un qui vous connaît bien s’est révélé le plus utile
Ce qui serait fait différemment
- Tenir un tableur : tout gérer de tête a ses limites ; suivre les entreprises, les étapes, les échéances et les contacts aurait évité d’oublier de candidater à certains endroits intéressants
- Préparer l’émotionnel autant que le technique : les entretiens peuvent donner l’impression d’être un verdict final sur ses capacités de chercheur et sur la valeur de son doctorat, alors que c’est un cadrage irrationnel ; une réflexion préalable ou un accompagnement aurait aidé
- Être plus proactif avec les entreprises silencieuses : ne pas se contenter du formulaire de candidature, mais envoyer directement des cold emails pour signaler son intérêt et entrer dans leur radar
Liste de sujets techniques
- Liste de sujets d’étude rédigée avant le début des entretiens ; compte tenu du profil, les questions ont surtout porté sur les LLM et la RL, et presque tous les sujets préparés sont tombés au moins une fois
- Reinforcement Learning : Q-Learning / TD Learning, Bellman Equations, PPO, GRPO, GAE, DPO, Policy Gradient Theorem, On/Off-Policy, MuZero, Dreamer, AlphaGo, Soft Actor-Critic, MDP, etc.
- LLMs : Flash Attention, LoRA, TransformerXL, Griffin, Perceiver, Scaling Laws, Mixture of Experts, RoPE, S4, Tokenisation, RLHF, Causal/Cross Attention, etc.
- Generative Modelling : GANs, VAE et ELBO, Score Function, Diffusion Forward/Reverse Process (DDIM/DDPM), Diffusion SDE, Flow Matching ODE, Classifier Free Guidance
- Applied ML : Tensor Parallelism, FSDP, DDP, Pipeline Parallelism, Mixed precision training, Gradient checkpointing/accumulation/clipping, JAX, PyTorch, TensorFlow, etc.
- General ML : Curse of dimensionality, CNN, RNN/LSTM, MLE vs MAP, Bias-Variance Tradeoff, Backprop, BatchNorm/LayerNorm/RMSNorm, Adam/AdamW, KL Divergence, Precision/Recall/F1/AUC-ROC, etc.
- Linear Algebra : Positive Semi-Definite, Jacobian, Eigenvectors/Eigenvalues, Hessian, Null/Image space, Rank/Span, Determinant, etc.
Aucun commentaire pour le moment.