17. Youtube

Hard

Design a video sharing platform like youtube

Functional Requirements
  • Users should be able to upload videos
  • Users should be able to view videos
  • Users should be able to engage with posts through likes and comments
Nonfunctional Requirements
  • Video uploading should be smooth
  • Videos should be supported in a variety of qualities
  • Highly available
  • Low latency streaming
Assumptions
  • Average video size: 100mb
  • Qualities to support: 144p, 360p, 480p, 720p, 1080p
  • All videos are public
Estimated Usage
  • 5% of videos receive 99.9% of views
  • 1 video is uploaded per 100 users per day
  • Each users watches 4 videos per day
  • 500 million DAU

Seen this question in a real interview before?

Not all editor features are supported on mobile