Problem statement
Design a file sync and share service (think a cross-device personal cloud drive) that keeps a user's files identical across all their devices and lets them share folders with others. A desktop agent watches a local folder, a mobile app syncs on demand, and a web client browses everything.
Operating context. Roughly 20 million users, 4 devices each, holding on the order of 30 billion files and 400 TB of blob data. Sync is write-bursty but read-modest: about 40k file-change events/sec at peak (a save, a rename, a large photo import), while most reads are metadata listings, not full downloads. Files skew small (median ~40 KB) with a long tail of multi-GB media; edits are usually tiny diffs to large files. Clients are frequently offline (laptops sleep, phones lose signal) and must reconcile a backlog on reconnect. The change-notification path should feel live: a save on one device shows up on another in p99 < 2 s while both are online.
Out of scope. End-to-end encryption and key management, real-time collaborative editing (operational transforms / CRDT co-authoring), server-side full-text search of file contents, billing and quota enforcement, and admin/compliance retention policy. Assume other teams own those.
What to produce. A high-level architecture covering: the split between a metadata service and a blob store; how the client chunks files and uploads only changed chunks (delta sync) while deduplicating identical chunks across users; how many devices editing the same file concurrently are reconciled into versions without silent data loss; how a change on one device is pushed to the others; how an offline client catches up on reconnect without re-scanning everything; and how prior versions are retained and restored. Sketch the major components and the request flow for an upload, a download, and a conflicting concurrent edit; we will probe specifics at the checkpoints.
Requirements
This assessment is a Premium feature.
The statement above is free to read. The functional and non-functional requirements, and the graded canvas that scores your design against them, come with Premium.
Topics
- System Design HLD
- Data Blob
- Scaling Write-Heavy
- Reliability Idempotency
- Realtime Websocket