Strategize Your Career

Strategize Your Career

How to prepare the system design interview

A step-by-step framework to solve this interview + 🎁 Free Notion Template

Fran Soto's avatar
Fran Soto
Dec 31, 2023
∙ Paid

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 behavioral interview.

  • 🤖 How to prepare the coding interview.

  • 🐲 How to prepare the system design interview. (this post).

👉 If this sounds valuable, enter your email to receive the next posts in your inbox


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.

Share Strategize Your Career


The interview framework

This is heavily based on the framework proposed by Alex Hu in his books on System Design.

This post is for paid subscribers

Already a paid subscriber? Sign in
© 2026 Strategize Your Career · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture