System designInterview preparation
Intermediate·Concept·2 min read

How should I start a system design answer?

Practice this question

Definition:

System design is the process of choosing components, data flows and trade-offs that meet a product's requirements. It starts with what users need and the scale and failure conditions the system must handle. A design is easier to evaluate when assumptions are explicit instead of hidden behind a list of technologies.

Key points:

  • Ask about users, main actions, traffic, data size and response-time needs.

  • Clarify which data must be immediately correct and what can be delayed.

  • Draw the simplest working flow, then discuss bottlenecks and failures.

  • Estimate the busiest operations and data growth using the given numbers, then identify where correctness is more important than low latency.

Interview point:

  • State assumptions aloud and revise the design when a requirement changes; the reasoning matters more than a familiar diagram.
Adapted from 07_SYSTEM_DESIGN_ARCHITECTURE.md · “How should I start a system design answer?”. Code examples are study fragments. Difficulty and core labels are editorial estimates; version-specific behavior should be checked against your project.