Archicise
Exercise

Design a File Storage Service

Build a cloud storage platform similar to Dropbox or Google Drive that allows users to upload, store, and share files.

Functional Requirements

  • Upload and download files of any size (up to 50GB)
  • Organize files in folders with a hierarchical structure
  • Share files/folders with other users or via public links
  • Sync files across multiple devices
  • Maintain file version history

Non-Functional Requirements

  • 99.99% durability (never lose data)
  • Support billions of files and petabytes of storage
  • Fast uploads with resume capability
  • Real-time sync across devices

Questions to Consider

  • How will you handle large file uploads efficiently?
  • What storage architecture ensures durability and cost efficiency?
  • How will you detect and sync changes across devices?
Your Solution

Upload Architecture

Design the file upload flow. Consider chunked uploads, resumable uploads, deduplication, and handling large files efficiently.