Lesson 15 of 16
39. Design File Storage and Sync (Google Drive / Dropbox)

Sources

3 min read+10 XP

Source notes

  • Dropbox splitting files into chunks of up to 4 MB hashed with SHA-256, and the de-duplication side channel: Martin Mulazzani et al., "Dark Clouds on the Horizon: Using Cloud Storage as Attack Vector and Online Slack Space", USENIX Security 2011. Checked 2026-10-08.
  • Amazon S3 multipart upload limits (parts from 5 MiB to 5 GiB, at most 10,000 parts): Amazon S3 User Guide, "Amazon S3 multipart upload limits". Checked 2026-10-08.
  • Content-defined chunking with rolling hashes: Athicha Muthitacharoen, Benjie Chen and David Mazières, "A Low-bandwidth Network File System" (LBFS), SOSP 2001.
  • Dropbox metadata on sharded MySQL: Dropbox engineering blog posts on its metadata storage.
  • All user, storage and change-rate numbers are interview assumptions agreed in Step 1, not figures for any real service. Arithmetic computed 2026-10-08.
  • Fixed vs content-defined chunking, content-addressed de-duplication, versioned commits with conflicted copies, journal cursors and presigned URLs: tested 2026-10-08 (code/ch39_file_sync.py, all checks pass).