My Authors
Read all threads
Interviewing for a new position is never easy.

Algorithms & Data Structures are usually a pain for candidates, but so can System Design be.

Let me give you 7 steps that will help you to improve your experience in system design interviews.

🧵👇
1) Clarify The Requirements

Ask questions, and a lot of them!

Try to find out what exactly the interviewer expects from you.

Try to narrow it down as far as possible to the exact scope of the problem.

Even if the question is to (re)design an existing system, ask!
2) Define System Interfaces

Define all APIs that the system to design will need.

Explain what each API is for as detailed as possible, so the interviewer can jump in and tell you if you got a requirement wrong.

If you got something wrong, no problem, adjust accordingly.
3) Estimate The Scale Of The System

Give estimates to the scale of the system and communicate them clearly.

Once again, if you got a requirement wrong, the interviewer can tell you, and you can adjust.

If not, the interviewer can better understand your design decisions.
4) Define The Data Model

Define the data model of the system, and define data flows.

Ask how detailed this step should be, and if your interviewer requires it at all.

If it's required, also explain and maybe visualize how data flows between the components of the system.
5) Draw A High-Level Design

Most systems have only a few very important components, that are the core of the system.

Try to identify them and draw boxes for the five most important ones, and visualize their interactions.
6) Design Components In Detail

Explicitly ask if you should focus on specific components for this step.

If not, choose the three most important ones and visualize/explain how they should work and what they should do in detail.

A good interviewer will guide you.
7) Explicitly State Bottlenecks

Every system and every design has its limits.

If there are bottlenecks in your system (and there will always be), state them explicitly.

Give detailed explanations about what affects them, and how you could mitigate them.
Missing some Tweet in this thread? You can try to force a refresh.

Keep Current with Oliver Jumpertz

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!