How to Prepare

Build a Foundation

  1. Understand what a frontend system design interview is: there is a high chance you have never done one before. Many people have not, and that is fine. Start by reading the Introduction.
  2. System design interviews move fast. It's important that you have a clear roadmap to help you think linearly and avoid scope creep. I strongly recommend my Delivery Framework. This is the framework you'll follow to design your system come interview day.
  3. If you're new to system design in particular, you'll want to start by learning the basics and mapping out the scope of knowledge required. Start by reading about the Core Concepts used in system design interviews. They help you build the mental model necessary to build upon.

Practice

Once you have the foundation in place, it's time to practice. Passively consuming content is good, but you'll retain 10x more information by actually doing it.

  1. Choose a question: pick one from the list of common questions.
  2. Read the requirements: understand the requirements of the system you'll need to design.
  3. Try to work out all the possible questions an interviewer could ask about this system, and draw them all out on Excalidraw.
  4. Read the answer: only after you have tried the question yourself, read the answer to see how your answer compares and how I am thinking about that same system.
  5. Put your knowledge to the test: once you've done a few questions and are feeling comfortable, try to give mock interviews. If you can't do a mock, give interviews at companies that are not your target companies, just for practice. Once you feel confident, give an interview at your target company.