System Design interview question

How should you approach a system design interview?

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.

Walk into your next interview prepared

Start free, install the Windows app and run a practice session today.