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.
- Take a walk before the interview to clear your mind and get your brain working.
- Don’t try to make friends with the interviewer, just focus on solving the problem.
- 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.
- Identify what makes your system challenging (the core puzzle) and discuss relevant trade-offs.
- Pause at significant milestones to check if the interviewer has questions or feedback. Don’t speak non-stop.
- Ask if it’s okay to do the back-of-the-envelope (BOE) calculation later if needed.
- On the BOE use quick numbers:
- 1MB or 1M -> 1e6
- 10M -> 1e7
- 1 day -> 86400 sec -> close to 100,000 sec -> 1e5
- For example, QPS for 10M posts/day: 1e7/1e5 = 100 posts/sec
- Connect your story and technical choices to your requirements and numbers.
- Get a working high-level design down quickly (10 mins), leaving time for deep-dives and follow-up questions.
- Make notes of everything discussed. The interviewer might not have time to write feedback right after the interview and may forget some things.
- 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:
- Practice a drawing tool you will be using in the interview.
- 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 hellointerview.com.
Good luck!