How to prepare the system design interview
A step-by-step framework to solve this interview + đ Free Notion Template
Get the free AI Agent Building Blocks ebook when you subscribe.
Entry-level roles donât have this interview and your knowledge from your time as a student is not relevant or itâs forgotten. Most people are afraid of it because they are self-taught in System Design.
Welcome to the guide all software engineers need to ace the system design interview at FAANG companies.
This is the last post in my 4 post series Iâm writing about the technical interview for software engineers.
đşď¸ How to prepare the technical interview (Contains an explanation of my study framework)
đ˛ How to prepare the system design interview. (this post).
The preparation framework
This is the planning to do before grinding problems.
1) Understand the mindset of this interview
When we talk about âDesigning Youtubeâ, you wonât design it with all its complexity.
I can tell you from working on Amazonâs Search page. Thereâs no way you define a system at this scale in your 1-hour interview.
The goal of the interview is to show you understand common patterns in real-world applications.
2) Identify patterns
Because a 1-hour interview is not enough to get into details of a particular platform, even when using the name of a platform as the title, the problem youâll solve is a generic pattern.
As an example, designing the home page of YouTube (with all video miniatures) is the same kind of problem as designing a Twitter feed, Instagram feed, or TikTok feed. Itâs a âsocial media feedâ problem.
Another group could be designing Glovo, designing Uber, designing Google Maps⌠They are âSpatial dataâ problems.
When finding resources and solutions, donât get frustrated because you donât find anyone solving âDesign Instagram Storiesâ, because itâs the same problem conceptually as âDesign Snapchatâ.
Check the đ Notion template for a list of problems with their groups. Itâs interesting to think about the problems separately because each app you design has its particularities.
3) Identify your gaps
You may have worked all your life with regular 3-tier web applications with a frontend app, the backend API, and the Database.
If I ask you: âDesign the upload workflow for Youtubeâ or âDesign Twitchâ, youâll be blocked. You never worked with video processing.
Now is when you want to go through the groups of problems and identify what you donât have any idea about.
For me most of these were completely unknown and I had to study them from scratch. Thatâs fine. You donât need to become a master of all, you need to understand what elements come into play
4) Collect resources for study and practice
In the example above, if you have a gap in video processing, Iâd still not recommend you to study in-depth video processing workflows.
The goal of the interview is not to show you are an expert in an area unless the position you interview for is about it. Focus on the breadth of these patterns of problems rather than depth.
From the resources in this post, pick the resources for theory and practice that you need the most.
The interview framework
This is heavily based on the framework proposed by Alex Hu in his books on System Design.



