System Design Visualized
Lesson 3.3

Step 1: Understand the problem and establish the design scope

Play this lessonThis lesson comes with an interactive animation you can break and a chapter quiz.

Jumping straight into a solution is a big red flag. Slow down. Think deeply and ask questions to clarify requirements and assumptions. If you're asked to make assumptions, write them down.

Good questions to ask:

  • What specific features are we building?
  • How many users does the product have?
  • How fast does the company expect to scale up? What's the scale in 3 months, 6 months, a year?
  • What's the company's technology stack? What existing services could we reuse?

Watch an example conversation for "Design a news feed system". Notice how every answer becomes a written requirement.

Key takeaways

  • Never start designing before you understand the scope.
  • Turn every answer into a written requirement.

Remember it, then prove it

Create a free account to save your progress, get spaced-repetition reviews of what you miss, and design real systems in the interview simulator.

Start free