This question evaluates a candidate's competency in distributed systems and storage architecture, covering metadata schema design, concurrency control for atomic per-directory limits and renaming, transaction boundaries and idempotency, storage models for file bytes, large-file handling, consistency and failure modes, scalability and partitioning, observability, lifecycle management, and security. It is in the System Design domain and is commonly asked because it reveals how a candidate reasons about architectural trade-offs and practical implementation concerns; it tests both high-level conceptual design and hands-on practical application.
Design a production-grade file storage service with the following APIs, semantics, and constraints.
Assume a single logical namespace with a root directory and multi-tenant users. You may add minimal endpoints (e.g., upload sessions) to make large-file handling realistic.
Login required