withsoon
N
Requirements2/14

Netflix System Design

Requirements

~5 min read

How to Open a Netflix Design Interview

When asked β€œDesign Netflix”, resist the urge to dive into architecture. Spend the first 3–5 minutes clarifying scope, stating scale, and agreeing on requirements. This signals senior engineering judgment.

Step-by-step opening script

1. Clarify scope

"Are we designing the full streaming platform, or focused on a specific component β€” say playback, recommendations, or content ingestion?"

2. State scale

"Netflix has ~230M subscribers, ~60M peak concurrent streams, roughly 45 Tbps peak egress, and around 260K API requests/second at prime time. I'll design to those numbers."

3. Enumerate functional reqs

"Core features: auth + profiles, browse/search catalog, video playback with DRM and ABR, resume across devices, recommendations, billing, and a content encoding pipeline for ingest."

4. State NFRs and SLOs

"Non-functional: <2s playback start P99, <200ms TTFB from CDN, 99.99% playback availability, >99% CDN cache hit for top titles, ≀8 concurrent streams per account enforced at license time."

5. Flag trade-offs up front

"Watch history and recommendations are eventually consistent. Auth, billing, and concurrency limits need strong consistency. I'll call out each trade-off as I design."

Pro tip: Don't recite requirements from memory. Ask the interviewer which scope they care about before committing to a design area. Flagging consistency and availability trade-offs on every P0 requirement signals senior judgment.

Scale Anchors

Memorise these numbers β€” they anchor every capacity and architecture decision that follows.

Users

230M+

Subscribers

~60M peak concurrent streams

CDN

45 Tbps

Peak Egress

Served via CDN / Open Connect Appliances

API

260K RPS

Peak API RPS

Across all services at prime time

DRM

≀8

Concurrent Streams / Account

Enforced at DRM license issue time

Cassandra

~2M writes/s

Watch-History Write Rate

60M streams Γ— heartbeat every 30s

Encoding

15,000+ titles

Content Library

Each encoded in 1,200+ variants for ABR

Functional Requirements

Grouped by domain. Click a domain to expand its requirements.

RequirementPriorityConsistencyLatency SLOAvailability
User can start video playbackP0Strong<2s startup99.99%
Adaptive bitrate streaming (quality auto-adjusts)P0N/ASeamless99.99%
Pause, resume, seek within videoP0Eventual<200ms99.99%
Resume across devices (continue watching)P0Eventual<500ms99.9%
Subtitle and audio track selectionP1Eventual<300ms99.9%
DRM license validation before playP0Strong<500ms99.99%
Enforce concurrent stream device limitP0Strong<100ms99.99%

Non-Functional Requirements

These are what interviewers test you on in follow-up questions.

CategoryRequirementSLOPriority
Playback StartupVideo starts playing in <2s from click (P99)<2s P99P0
TTFB (First Byte)First video byte delivered from CDN edge within 200ms<200ms P95P0
Search AutocompleteResults shown in <100ms<100ms P95P0
Homepage LoadRecommendations visible within <500ms<500ms P95P0
Playback AvailabilityExisting streams continue during partial outages99.99%P0
Overall Service AvailabilityAuth, catalog, playback APIs remain reachable99.99%P0
CDN Cache HitVideo segments served from edge, not origin>99% top titlesP0
ThroughputSustain peak egress bandwidth across all streams45+ Tbps peakP0
Request RateAPI gateway handles peak global RPS260K RPS peakP0
Concurrent Stream LimitEnforce per-account device concurrency at play time≀8 streams/accountP0
Billing ConsistencySubscription changes reflected immediatelyStrong consistencyP0
Watch History FreshnessResume position synced within 1 heartbeat interval~30s eventualP1
Rec. FreshnessRecommendations reflect recent watches within minutes<5min nearlineP1
Data RetentionEvent data retained for ML training and compliance90 days raw, 2y curatedP1
DRM SecurityContent protected β€” no playback without valid device-bound licenseZero plaintext fallbackP0
Fault ToleranceRecommendation/search failure must not block playbackDegraded, not downP0

What to Skip in a 45-Minute Interview

You can't cover everything. State what you're skipping and why β€” that shows senior judgment.

Skip in 45 min
Full ML recommendation deep dive→ Say 'offline/nearline/online + fallback to trending'
Skip in 45 min
Encoding pipeline details→ Say 'async transcoding job queue, idempotent, state machine'
Skip in 45 min
Security / DRM internals→ Say 'device-bound license, signed CDN URLs, fail closed'
Skip in 45 min
Observability stack detail→ Say 'metrics → dashboards → alerts on playback SLOs'
Skip in 30 min
Data lake Iceberg partitioning→ Say 'Iceberg with event_date partitioning, Spark batch'
πŸ“‹ Say This In Interview
Netflix scale: 230M+ subscribers, ~60M peak concurrent streams, 45 Tbps peak egress, 260K RPS at prime time, ≀8 concurrent streams enforced per account. Functional requirements: auth + profiles, browse/search, playback with DRM and ABR, cross-device resume, recommendations, billing with entitlement, content encoding pipeline, event-driven data platform. Non-functional SLOs: <2s playback start P99, <200ms TTFB from CDN edge P95, 99.99% playback availability, >99% CDN cache hit for top titles, ~30s eventual consistency for watch history, strong consistency for billing and concurrency limits.
Last reviewed June 2026 Β· By Prasoon ParasharNumbers are interview assumptions, not real Netflix internal figures.
Was this tab useful for interview prep?