Una Rubrica di System Design Interview Che Non Premia i Buzzword
Il problema dei buzzword
Un candidato che dice "metteremmo una cache Redis davanti, sharding per user ID, Kafka per l'event bus, e lo faremmo girare su Kubernetes" suona senior. Potrebbero essere senior. Potrebbero anche aver memorizzato un video di YouTube. Una rubrica che premia i buzzword non può fare la differenza.
La soluzione è di premiare il ragionamento tra le parole, non le parole stesse.
Cinque dimensioni di rubrica che meritano punteggio
1. Chiarimento dei requisiti
Il candidato ha fatto domande prima di disegnare? "Qual è il rapporto lettura/scrittura? Quanti utenti? Qual è il budget di latenza? Cosa succede in modalità fallimento X?" Un ingegnere senior tratta il prompt come ambiguo. Un junior lo tratta come una spec.
Punteggio: Il candidato ha scoperto almeno un vincolo che cambia in modo significativo il design?
2. Articolazione dei trade-off
Per ogni scelta di componente — caching, sharding, modello di consistenza — il candidato ha nominato il trade-off? "Postgres va bene qui perché il volume di scrittura è basso e vogliamo transazioni" batte "useremmo Postgres" anche se la risposta è identica.
Punteggio: Numero di scelte di design accompagnate da un'alternativa dichiarata e un motivo della scelta.
3. Ragionamento su modalità di fallimento
Cosa succede quando il cluster cache cade? Quando la message queue è in ritardo? Quando il leader fallisce? Gli ingegneri senior anticipano il fallimento. Gli ingegneri meno esperti progettano solo il percorso felice.
Punteggio: Il candidato ha identificato la modalità di fallimento più probabile del sistema senza sollecitazione?
4. Consapevolezza di costi e operazioni
Un design che costa $40k/mese per un progetto secondario è sbagliato. Un design che richiede una rotazione oncall 24/7 per una feature con 100 utenti è sbagliato. La consapevolezza dei costi — denaro, complessità, headcount — separa gli ingegneri che hanno fatto girare sistemi da quelli che li hanno solo progettati su carta.
Punteggio: Il candidato ha ragionato sui costi o il carico operazionale senza sollecitazione?
5. Comunicazione sotto correzione
Quando spingete — "aspetta, ma se X?" — il candidato si aggiorna con grazia, si difende ragionevolmente, o va in panico? Tutti e tre sono segnali. Aggiornarsi con grazia è quello che volete. Difendere una posizione su cui avete pensato va bene. Andare in panico e ruotare selvaggiamente non è buono.
Punteggio: Qualità della risposta a una spinta mirata.
Come usarla
- Punteggio ogni dimensione 1–4 con ancore su cosa assomiglia ogni livello.
- Punteggio indipendentemente prima di fare debrief con altri intervistatori.
- Inviate la rubrica prima di leggere il punteggio di chiunque altro. I report di colloquio di ClarityHire bloccano la rubrica così non può essere modificata dopo aver visto i punteggi dei colleghi.
- Pesate le dimensioni al ruolo. Un loop di staff-engineer dovrebbe pesare il ragionamento delle modalità di fallimento e la consapevolezza dei costi; un loop senior può pesare l'articolazione dei trade-off di più.
La rubrica non previene un candidato memorizzato dal passare. Non permette a un candidato memorizzato di passare facilmente — e questo è la maggior parte del valore.