Member-only story
How to Prepare for Your Next System Design Interview
My preparation strategy for system design interviews with Silicon Valley companies
In software engineering, system design defines the components, modules, interfaces, and data for a system to meet specified requirements. Most companies do not ask system design to freshers. However, when I was interviewing for a Full-Time Software Engineer role, a few companies had system design interview rounds.
In this blog post, I will talk about the various type of system design interviews and how I prepared for them.
What Is a System Design Interview?
Typically system design interviews test candidates on their technical depth and allow them to prove their expertise in the field through real-life application of knowledge.
Some companies test you on HLD or high-level design which have questions like design Facebook or WhatsApp and you are expected to come up with the architecture.
Some ask LLD or low-level design in which you are expected to design modules and classes in a detailed manner. Some commonly asked LLD questions are Design a Parking Lot or Design a Banking Management system.
Another, third type of system design is when the interviewer asks you to design an extension of a project you have already done. Since it does not have a name, let’s name it experience related design or ERD. For example, if you’ve built a library management system for your school, the interviewer might ask you about the design decisions that you made.
Regardless of what type of interview you have HLD, LLD or ERD, the interviewer wants to test your thought process, problem-solving skills and technical knowledge.
ERD or Experience Related Design
This type of interview is my favourite as it focuses on your past experiences. They ask you questions about your work experience or an extension of a project you have done. Let me walk you through a sample question that I was asked at an interview.
Example Project From My Resume:
Built a timetable management system in Flask. The…