System design interview questionHardCollaborative System

Design a File Storage Service like Dropbox

Design Dropbox-like file storage: upload/download files, list folders, sync metadata across devices.

Interview scope

Split metadata vs bytes: App + DB for metadata; Object Storage for files; CDN for downloads; Client never talks to DB/object store without App/signed flow.

Functional requirements

  • Upload and download files.
  • List folders / file metadata for a user.
  • Share links or permissions at a basic level (high-level is enough).

Scale and quality goals

  • File bytes belong in object storage — not as BLOBs in your primary SQL for large files.
  • Metadata (name, path, owner, versions) in a database.
  • Uploads/downloads should scale via edge/CDN where possible.

Capacity assumption

Design for this scale

Assume ~10M users, average ~15 GB stored per user → order of ~150 PB total (back-of-envelope). Peak uploads matter for the app path.

Practice more than a diagram

Place components on the Froquiz canvas, connect the data flow, and see which decisions the scenario-specific review finds missing. The full exercise and review unlock with Premium.

Explore Premium