withsoon
withsoon/System Design/Netflix Data EngineeringFOUNDATION

Requirements

Group requirements by domain, show scale anchors, and separate real-time, batch, and governance expectations.

View Backend Track

Chapter

2 / 17

On this page

Scope + pro tip

FOUNDATIONChapter 28 min

Turn business questions into freshness, correctness, and SLA contracts.

I group requirements by data domain, then map each one to freshness, correctness, consumers, and the tables or streams that answer it.

FOUNDATION8 minTurn business questions into freshness, correctness, and SLA contracts.

Quick jumps

Click to jump

Monthly users

200M-250M

Docs use both 200M+ and 250M assumptions

Daily active users

80M

Used for heartbeat and Kafka math

Peak concurrency

15M

Useful for QoE and live ops workloads

What to clarify first

Map business questions to data outputs

Clarify what the data platform must produce, how fresh it must be, and which trade-offs matter.

Pro tip

Scope Netflix as a data platform.

Design events β†’ ingestion β†’ processing β†’ lakehouse β†’ serving. Skip playback APIs, CDN routing, and DRM internals unless the interviewer explicitly asks.

6 business metrics that drive the entire platform design

Watch Hours

Daily Gold + near-real-time approximation+

Content Performance

Hourly Gold+

Trending Titles

5–15 minutes+

QoE Metrics

Seconds to 5 minutes+

Recommendation Feedback

Hourly+

Experiment Metrics

Daily+
Scale anchors

Anchor the discussion with scale numbers

Each number should connect to a design decision β€” Kafka partitions, streaming parallelism, or storage layout.

Monthly users

200M-250M

Docs use both 200M+ and 250M assumptions

Daily active users

80M

Used for heartbeat and Kafka math

Peak concurrency

15M

Useful for QoE and live ops workloads

Heartbeat events/day

19.2B

80M DAU x 2h x heartbeat every 30s

Peak ingest

1M-2M events/s

Peak multiplier applied to total events/sec

Raw data/day

50-100 TB

Playback, browse, search, errors, CDN, billing, CDC

Requirement domains

Group requirements by domain, not by table type

Playback, QoE, recommendations, experiments, and governance map directly to the data pipelines you will design.

Requirement-to-pipeline mapper

Click a requirement on the left to highlight its flow.

P0

How many hours were streamed per title?

Freshness SLA

Near real-time + daily final

Correctness need

Very high

Consumer

Gold table + BI dashboard

Domain

User Engagement Analytics

1

video.heartbeat

2

Kafka playback.heartbeat.raw

3

Flink watch-time aggregator

4

silver.fact_watch_session

5

gold.rpt_content_daily_metrics

6

BI dashboard

Freshness SLA timeline β€” where each metric sits

< 1 min
1–15 min
Hourly
Daily
QoE alerts
Fraud / anomaly detection
Playback error spikes
Active sessions
Trending titles
Regional playback health
Recommendation feedback
Content engagement
Experiment exposure
Watch hours (official)
Billing reconciliation
Executive reporting
ML training datasets

Ask these clarifying questions first

1

Are we designing for real-time dashboards, ML features, or both?

2

What is the expected freshness for the most latency-sensitive consumer?

3

Do we need to support replay and correction of historical data?

4

Is there a compliance or data-retention policy I should design around?

5

What is the primary consumer β€” BI analysts, on-call engineers, or ML models?

6

Should I design for one region or multi-region with data sovereignty constraints?

DE non-functional requirements

Kafka ingestion 99.99%, critical streaming pipelines 99.9%, BI warehouse 99.5%+

No event loss for critical events, exactly-once or idempotent writes, and replay-safe correction paths

Correct watch-time calculation, deduplication, sessionization, and stream-vs-batch reconciliation

PII hashing or tokenization, encryption in transit and at rest, RBAC, row/column policies, and audit logs

GDPR deletes, regional residency, retention policies, and late-arriving data handling built into the platform

Common interview mistake

Jumping to tools (Kafka, Flink, Iceberg) before stating freshness requirements and business consumers. Interviewers want to see that you know why you need near-real-time before you name a streaming engine.

What to skip in a 45-min interview

Skip compliance details, multi-region specifics, and advanced governance unless the interviewer asks. Cover freshness, correctness, replay, and one failure mode per layer instead.

SLA matrix

Freshness and non-functional requirements

DE interviews care about freshness, correctness, replay, and quality SLAs just as much as raw throughput.

Freshness ladder

Live concurrent viewer dashboard

5 seconds to 1 minute

Trending content detection

1 to 5 minutes

Fraud or anomaly alerting

Seconds to 1 minute

Resume watching position

Sub-second to a few seconds

Real-time recommendation features

Seconds to minutes

Daily content performance report

Available by morning

Monthly revenue report

Hours acceptable

ML training dataset

Daily or every few hours

DE non-functional requirements

Kafka ingestion 99.99%, critical streaming pipelines 99.9%, BI warehouse 99.5%+

No event loss for critical events, exactly-once or idempotent writes, and replay-safe correction paths

Correct watch-time calculation, deduplication, sessionization, and stream-vs-batch reconciliation

PII hashing or tokenization, encryption in transit and at rest, RBAC, row/column policies, and audit logs

GDPR deletes, regional residency, retention policies, and late-arriving data handling built into the platform

Say this

Requirements framing in interview language

Open requirements with domain, consumer, freshness, and correctness β€” not a feature list.

Say This In Interview

I group requirements by data domain, then map each one to freshness, correctness, consumers, and the tables or streams that answer it.

Last reviewed June 2026 Β· By Prasoon Parashar

Numbers are interview assumptions, not real Netflix internal figures.

Was this tab useful?