System Design Interview Tips

Below are the system design interview tips that might not be obvious or commonly mentioned. These tips helped me pass my job interview, and I hope they will help you to pass yours.

  1. Take a walk before the interview to clear your mind and get your brain working.
  2. Don’t try to make friends with the interviewer, just focus on solving the problem.
  3. When defining functional and non-functional requirements, don’t pause to verify each assumption with the interviewer. Instead, write down everything you think is correct and verify it all together. This saves time and shows confidence.
  4. Identify what makes your system challenging (the core puzzle) and discuss relevant trade-offs.
  5. Pause at significant milestones to check if the interviewer has questions or feedback. Don’t speak non-stop.
  6. Ask if it’s okay to do the back-of-the-envelope (BOE) calculation later if needed.
  7. On the BOE use quick numbers:
    1. 1MB or 1M -> 1e6
    2. 10M -> 1e7
    3. 1 day -> 86400 sec -> close to 100,000 sec -> 1e5
    4. For example, QPS for 10M posts/day: 1e7/1e5 = 100 posts/sec
  8. Connect your story and technical choices to your requirements and numbers.
  9. Get a working high-level design down quickly (10 mins), leaving time for deep-dives and follow-up questions.
  10. Make notes of everything discussed. The interviewer might not have time to write feedback right after the interview and may forget some things.
  11. Your biggest enemy might not be your technical skills, but managing your time effectively. You only have around 35 mins, so use them wisely.

Before your interview date:

  1. Practice a drawing tool you will be using in the interview.
  2. Practice with someone who interviews candidates at Big Tech. You will see how you will be evaluated in a real interview and get detailed feedback. I recommend

Good luck!