5 System Design Interview Tips

Photo by Mark Rabe on Unsplash

Use a whiteboard

Use a whiteboard or an online analog, to explain your ideas. This will give interviewers a better sense of your thoughts. It’s very difficult to follow if you just saying that a server will connect to a database… Which one? Where? Make it clear.

Establish the design scope

Every system has its own scope and a good realization depends on it. Ask interviewers about the number of users and critical conditions of the system. Does consistency, availability, or partition tolerance matter in this case?

Photo by Brett Jordan on Unsplash

Ask questions

Always ask for clarification. Do not assume your assumption is correct. It’s very important in the Software Developer’s work to align in conditions of the system. You should be able to see a bit wider and ask how the system should behave in the different cases. Interviewers are looking for this, show them you can do it.

Don’t dive deep too early

First, propose a high-level design and discuss it with the interviewers. Is it what they are looking for? They’ll ask you questions about system parts and you then can dive deeper. This way it’s easier don’t do a mistake, show yourself and get the offer.

Use back-of-the-envelope estimation

Two of the same systems with 1000 and 1 million users would have a different architecture. If there is an amount of server traffic or other numbers use back-of-the-envelope calculation to make a rough calculation. It will help you to understand your task better.

Don’t you know what is a back-of-the-envelope calculation? Follow me, I’ll do a post about it.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store



Software Developer, +12 years coding. Bachelors in CompSci.