Entretiens de Codage : Modèles, Plateformes et Pratique
Huit modèles de structures de données, plateformes de codage réelles, approche système-design, et comment l'IA change votre préparation aux entretiens de codage.
Devon Park
Head of Research, Acedly
Ce qu'un entretien de codage teste vraiment (signal vs bruit)
Un entretien de codage n'est pas un examen en algorithmique. L'intervieweur connaît déjà la réponse. Ce qu'il mesure, à peu près dans cet ordre, c'est : le candidat peut-il clarifier un problème ambigu, peut-il choisir une structure de données adaptée aux contraintes, peut-il écrire du code qui se compile et s'exécute du premier coup sur de petites entrées, et peut-il expliquer les compromis sans être défensif quand on le conteste. L'algorithme réel est le plus facile des cinq.
Cela a de l'importance car la plupart des candidats surexploitent le mauvais axe. Ils résolvront quatre cents problèmes LeetCode mais gèlent quand l'intervieweur interrompt en disant « et si l'entrée ne tient pas en mémoire ? » Ils mémorisent la récursion du tri par fusion mais ne peuvent pas dire à haute voix pourquoi c'est n log n au lieu de n au carré. Ils écrivent la solution optimale puis ne peuvent pas corriger une faute de frappe d'un caractère parce qu'ils n'ont jamais dactylographié le problème à partir de zéro dans un vrai éditeur.
Le signal qu'un intervieweur recherche est un petit ensemble de comportements :
- Le candidat reformule le problème avec ses propres mots avant d'écrire quoi que ce soit.
- Le candidat nomme la structure de données qu'il veut utiliser et explique pourquoi avant de la déclarer.
- Le candidat écrit le code à peu près dans l'ordre qu'une personne taperait — pas dans l'ordre qu'un manuel l'imprimerait.
- Le candidat parcourt un petit exemple à la main avant de prétendre qu'il a terminé.
- Le candidat, quand il est contesté, dit « vous avez raison » ou « laissez-moi réfléchir à cela » au lieu de défendre la mauvaise réponse.
Tout dans ce guide est destiné à produire ces cinq comportements. Les motifs, les plateformes, les choix de langue — tout se réduit à : pouvez-vous, sur une machine étrangère, avec quelqu'un qui regarde, démontrer que vous pensez comme un ingénieur plutôt que comme quelqu'un qui a mémorisé des solutions.
Les huit modèles de structures de données qui couvrent ~80 % des questions
Si vous analysez les questions de phone-screen et d'onsite des deux dernières années d'une boucle typique de niveau FAANG et les groupez par approche, les mêmes huit modèles réapparaissent constamment. Les intérioriser est plus précieux que de résoudre deux fois plus de problèmes à l'aveugle, car la reconnaissance des modèles est ce qui vous porte quand la question est formulée d'une manière que vous n'avez jamais vue.
1. Two pointers
Two pointers est la réponse quand le problème concerne un tableau trié, une chaîne ou une liste chaînée, et que vous avez besoin de paires, de partitions ou de réorganisation sur place. Le coût est linéaire par rapport à l'entrée ; la mémoire est constante. Les invites classiques sont « two-sum on a sorted array », « remove duplicates in place », « container with most water » et « is this string a palindrome ». Si le problème dit sorted ou palindrome ou in place, recourez d'abord à two pointers.
Le piège est de ne pas maintenir l'invariant. Chaque fois que les pointeurs se déplacent, vous devriez pouvoir énoncer en une phrase ce qui est vrai entre eux — par exemple, « tout ce qui est à gauche de i n'est pas dupliqué, tout ce qui est à droite de j n'a pas été traité ». Si vous ne pouvez pas articuler l'invariant, votre boucle sera décalée d'un.
2. Sliding window
Sliding window est un proche cousin de two pointers. Utilisez-le quand le problème demande un sous-tableau ou une sous-chaîne contiguës avec une propriété — la plus longue sous-chaîne sans caractères répétés, la plus petite fenêtre contenant toutes les lettres, la somme maximale de taille k. Les deux pointeurs avancent tous les deux ; la fenêtre s'agrandit à droite et se rétrécit à gauche lorsque la propriété est violée. Temps linéaire, espace constant ou limité par l'alphabet.
Le diagnostic réside dans les mots contigu et sous-tableau ou sous-chaîne. L'erreur à éviter est de le traiter comme des boucles imbriquées avec un raccourci — si vous vous trouvez à recalculer les contenus de la fenêtre à partir de zéro à chaque étape, vous êtes retombé à O(n²) et vous avez perdu l'intérêt.
3. BFS and DFS on trees and graphs
La recherche en largeur d'abord est utilisée pour les chemins les plus courts dans les graphes non pondérés, le parcours par niveaux des arbres et tout problème où la réponse dépend de la distance. La recherche en profondeur d'abord est utilisée pour la connectivité, l'ordre topologique, la détection des cycles et la plupart des questions d'arbre récursif. Les deux sont linéaires par rapport à la taille du graphe ou de l'arbre.
Dans une entrevue, le choix est généralement évident à partir d'un mot-clé. Le plus court, nombre minimum d'étapes ou niveau — c'est du BFS avec une file d'attente. Tous les chemins, compter les composants, pouvons-nous atteindre — c'est du DFS avec récursion ou une pile explicite. Devenez suffisamment fluide pour pouvoir écrire la forme itérative des deux sans avoir à y penser.
4. Heap and top-k
Quand la question demande « les k plus grands », « les k plus petits », « la médiane d'un flux » ou « fusionner k listes triées », la réponse est un heap. Un min-heap de taille k résout top-k-largest en O(n log k). Deux heaps — un min-heap de la moitié supérieure et un max-heap de la moitié inférieure — vous donnent une médiane progressive.
La valeur d'entrevue de reconnaître ce modèle réside principalement dans l'explication. Vous devriez pouvoir dire, avant d'écrire du code, « je vais garder un min-heap de taille k ; j'ajoute chaque élément et je supprime quand la taille dépasse k ; à la fin, le heap contient la réponse ». Cette phrase seule est souvent la réponse.
5. Binary search on the answer
La recherche binaire basique — trouver une valeur dans un tableau trié — est rarement demandée désormais parce que tout le monde l'a mémorisée. La variante intéressante est la recherche binaire sur la réponse : quand le problème a un prédicat monotone, faites une recherche binaire sur l'intervalle de réponses possibles et vérifiez la faisabilité à chaque point médian.
Exemples : « diviser ce tableau en k sous-tableaux contigus en minimisant la plus grande somme », « trouver le plus petit nombre de pages qu'un travailleur peut lire pour que tous les livres se terminent en m jours », « minimiser la distance maximale entre les stations-service ». Le modèle est toujours le même — définir un prédicat feasible(x) qui est monotone en x, faire une recherche binaire sur x, et retourner le plus petit ou le plus grand x pour lequel le prédicat tient. Si vous pouvez énoncer le prédicat à haute voix, vous avez la solution.
6. Dynamic programming families
La programmation dynamique est le modèle qui intimide le plus les candidats et c'est aussi celui avec la taxonomie la plus propre. La plupart des problèmes DP entrent dans l'une des cinq familles :
- État unidimensionnel — climbing stairs, house robber, variantes de Fibonacci. L'état est un seul index ; la récurrence dépend d'un nombre constant d'états précédents.
- Grille bidimensionnelle — unique paths, minimum path sum, edit distance, longest common subsequence. L'état est une paire d'indices.
- Knapsack — 0/1 knapsack, subset sum, coin change. L'état est « éléments considérés jusqu'à présent × capacité restante ».
- Interval DP — burst balloons, matrix-chain multiplication, palindrome partitioning. L'état est une paire d'indices définissant une plage.
- DP on trees — house robber III, longest path in a binary tree. La récurrence est sur les résultats de sous-arbres combinés au parent.
Si vous pouvez identifier la famille dans les trente premières secondes, la récurrence est généralement mécanique. Le piège est de sauter directement au code — écrivez d'abord la récurrence sur le tableau blanc, puis le cas de base, puis l'ordre d'itération, puis le code. Inversez ceci et vous passerez le reste du tour à corriger les bogues.
7. Backtracking
Le backtracking est la force brute à laquelle vous recourez quand le problème demande toutes les solutions — toutes les permutations, toutes les combinaisons, tous les sous-ensembles, tous les tableaux Sudoku valides, toutes les façons de partitionner une chaîne en palindromes, N-queens, word search. La structure est récursive : essayez un choix, faites un appel récursif, annulez le choix, essayez le suivant.
Les deux compétences que l'intervieweur recherche sont l'élagage et l'étape d'annulation. L'élagage est la différence entre l'exponentiel et le simplement grand ; l'annulation est la différence entre correct et un bug subtil. Déclarez toujours avant de coder : « Je fais un choix, j'appelle récursivement, puis j'annule en remontant. » Si vous oubliez d'annuler, vous corromprez silencieusement l'état pour la branche suivante.
8. Motifs de traversée de graphe
Au-delà du BFS et DFS simples, deux motifs de graphe surgissent assez souvent pour mériter leur propre place. Tri topologique — pour les problèmes de type course-schedule avec des prérequis, des délais et la résolution des dépendances. Les deux implémentations sont l'algorithme de Kahn avec les degrés entrants et une file d'attente, et un parcours DFS en post-ordre. L'un ou l'autre convient ; choisissez celui que vous pouvez écrire sans y penser.
Union-find (ensemble disjoint) — pour les questions de connectivité, la détection d'arête redondante, le nombre de provinces, la fusion de comptes, et la plupart des problèmes « ces deux nœuds sont-ils dans le même composant ». Avec la compression de chemin et union par rang, le coût amorti est effectivement constant par opération. Mémorisez l'implémentation de huit lignes ; vous l'utiliserez plus que vous ne l'espérez.
Ensemble, ces huit motifs — deux pointeurs, fenêtre glissante, BFS/DFS, top-k du heap, recherche binaire sur la réponse, familles de DP, backtracking, et tri topologique plus union-find — couvrent environ quatre-vingts pour cent de chaque épreuve de codage que vous verrez. Les vingt pour cent restants sont surtout des tries, des arbres de segments et de la manipulation de bits, qui valent la peine d'être connus mais apparaissent rarement dans un entretien d'une heure.
Complexité temporelle, correctement : comment parler de Big-O au tableau blanc
La plupart des candidats peuvent réciter que l'insertion dans une hash-map est O(1) et que le merge-sort est O(n log n). Bien moins nombreux sont ceux qui peuvent faire ce qui compte vraiment en entretien : dériver la complexité du code devant eux, à haute voix, sans hésiter.
La procédure mécanique est :
- Identifiez les boucles et les récursions. Une seule boucle sur l'entrée est O(n). Deux boucles imbriquées sur la même entrée est O(n²). Une boucle avec une étape de division par deux est O(log n). Une récursion qui se divise en deux et effectue un travail linéaire à chaque niveau est O(n log n).
- Multipliez par imbrication, additionnez en séquence. Une boucle contenant une recherche dans une hash-map est O(n) au total, pas O(n²). Une boucle suivie d'un tri est O(n + n log n) = O(n log n).
- Énoncez le terme dominant. O(n + log n) est O(n). O(n² + n) est O(n²). Éliminez les termes d'ordre inférieur et les facteurs constants.
- Énoncez séparément l'espace. La mémoire auxiliaire est ce que votre code alloue au-delà de l'entrée. Une récursion a un espace de pile ; une hash-map a un espace O(n) ; un tri sur place est O(1) supplémentaire.
Pratiquez cela à haute voix. Le signe d'un candidat expérimenté est qu'il dit « c'est O(n log n) en temps et O(n) d'espace supplémentaire, dominé par le tri et le tableau auxiliaire » avant que l'interviewer ne pose la question. Le dire en premier signale la confiance ; le dire après, sur un ton défensif, signale que vous devinez.
Quand l'interviewer conteste — et cela arrive souvent, surtout sur le facteur constant — la bonne approche est d'engager une discussion sur le point spécifique plutôt que de réciter l'asymptotique à nouveau. « C'est vrai, le facteur constant ici est important parce que chaque comparaison effectue une copie de chaîne ; si nous précompilons les clés, le facteur constant baisse d'environ k » est une bonne réponse. « Eh bien, asymptotiquement c'est toujours O(n log n) » est une mauvaise.
Plateformes de codage en direct : où les entretiens ont lieu réellement
Les recruteurs en 2026 distribuent les tours de codage sur environ sept plateformes. Chacune a ses propres particularités ; l'éditeur qui semble naturel sur l'une est lent sur une autre. S'entraîner uniquement dans votre IDE est une erreur — les particularités de la plateforme affecteront vos performances lors d'une épreuve décisive.
- LeetCode est le plus grand corpus de problèmes et la chose la plus proche d'une langue commune partagée pour les questions d'entretien. L'éditeur convient aux problèmes courts, moins aux longs ; le testeur est rapide ; les fils de discussion sont une source sous-estimée de reconnaissance de motifs.
- HackerRank est ce que la plupart des grandes entreprises utilisent pour leur premier test technique — entreprises de la finance, du conseil et de la technologie traditionnelle. Sa couverture de langages est large, mais son éditeur est plus lourd et les cas de test sont plus exigeants sur l'analyse des entrées.
- Coderpad est le sandbox de collaboration en direct que la plupart des entreprises modernes de logiciels utilisent pendant l'entretien réel. Il prend en charge l'exécution au fur et à mesure pour de nombreux langages et dispose d'un outil de dessin intégré pour les discussions sur la conception de systèmes.
- CodeSignal exécute l'évaluation générale du codage que plusieurs grands employeurs utilisent comme un score standardisé unique. Ses problèmes sont chronométrés et variés ; le rythme est la compétence principale.
- InterviewBit a un parcours sélectionné de problèmes organisés par sujet, ce qui facilite l'entraînement intensif sur un seul motif à la fois. L'éditeur est plus proche de LeetCode que de Coderpad.
- HackerEarth est largement utilisée en Inde et par les entreprises qui embauchent à l'échelle mondiale ; la qualité des problèmes varie mais la plateforme est fiable.
- Codility est la plateforme de choix pour plusieurs entreprises européennes ; la suite de tests est opaque (vous ne voyez pas toujours quel cas a échoué), ce qui en fait un proxy utile pour l'exercice de raisonnement sur les cas limites sans le filet de sécurité d'un débogueur.
Pratiquez sur au moins deux de ces plateformes avant tout entretien réel. Utilisez-en une pour l'ampleur (LeetCode) et une pour l'expérience d'un éditeur partagé en direct (Coderpad). Le coût cognitif de la plateforme elle-même devrait approcher zéro au moment où vous êtes assis dans une véritable épreuve.
Les langages à privilégier : comment choisir le bon
Vous n'avez pas besoin de connaître douze langages pour bien vous préparer à un entretien technique. Vous avez besoin d'un langage dans lequel vous pensez, et d'une compréhension suffisante d'un ou deux autres pour pouvoir les lire. Voici la liste honnête, à peu près dans l'ordre que la plupart des candidats devraient envisager.
- Python est le langage par défaut. Syntaxe concise, bibliothèque standard complète (
collections.Counter,heapq,bisect), sans code superflu, et un environnement d'exécution indulgent. Recommandé sauf si le rôle exige spécifiquement autre chose. - JavaScript et TypeScript conviennent aux rôles front-end et full-stack. JavaScript a une syntaxe conviviale pour les entretiens ; TypeScript ajoute les types mais vous ralentit légèrement parce que le compilateur fait des remarques. Choisissez TypeScript uniquement si le rôle demande explicitement des types.
- Java est le choix sûr pour les rôles backend dans les grandes entreprises et pour toute entreprise où l'interviewer est susceptible d'écrire lui-même en Java. La verbosité est un prix à payer ; le système de types détecte les erreurs que Python ne détectera pas.
- C++ est le bon choix pour les rôles systèmes, infrastructure et moteurs de jeu, et pour les entreprises où l'interviewer s'attend à voir des itérateurs et
std::priority_queue. L'arithmétique des pointeurs et l'absence de garbage collection vous donnent plus d'occasions de vous tromper sous la pression du temps. - Go est de plus en plus courant pour les rôles infrastructure backend et DevOps. L'évaluation lors de l'entretien porte principalement sur les questions de concurrence ; si vous pouvez écrire une implémentation correcte du modèle producteur-consommateur avec les goroutines et les canaux, vous démontrez que vous comprenez le langage.
- Rust est rare dans les entretiens mais apparaît plus souvent dans les entreprises orientées systèmes. Le problème du borrow-checker est bien réel ; ne choisissez pas Rust pour un entretien sauf si vous avez spécifiquement pratiqué avec.
- Kotlin est le bon choix pour Android et un nombre croissant de rôles backend JVM ; la syntaxe est plus conviviale que celle de Java et la bibliothèque standard est plus proche de celle de Python.
- Ruby est rare en dehors des entreprises fortement orientées Rails ; choisissez-le uniquement si le rôle l'utilise.
- SQL est sa propre discipline et apparaît dans les entretiens d'ingénierie de données et d'analyse. Les fonctions de fenêtre, les expressions de table commune, et la différence entre
WHEREetHAVINGsont les points de différenciation constants. - PHP apparaît toujours dans les entreprises avec des installations WordPress ou Drupal matures ; rarement le bon choix pour un entretien sauf si le rôle l'exige.
- Scala apparaît dans les entreprises de plateforme de données (Spark, Akka). Les fonctionnalités fonctionnelles sont puissantes dans les réponses d'entretien mais uniquement si vous en maîtrisez déjà bien la syntaxe.
La plus grande erreur que les candidats font avec le langage est de changer sous la pression. Si vous avez passé six mois à vous entraîner intensivement en Python, ne changez pas vers Java le matin de l'entretien parce que vous pensez que l'entreprise « préfère » Java. Ils préfèrent du code fonctionnant correctement dans l'un des langages pris en charge. Utilisez celui que vous maîtrisez.
Rounds de conception de système : un cadre simple pour la préparation au codage
Pour les boucles de codage senior, la conception de système est l'autre moitié du round. La structure de 45 minutes — clarifier, estimer, vue d'ensemble, plongée profonde, compromis — est la même quel que soit le rôle, et les attentes changent radicalement selon le niveau : L3 obtient souvent une conception orientée objet (parking, distributeur automatique) ; L4 une véritable question de systèmes distribués (URL shortener, rate limiter) ; L5+ l'attente senior que vous menez le round et énoncez les compromis sans être questionnés.
L'échelle complète des niveaux, le squelette à cinq composants, et la liste de lecture recommandée (System Design Interview d'Alex Xu et Designing Data-Intensive Applications de Kleppmann) se trouvent dans notre guide d'entretien d'ingénieur logiciel. Pour la préparation axée sur le codage, traitez la conception de système comme le pilier qui vient après la maîtrise des motifs de conception : les motifs et Big-O sont des fondamentaux ; la conception de système est ce qui distingue le signal senior du signal de niveau intermédiaire, et elle doit être entraînée différemment — en écrivant des cas d'étude, pas en tapant du code.
Comment l'IA transforme la préparation aux entretiens de codage
L'IA apporte une contribution précieuse à la préparation des entretiens de codage, mais aussi discrète : elle vous offre un relecteur infatigable capable d'examiner la solution que vous venez d'écrire, d'identifier le bug, de le classer selon l'un des huit patterns et de générer une question de suivi dans la même famille.
Trois usages concrets méritent votre attention :
Exercices de reconnaissance de patterns. Collez un énoncé de problème dans un modèle et demandez-vous, avant de continuer la lecture, « quel est le pattern parmi les huit, et pourquoi ? » Comparez la réponse du modèle avec la vôtre. Après cinquante problèmes, votre réflexe de reconnaissance de patterns sera bien plus aiguisé que si vous aviez résolu deux fois plus de problèmes sans cette étape de méta-réflexion.
Code review sur vos propres solutions. Une fois votre solution soumise, demandez au modèle de critiquer le code comme le ferait un senior en code review. Posez précisément : y a-t-il des edge cases que j'ai ratés ? Le nommage des variables est-il clair ? Y a-t-il une formule sur une ligne qui obscurcit la logique ? La complexité temporelle correspond-elle aux contraintes ? Les critiques honnêtes dépassent le réflexe « super boulot ! ».
Assistance en direct pendant les vrais entretiens. C'est pour quoi Acedly a été créé : le recruteur sur Zoom pose la question, l'assistant la transcrit, identifie le pattern, rédige un plan d'approche basé sur votre CV, et l'affiche sur un écran que l'interviewer ne peut pas voir — généralement en moins de deux cents millisecondes. L'assistant n'écrit pas le code à votre place ; il vous présente le bon pattern et la bonne structure de départ pour que votre capacité cognitive soit consacrée à taper la solution plutôt qu'à vous souvenir si c'est une sliding window ou deux pointeurs.
L'erreur commise dans ces trois cas est de laisser le modèle penser à votre place. Les exercices fonctionnent parce que vous vous engagez d'abord sur une réponse, puis vous vérifiez ; la code review fonctionne parce que vous avez déjà écrit le code ; l'assistance en direct fonctionne parce que vous avez déjà travaillé les patterns et n'avez besoin que d'une indication pour déclencher le rappel. Mal utilisée, l'IA remplace votre cerveau. Bien utilisée, elle externalise la gestion administrative de sorte que votre cerveau soit libre de faire ce qu'il fait vraiment bien.
Préparation assistée par IA vs entraînement LeetCode vs plateformes de mock interviews vs manuels
La plupart des candidats combinent ces quatre approches. La question n'est pas laquelle est la meilleure — c'est quel mélange correspond à vos faiblesses. Voici la comparaison honnête.
| Feature | Préparation assistée par IA | Entraînement LeetCode | Plateformes de mock interviews | Manuels (CLRS, EPI) |
|---|---|---|---|---|
| Meilleur pour | Reconnaissance de patterns, code review, assistance en direct | Volume et largeur | Pression temporelle et explication verbale | Fondations, preuves et profondeur |
| Temps jusqu'au premier signal utile | Même session | Après ~50 problèmes | Après 2–3 mocks | Plusieurs semaines |
| Identifie les points faibles | Oui, en classifiant les erreurs | Seulement par intuition | Oui, via le retour de l'interviewer | Non (lecture passive) |
| Développe la capacité à expliquer à voix haute | Partielle (basée sur du texte) | Faible | Forte | Aucune |
| Développe la capacité à taper rapidement sur une plateforme étrangère | Indirect | Forte | Forte | Aucune |
| Coût | Abonnement (souvent <50 $/mois) | Gratuit ou LeetCode Premium | Frais par mock, souvent 50–150 $ | Coût du livre, temps |
| Risque | Dépendance excessive, sauter l'étape de saisie | Cécité aux patterns par apprentissage par cœur | Le style de coaching varie | Lent, facile à survoler |
La recette combinée que la plupart des ingénieurs en activité adoptent est : des manuels pour les fondations en lecture lente, LeetCode pour le volume pendant les trajets et les blocs de weekend, la relecture assistée par IA pour la reconnaissance de patterns et l'identification des bugs, et un petit nombre de mocks payants dans les deux semaines précédant une vraie série d'entretiens. Aucun de ces éléments seul ne suffit ; le mélange est le point clé.
Un calendrier de préparation de quatre semaines qui fonctionne vraiment
Si vous avez quatre semaines avant une série d'entrevues, le calendrier ci-dessous est une allocation viable. Ce n'est pas la seule, mais il a la bonne structure — les motifs d'abord, la maîtrise de la plateforme ensuite, la conception de systèmes en troisième, les simulations en dernier.
- Semaine 1 — motifs. Deux heures par jour. Choisissez un des huit motifs chaque jour ouvrable. Résolvez cinq problèmes de niveau moyen dans ce motif. Écrivez un post-mortem d'une phrase pour chacun. À la fin de la semaine, vous devriez pouvoir reconnaître chaque motif à la première lecture.
- Semaine 2 — maîtrise du langage sur les plateformes. Abandonnez la variété. Résolvez quinze problèmes sur LeetCode et dix sur la plateforme que l'entreprise utilise réellement (HackerRank, Coderpad ou CodeSignal). La compétence à entraîner est la vitesse de frappe et la familiarité avec l'éditeur, pas l'algorithme.
- Semaine 3 — conception de systèmes. Consacrez quarante-cinq minutes par session, chaque jour ouvrable, à une question de conception différente. Utilisez la structure à cinq phases chaque fois. Enregistrez-vous ; réécoutez-vous. Les trois premiers sont mauvais. À partir du cinquième, la structure commence à sembler automatique.
- Semaine 4 — simulations et repos. Deux simulations payantes dans la première moitié de la semaine. La deuxième moitié : repos. Des problèmes plus légers, une révision de la conception de systèmes, du sommeil. Ne faites pas de bachotage dans les dernières quarante-huit heures ; le rendement marginal est négatif.
Ajustez les poids à vos propres lacunes. Si vous avez huit ans d'expérience en conception de systèmes et peu de répétitions sur LeetCode, permutez les semaines une et trois. Si vous êtes en début de carrière avec une solide formation en informatique, doublez la semaine de maîtrise de la plateforme. La constante est la semaine de repos — chaque candidat sous-estime l'importance du sommeil dans les dernières quarante-huit heures.