All problems (16)
System Design courseSystem Design Problems

0%

0/16 done

Practice

System Design Problems

The 16 most important system design interview problems, 6 LLD and 10 HLD, grouped by the idea each one teaches. Each goes from requirements to a working design: diagrams, code or architecture, failure cases, trade-offs and the follow-up questions interviewers ask.

New to system design? Learn the concepts first in the System Design course →

How every problem is solved

Low Level Design · 6 problems

Classes, patterns and code for one well-scoped system.

  1. 01Problem introduction
  2. 02Problem statement
  3. 03Requirements
  4. 04Core entities
  5. 05Diagrams
  6. 06Design principles
  7. 07Design patterns
  8. 08Complete solution in Go
  9. 09The other five languages
  10. 10Testing
  11. 11Design review
  12. 12Interview questions
Start with Design a Parking Lot →

High Level Design · 10 problems

Whole architectures that serve millions of users.

  1. 01Problem introduction
  2. 02Problem statement
  3. 03Requirements
  4. 04Capacity estimation
  5. 05API design
  6. 06Database design
  7. 07Architecture
  8. 08Request lifecycle
  9. 09Component deep dive
  10. 10Scaling, 100 to 10M users
  11. 11Failure scenarios
  12. 12Reliability and observability
  13. 13Security
  14. 14Trade-offs
  15. 15Final architecture
  16. 16Interview discussion
Start with Design a URL Shortener →

Three ways to work a problem

Learn

The full write-up: requirements, diagrams, step-by-step reasoning, the solution, tests and a design review. For learning an idea from scratch.

Practice

Only the brief at first: statement, requirements, constraints and what to hand in. Design it yourself, open hints one by one, and reveal the solution when you're ready.

Interviewcoming soon

A timed mock round: one question at a time, follow-ups that push on your assumptions, and an honest evaluation at the end.