Skip to main content
Suggested topics to review based on your interview timeline (short, medium, long).

Do I need to know everything here?

A: No, you don’t need to know everything here to prepare for the interview.What you are asked in an interview depends on variables such as:
  • How much experience you have
  • What your technical background is
  • What positions you are interviewing for
  • Which companies you are interviewing with
  • Luck
More experienced candidates are generally expected to know more about system design. Architects or team leads might be expected to know more than individual contributors. Top tech companies are likely to have one or more design interview rounds.
Start broad and go deeper in a few areas. It helps to know a little about various key system design topics.
Adjust the following guide based on your timeline, experience, what positions you are interviewing for, and which companies you are interviewing with.

Timeline-based approach

Short timeline

Aim for breadth with system design topics. Practice by solving some interview questions.

Medium timeline

Aim for breadth and some depth with system design topics. Practice by solving many interview questions.

Long timeline

Aim for breadth and more depth with system design topics. Practice by solving most interview questions.

Study plan by timeline

TopicShortMediumLong
Read through the System design topics to get a broad understanding of how systems work
Read through a few articles in the Company engineering blogs for the companies you are interviewing with
Read through a few Real world architectures
Review How to approach a system design interview question
Work through System design interview questions with solutionsSomeManyMost
Work through Object-oriented design interview questions with solutionsSomeManyMost
Review Additional system design interview questionsSomeManyMost

Key topics to cover

System design topics

Start with fundamentals: scalability, performance, latency, throughput, availability, and consistency

Real world architectures

Study how major companies architect their systems at scale

Interview questions

Practice with real system design interview questions and solutions

Company blogs

Read engineering blogs from companies you’re interviewing with

System design topics: start here

New to system design? First, you’ll need a basic understanding of common principles, learning about what they are, how they are used, and their pros and cons.

Step 1: Review the scalability video lecture

Scalability Lecture at Harvard Topics covered:
  • Vertical scaling
  • Horizontal scaling
  • Caching
  • Load balancing
  • Database replication
  • Database partitioning

Step 2: Review the scalability article

Scalability Topics covered:

Next steps

Next, we’ll look at high-level trade-offs:
  • Performance vs scalability
  • Latency vs throughput
  • Availability vs consistency
Keep in mind that everything is a trade-off.
Then we’ll dive into more specific topics such as DNS, CDNs, and load balancers.

Build docs developers (and LLMs) love