Design a Netflix-like video streaming service
Company: Meta
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Onsite
## System Design Prompt
Design a large-scale video streaming platform similar to Netflix.
### Core user journeys
1. Users browse a catalog (home page rows, search).
2. Users press play and stream video reliably.
3. Continue watching across devices.
4. Recommendations/personalization (high level is fine).
### Business/technical goals
- Low startup time (time-to-first-frame), minimal buffering.
- High availability globally.
- Support multiple devices and network conditions.
- Handle large catalog and high QPS during peak.
### Clarifications you may assume
- Both VOD (video on demand) and trailers.
- Subscription-based access (no ads required unless you choose).
- DRM is required at a basic level.
### What to cover
- High-level architecture and key components.
- Data model / APIs (at least playback + catalog).
- Storage/encoding/packaging pipeline.
- Content delivery strategy (CDN, caching).
- Scalability, reliability, monitoring, and tradeoffs.
Quick Answer: This question evaluates competency in designing large-scale streaming platforms, focusing on distributed systems, content storage and encoding pipelines, CDN-based content delivery, playback and catalog APIs, DRM, scalability, availability, and monitoring.