System design : l'étape clé pour seniors
Pour un Senior Engineer, un Staff ou un Principal, le system design est souvent l'étape la plus discriminante. Là où le live coding évalue la capacité à écrire du code propre, le system design évalue la capacité à prendre des décisions architecturales sous contraintes business, scale et équipe. C'est l'étape qui révèle vraiment la séniorité.
Le format standard
60 à 90 minutes, pas de code, juste un tableau blanc (physique ou digital). Le candidat doit concevoir un système à partir d'un énoncé volontairement flou : "Conçois Twitter", "Conçois un système de ride-sharing comme Uber", "Conçois un cache distribué".
Les 5 étapes d'un bon system design
- Clarification (5 min) : requirements fonctionnels, non-fonctionnels, contraintes. Un senior pose 8 à 12 questions avant de dessiner.
- Estimation (5 min) : back-of-envelope calculations. DAU, QPS, storage, bandwidth.
- High-level design (15-20 min) : composants principaux, APIs, data model grossier.
- Deep dive (20-30 min) : zoom sur 1-2 composants critiques. Trade-offs : CP vs AP, sharding, caching strategy.
- Bottlenecks & scaling (10-15 min) : identifier les goulots, proposer des évolutions.
Ce que vous cherchez
- Questions intelligentes en phase 1 : un candidat qui se lance dans le design sans clarifier est junior.
- Capacité à exprimer des trade-offs : "On peut faire A qui a X avantages, ou B qui a Y avantages. Selon le contexte je choisirais..."
- Pragmatisme : ne pas sur-architecturer pour 100k users. Un senior commence petit et scale.
- Gestion des failure modes : que se passe-t-il quand Redis tombe ? Quand le réseau segmente ?
Red flags
- Saute l'étape clarification.
- Utilise des buzzwords sans comprendre (microservices / Kubernetes / event sourcing partout).
- Ne peut pas estimer des ordres de grandeur.
- Fige ses choix sans reconsidérer quand vous challengez.
Grille de notation
Notez sur 4 axes /5 : Clarification, Design à haut niveau, Deep dive technique, Communication. Un profil Senior doit être ≥ 3/5 partout et ≥ 4/5 sur 2 axes. Un profil Staff doit être 4/5 partout.
Les problèmes adaptés selon le niveau
- Senior : URL shortener, chat system, file sharing.
- Staff : Twitter timeline, payment system, video streaming.
- Principal : distributed transaction coordinator, global CDN, message broker.
Ressources pour vos interviewers
Livres de référence : Designing Data-Intensive Applications (Kleppmann), System Design Interview (Alex Xu). Formez vos interviewers : un interviewer mal calibré est aussi problématique qu'un candidat médiocre.
Structurer votre process tech avec Rocket4RPO
Nous vous aidons à professionnaliser vos entretiens system design. Échangeons.