Loading…
While this loads — quick one
Every subscriber must get each event. A queue, or pub/sub?
Loading…
While this loads — quick one
Every subscriber must get each event. A queue, or pub/sub?
Loading the question…
While this loads — quick one
Every subscriber must get each event. A queue, or pub/sub?
System design interview question
Dropbox, Google Drive, OneDrive: “design a file sync service” looks like file upload and turns out to be about three harder things — sending only what changed, telling every other device within seconds, and never losing or mixing up a version. Here is how to walk into it, and then how to practise it until the answer is yours.
Practise File Sync
Free with an account.
A file-sync service keeps a folder identical across a person's laptop, phone and work computer. Files range from small documents to videos of several gigabytes, and people often change a few bytes of a large file and save it again. Re-sending the whole file on every save would waste bandwidth and take far too long on slow connections. When a file changes on one device, the person's other devices should pick up the change within seconds, without each one repeatedly asking the server whether anything is new. The service must know exactly which version of which file every device has, and a file must never be lost or silently mixed with another.
Every phrase that matters in the brief is a requirement in disguise. Spot them before you draw a single box.
“change a few bytes of a large file”
Store files as pieces, so a change re-sends only the pieces that changed.
“without each one repeatedly asking the server whether anything is new”
A connection held open so the server can announce a change.
“know exactly which version of which file every device has”
A transactional record of files, versions and devices.
“a file must never be lost”
Durable storage for every piece.
The same design always gets the same score, with the reason behind every requirement — then defend it against the trade-offs above.
The answers are not on this page on purpose. Build the design, and these are asked — and marked — once it is submitted.
© 2026 PlayCloudLabs. All rights reserved. Not affiliated with Amazon Web Services.