Design a video streaming platform similar to YouTube that supports uploading, transcoding, and streaming videos at scale.
Scale requirements: - 500 million daily active users - 5 million video uploads per day - Average video size: 200 MB, average length: 5 minutes - Support multiple resolutions (360p, 720p, 1080p, 4K) - 99.9% availability for video playback
Areas to cover: 1. Video upload and transcoding pipeline 2. Content delivery and adaptive bitrate streaming 3. Video metadata storage and search 4. Recommendation feed generation 5. View counting and analytics
Constraints: - Minimize buffering latency to under 2 seconds for playback start - Handle regional content delivery efficiently - Support resumable uploads for large files
How to approach it
- Hint 1
Start with the upload pipeline: how do you accept large files reliably, where do they go before and after transcoding, and what triggers the transcoding workflow?
- Hint 2
Think about CDN architecture: how does adaptive bitrate streaming (HLS/DASH) work, how do you decide which edge nodes cache which content, and how do you handle cache invalidation?
- Hint 3
Consider the read-heavy nature: how do you serve metadata at scale, handle hot videos vs long-tail content differently, and manage view count accuracy vs performance tradeoffs?
Ready to answer it out loud?
Record your answer in 1:30 and Preptile scores it 1–10 with specifics — what landed, what you skipped, and what to say next time.
Practising needs an invite code. Join the waitlist and we’ll send you one.