How to prepare for a System Design interview

Recently I participated on a roleplay session during which I got ask to “build” a system, pick technical solutions, adapt them to constraints and explain my choices.

Posted in Watch

September 14, 2021 - 2 min read

Picture of the booking system architecture I designed.
Picture of the booking system architecture I designed.

During the call I used Excalidraw an online tool for drawings. The interviewers were seeking to understand my technical decisions and justifications for them. Also, how I communicate, collaborate together to reach a solution, and how pragmatic I was with my approach.

How did I prepare for this? Where should I start?

Well, my first approach was to look up for youtube videos of people talking about this topic and this is what I found.

After watching this I felt way much more confident about the goal of the session, and I lerned on which direction should I focus the conversation. Hopefully it helps you as well.

Systems Design Interview Concepts (for software engineers / full-stack web)

In this video, we discuss load balancing, CDNs, database replication, sharding, caching layers, database schema and indexes, distributed filesystems, and other ways to scale an application.

Front-End System Design Interview Guide

My own guide of Front-End System Design Interview.

  1. Understand what it is
  2. Decide the scope that suits
  3. Assumptions on background
  4. Big Picture
  5. Key challenges, bottleneck (smoothness & speed)
  6. Trade-off, alternatives, TODO1. Understand what it is
  7. Decide the scope that suits
  8. Assumptions on background
  9. Big Picture
  10. Key challenges, bottleneck (smoothness & speed)
  11. Trade-off, alternatives, TODO
— Thank you Landish for this one! ❤️

System Design Mock Interview: Design TikTok ft. Google TPM

In this interview, Adam (Google Technical Program Manager) a system design interview question of designing Tiktok, commonly asked in software engineering and technical program management (TPM) interviews.