Short answer
Clarify requirements and scale first, then sketch a simple end-to-end design, then deepen the parts that matter. A reliable flow is: functional and non-functional requirements, capacity estimates, API design, data model, high-level architecture, deep dives on bottlenecks, and finally trade-offs, failure modes and how you would monitor the system.
A 45-minute plan
- 5 minutes — requirements, users, scale and what is out of scope.
- 5 minutes — estimates: requests per second, storage, read/write ratio.
- 10 minutes — APIs, data model and high-level components.
- 15 minutes — deep dives: caching, partitioning, queues, consistency.
- 10 minutes — bottlenecks, failure handling, monitoring and trade-offs.
What interviewers look for
They evaluate how you reason, not whether you reach a “correct” architecture. State assumptions, explain why you choose each component and be explicit about what you are trading away.
How to answer it in an interview
- Keep a running list of assumptions visible to the interviewer.
- Start simple; add complexity only when a requirement demands it.