Un entretien de system design n'est pas un test de dessin, mais c'est souvent sur le dessin que l'on perd discrètement la partie. Vous commencez par une jolie boîte pour le client, et trente minutes plus tard le tableau est un fouillis de flèches croisées, avec trois éléments étiquetés « service » et une base de données dessinée deux fois. L'examinateur décroche, et dès qu'il ne suit plus, il n'est plus convaincu.
La solution n'est pas de mieux dessiner sous pression. Elle consiste à dessiner dans un ordre fixe, que vous avez répété, afin que le schéma se construise tout seul pendant que votre attention reste sur les compromis dont vous parlez. Voici l'ordre qui fonctionne, et comment faire en sorte que chaque étape prenne quelques secondes au lieu de plusieurs minutes.
Le livrable n'est pas le diagramme, c'est la conversation.
Les examinateurs ne notent pas vos rectangles. Ils observent si vous savez prendre une consigne floue, la découper en composants et raisonner sur ce qui casse en premier. Le diagramme sert à garder cette conversation lisible, pour vous deux, en temps réel. L'objectif est donc un schéma toujours lisible, jamais un schéma terminé. Si le tableau est clair à chaque instant, vous pouvez vous permettre d'être lent et réfléchi dans vos paroles.
Cela implique deux règles avant de dessiner quoi que ce soit. Parlez en dessinant, jamais en silence. Et ne redessinez jamais : déplacez et prolongez ce qui existe déjà. Les deux deviennent bien plus faciles quand l'outil garde vos flèches propres à votre place, et c'est toute la raison de dessiner sur un vrai canevas plutôt que dans un document partagé.
Commencez par le chemin de la requête
Chaque conception a une colonne vertébrale : ce qui arrive à une requête depuis l'instant où un utilisateur l'envoie. Dessinez-la d'abord, de gauche à droite, avant même de prononcer le mot « scalabilité ». Le client, la périphérie, ce qui répond, ce qui mémorise. Cinq boîtes et quatre flèches, et vous avez déjà de quoi discuter.
Remarquez qu'il n'y a encore rien d'astucieux ici, et c'est justement le but. Vous avez donné à l'examinateur un vocabulaire commun. Désormais, chaque décision de mise à l'échelle est une petite modification visible d'un schéma que vous comprenez déjà tous les deux, au lieu d'un nouveau dessin qu'il faudrait commenter depuis le début.
Faites-le évoluer en direct, un goulot d'étranglement à la fois
La partie intéressante de l'entretien, c'est ce que vous ajoutez quand les chiffres grossissent, et l'astuce est de l'ajouter à sa place sur la colonne vertébrale, en expliquant pourquoi au fil de l'eau. Vous ne décorez pas : vous répondez à une contrainte précise. Parcourez le chemin de la requête et demandez-vous ce qui tombe en premier.
- Les lectures dominent ? Placez des réplicas en lecture derrière la base de données et un cache devant. Dessinez le cache comme un détour depuis la boîte API, pas comme un nouvel arrêt sur la ligne principale.
- Des pics d'écriture ? Ajoutez une file d'attente après l'API et un worker derrière, pour que le travail lent se fasse hors du chemin de la requête. Le diagramme montre alors le synchrone et l'asynchrone comme deux formes clairement différentes.
- Une seule région ne suffit pas ? Entourez toute la colonne vertébrale d'une boîte, nommez-la région et dupliquez-la. La réplication et le basculement ont soudain une place où vivre.
- Une table trop sollicitée ? Découpez la boîte de la base de données en shards et dites un mot de la clé de sharding. Cette seule modification porte toute une conversation.
Les grands diagrammes de system design ne se dessinent pas. Ils se cultivent, une décision visible à la fois.
Restez lisible pendant que vous parlez
Si les tableaux finissent en nœuds, c'est parce que les flèches sont tracées en ligne droite à travers tout ce qui se trouve sur leur passage. Sur un vrai canevas, vous pouvez vous appuyer sur l'outil. Utilisez des connecteurs intelligents pour qu'une nouvelle flèche contourne les boîtes existantes au lieu de les traverser, et le schéma reste propre même en se remplissant. Regroupez les éléments qui vont ensemble (la région, la voie asynchrone, la couche de données) dans des conteneurs nommés, afin que l'examinateur voie la structure et pas seulement les pièces. Quand vous renommez un composant, faites-le une seule fois et laissez chaque référence suivre.
Il ne s'agit pas d'être pointilleux. Il s'agit de récupérer les secondes que vous passeriez sinon à vous excuser du désordre, et de les consacrer à la réponse.
Répétez l'ordre, pas le dessin
Vous ne pouvez pas prévoir la consigne, mais vous pouvez prévoir la forme de votre réponse : la colonne vertébrale d'abord, puis les goulots d'étranglement dans l'ordre où ils se manifestent, puis une frontière autour de l'ensemble. Répétez cette séquence une dizaine de fois sur le même canevas et elle devient un automatisme, exactement ce qu'il vous faut quand la salle est silencieuse et que l'horloge résonne. Les candidats qui ont l'air calmes ne dessinent pas plus vite. Ils dessinent dans un ordre qu'ils ont déjà pratiqué.
Ouvrez un canevas vierge, dessinez la colonne vertébrale à cinq boîtes et commencez à ajouter de la pression. Dès le troisième entraînement, le diagramme suivra votre réflexion au lieu de la combattre.