Interview Practice
Read aloud is unavailable in this browser. Reading preferences still work.

Notes

DropBox

1 min read

Clarify Requirements and Goals of the System

What do we wish to achieve from a Cloud Storage system? Here are the top-level requirements for our system:

  • Users should be able to upload and download their files/photos from any device. Users should be able to share files or folders with other users.
  • Our service should support automatic synchronization between devices, i.e., after updating a file on one device, it should get synchronized on all devices.
  • The system should support storing large files up to a GB.
  • ACID-ity is required. Atomicity, Consistency, Isolation and Durability of all file operations should be guaranteed.
  • Our system should support offline editing. Users should be able to add/delete/modify files while offline, and as soon as they come online, all their changes should be synced to the remote servers and other online devices.
Save a specific section