1️⃣ What is Netflix solving?
Netflix is a global video streaming platform that:
-
Streams video to millions of users
-
Provides personalized recommendations
-
Works at global scale
Key challenge: High-throughput video delivery with low latency
2️⃣ Core Requirements (Interview Language)
Functional
-
Browse movies & shows
-
Stream video
-
Resume playback
-
Personalized recommendations
Non-Functional
-
Extremely high availability
-
Global low latency
-
Scalability
-
Fault tolerance
3️⃣ High-Level Architecture
Clients
-
Mobile apps
-
Smart TVs
-
Web browsers
Backend Services
-
API Gateway
-
User Service
-
Catalog Service
-
Recommendation Service
-
Playback Service
Video Delivery
-
CDN (Content Delivery Network)
4️⃣ Key Design Concepts (Very Important)
🔹 Video Storage & Streaming
-
Videos stored in cloud storage
-
Delivered via CDN (Netflix Open Connect)
-
Users stream from nearest edge server
🔹 Why CDN?
-
Avoids sending video from central servers
-
Reduces latency
-
Handles massive traffic
🔹 Metadata vs Video
-
Metadata → APIs (titles, thumbnails)
-
Video content → CDN (separate path)
🔹 Recommendations
-
Based on:
-
Watch history
-
User behavior
-
ML models
-
-
Offline batch + online serving
5️⃣ Data Storage (High Level)
-
Cassandra / DynamoDB → user data
-
S3 / Blob Storage → video files
-
Kafka → user events
-
ElasticSearch → search
6️⃣ Typical Interview Flow (How You Say It)
“Netflix separates metadata from video streaming.
APIs serve catalog data, while videos are streamed via a CDN from edge servers.
This allows Netflix to scale globally with low latency and high availability.”
7️⃣ Common Interview Follow-ups
-
Why not stream directly from backend? → Bandwidth & latency
-
How to resume video? → Playback position stored
-
How recommendations scale? → Offline ML pipelines
No comments:
Post a Comment