Free resource

System design interview
template

A repeatable framework for tackling any system design question. Use this template to structure your thinking and communicate clearly.

1

Clarify requirements (5 min)

Don't start designing until you understand the problem. Ask:

  • Functional requirements: What should the system do? Core features vs nice-to-haves.
  • Scale: How many users? Requests per second? Data volume?
  • Consistency vs availability: What's the tolerance for stale data? What happens during failures?
  • Latency: What's acceptable response time?

Pro tip: Write down the requirements as you go. Reference them when making trade-offs later.

2

High-level design (10 min)

Sketch the major components and how they interact:

  • API design: Key endpoints, request/response shapes
  • Data flow: How does data move through the system?
  • Storage: What needs to be persisted? SQL vs NoSQL?
  • Core services: What are the main components?

Client → Load Balancer → API Gateway → Services → Cache → Database

3

Deep dive (15-20 min)

Pick 2-3 areas to explore in detail. Common deep dives:

Database schema

Tables, indexes, partitioning strategy

Caching layer

What to cache, invalidation, eviction

Scaling strategy

Horizontal vs vertical, sharding

Failure handling

Retries, circuit breakers, fallbacks

Pro tip: Let the interviewer guide which areas to explore. They'll often hint at what they want to discuss.

4

Trade-offs & alternatives (5 min)

Show you understand the decisions you made:

  • Why this database? "I chose PostgreSQL for ACID compliance, but Cassandra would give better write throughput if we relax consistency."
  • What would you change at 10x scale? Be ready to evolve the design.
  • What are the failure modes? Single points of failure, blast radius.
5

Wrap up (2 min)

Summarize and invite questions:

  • Recap the key components and data flow
  • Mention areas you'd explore with more time
  • Ask if they'd like to dive deeper into anything

Practice with common topics

URL shortener
Rate limiter
Chat system
News feed
Search autocomplete
Video streaming
Distributed cache
Payment system
Notification service
File storage
Ride sharing
E-commerce

Get real-time help during your interview

Dusky provides this framework automatically during live system design interviews. Think Deeper mode gives you up to 60 seconds of structured reasoning for complex questions.

Download free trial
Dusky

Ready for your next interview?

Download Dusky and walk into every interview with confidence. Your invisible companion is ready when you are.

macOS

macOS 12+ (Monterey or later)

Apple Silicon or Intel

Windows

Windows 10/11 (64-bit)

4GB RAM minimum

Screen recording and microphone permissions required for transcription features.