Colloquio di system design: Progetta Netflix

"Progetta Netflix" è un problema dominato dalla lettura, governato da un unico fatto: servire video a scala globale è molto più un problema di distribuzione dei contenuti e di archiviazione che di calcolo. L'intervistatore vuole vederti separare il control plane (navigazione, ricerca, raccomandazioni) dal data plane (lo streaming effettivo dei byte) e ragionare su come consegnare petabyte vicino agli utenti.

Affrontalo in ordine: chiarisci i requisiti, stima la scala, progetta la pipeline di upload/transcodifica, poi il percorso di riproduzione tramite una CDN, e chiudi con il bitrate adattivo e i trade-off. La guida qui sotto segue questa struttura così puoi allenare il ragionamento, non memorizzare un'architettura.

1. Chiarire i requisiti

Separa il funzionale dal non funzionale e delimita con precisione. Il nucleo è: gli utenti navigano in un catalogo e guardano video senza interruzioni su dispositivi e condizioni di rete diversi.

  • Funzionale: navigare/cercare nel catalogo, avviare la riproduzione, qualità adattiva, riprendere da dove si era interrotto, multi-dispositivo.
  • Non funzionale: disponibilità molto alta, bassa latenza di avvio, riproduzione fluida (senza rebuffering), portata globale.
  • Fuori ambito (dillo esplicitamente): i dettagli interni del ML di raccomandazione, la fatturazione, i dettagli DRM — menzionali e rinviali.

2. Stimare la scala

I numeri giustificano un design CDN-first. Supponi centinaia di milioni di abbonati e molti milioni di stream simultanei al picco. Un singolo stream consuma diversi Mbps, quindi l'uscita aggregata raggiunge decine di terabit al secondo — impossibile servirla da pochi data center centrali, il che motiva immediatamente il caching all'edge.

3. Pipeline di ingestione e transcodifica

I master caricati vengono elaborati offline, non sul percorso di riproduzione. Ogni titolo viene transcodificato in molte rendition — diverse risoluzioni e bitrate — e segmentato in piccoli pezzi (pochi secondi ciascuno) per lo streaming adattivo.

  • Farm di transcodifica: converte il master in rendition H.264/H.265/AV1 a diversi bitrate; è un lavoro batch estremamente parallelizzabile.
  • Segmentazione e packaging: divide ogni rendition in segmenti brevi con un manifest (HLS/DASH) che li descrive.
  • Salva gli output in object storage (tipo S3) come fonte di verità, poi spinge i contenuti popolari verso l'edge.

4. CDN e percorso di riproduzione

La riproduzione viene servita dall'edge, non dall'origin. I segmenti video vengono memorizzati in cache su nodi CDN fisicamente vicini agli utenti (Netflix gestisce i propri apparati Open Connect all'interno degli ISP). Il client recupera il manifest e poi preleva i segmenti dal nodo edge sano più vicino.

Il control plane (catalogo, ricerca, profili utente, 'continua a guardare') è un insieme separato di servizi API stateless, supportati dai propri database e cache — restituisce metadati e un URL del manifest, e è completamente disaccoppiato dalla consegna pesante dei byte.

  • Cache edge (CDN/Open Connect): serve la grande maggioranza dei byte; pre-posiziona i titoli popolari per regione prima che si manifesti la domanda.
  • Archiviazione origin: object store che supporta i cache miss.
  • API del control plane: catalogo, autorizzazione alla riproduzione, segnalibri — payload piccoli, scalati orizzontalmente, con cache davanti.

5. Streaming a bitrate adattivo

La riproduzione fluida sotto reti variabili viene dal client, non dal server. Il player monitora il throughput e il livello del buffer, e cambia la qualità del segmento su o giù tra i segmenti usando l'elenco delle rendition del manifest — bitrate più alto su connessioni veloci, più basso per evitare il rebuffering su quelle lente.

6. Trade-off da esprimere a voce

Chiudi sulle tensioni che un intervistatore ascolta: il costo di archiviazione del precalcolo di tutte le rendition contro la latenza della transcodifica al volo (Netflix precalcola — l'archiviazione è più economica del ritardo di avvio); cache-everything contro cache-popular all'edge (un catalogo a lunga coda non può vivere interamente in ogni edge); e coerenza forte contro eventuale per dati del control plane come 'continua a guardare' (eventuale va bene). Nominare questo è ciò che rende la risposta senior.

Allenati nel system design di Netflix con aiuto in tempo reale

L'assistente per colloqui di system design di Natively può mantenerti strutturato durante un colloquio dal vivo — suggerendo la prossima dimensione da trattare e mostrando i trade-off in tempo reale, tutto sul tuo stesso dispositivo.

Put it on your own machine.

A live-conversation assistant that runs locally. Nothing leaves your machine.

macOS 12+ · Windows 10/11

© 2026 Natively AI Private Limited

Source-available under the Natively Personal Use Source License v1.0 · IP geolocation by DB-IP