Skip to main content

System design interview checklist

  1. Clarify the top three user actions and explicit exclusions.
  2. Rank latency, availability, consistency, durability, security, and cost.
  3. Estimate peak traffic, storage growth, and bandwidth.
  4. Define important APIs and data entities.
  5. Draw one complete request path before adding optimizations.
  6. Deep-dive into the system's unique bottleneck.
  7. Discuss failure modes, observability, and alternatives.
  8. Finish by summarizing decisions and trade-offs.

Prefer a complete simple design over an impressive collection of components that do not connect.