System design interview questionHardDistributed Architecture

Design a Video-on-Demand Platform like YouTube or Netflix

Design YouTube/Netflix-style VOD: upload video, process it, and stream playback to many viewers via CDN — not a live ingest path.

Interview scope

Upload: Client → Gateway/LB → App → Object Storage + DB; Queue for transcode workers. Watch: Client → CDN (and CDN → Object Storage). No Client → DB for video bytes.

Functional requirements

  • Upload a video and track processing status.
  • Store metadata (title, owner, thumbnails pointers).
  • Viewers play encoded segments via CDN/edge.

Scale and quality goals

  • Viewer egress must scale via CDN, not one App Server.
  • Heavy bytes live in Object Storage.
  • Transcoding is async (queue + workers).

Capacity assumption

Design for this scale

Assume ~5M video views/day peak hours push multi-Gbps egress — CDN + object storage are mandatory.

Practice more than a diagram

Place components on the Froquiz canvas, connect the data flow, and see which decisions the scenario-specific review finds missing. The full exercise and review unlock with Premium.

Explore Premium