0
System Design Question
Frequently Asked Questions
Press to expand
OOD (Abstract Problem)
OOD (Realworld Application)
Basic System Component
Distributed Architecture
Data Processing & Analytics
Social Media
Scheduling Service
Transaction Service
Proximity / Trie
Messaging System
Collaborative System
Machine Learning
Security System
Cloud Infrastructure
Miscellaneous
Or Customize Question
Press to expand
Design Online File-sharing System
Practice the Question
Hello, I am bugfree Assistant. Feel free to ask me for any question related to this problem
Fun. / Non-Fun. Requirements
Functional Requirements
Users can upload files of various types (e.g., documents, images, videos).
Users can download files they have access to.
Users can share files by generating shareable links.
File owners can specify access levels for shared links (e.g., view-only, edit).
Option to set expiration dates on shareable links.
Users can manage file permissions (Owner, Editor, Viewer) and modify them after sharing.
Files are stored in a scalable cloud storage system.
Non-Functional Requirements
System should support uploading and downloading large files efficiently (support for chunked uploads/downloads).
The platform should be highly available and reliable.
Data consistency must be maintained for file metadata and permissions.
Access to files and links must be secure (authentication and authorization enforced).
System should scale to support a large number of users and files.
Reasonable response time for file operations (upload, download, sharing).
Audit logging for file access and sharing events.
Traffic Estimation and Data Calculation
API Design
Database Design
High Level Architecture
Detailed Components Design
Trade-off Discussion
Failure Scenario Discussion
System Design Diagrams
High Level Architecture
Request Flow Sequence
API Design
Database Design
Zoom In and Out via trackpad or posture