Pro-tip: Focus on developing an understanding!
Interview Prep | Low Level Design Roadmap
If you are someone with more than a year of experience, you are expected to have some level of understanding of low level designs.
Your response to a LLD question is expected to have parity with the number of years of experience you have.
What is a Low-Level Design interview?
Book definition - During a low level design round you are assessed upon readable, maintainable, and extensible. You are expected to use OOPs and design patterns on real world problems (Ex: Design Instagram, parking garage)
Points to note
- Showcase OOPs skills
- Can you analyze a product in a short time, and what is required?
Ex: For a movie theater system, you need to realize that the location of the theater should be factored into your design. In order to show the users which theater is nearest to them. - There is no complete solution. Even to date, companies like Meta and Twitter are improving their models.
- Be ready to explain every decision you make.
1. Preparation Path/Roadmap
We will talk about the preparation path you need to take up. Each of the subsequence sections shall contain links and resources for the same.
Timeline to complete this is 1 hour everyday for 1 month.
- If you are a person who understands objects. Watch the video mentioned below. If you are able to understand even 30% of the video, you are in a pretty good position.
- Book My Show LLD. - In the next step, Read up on Design Patterns and SOLID principles. [Point 2]
- Start going through actual examples. [Point 3]
Point 4 - Contains video resources as well.
Take care that you go through 5–6 complete examples and then start trying to first write down your solution and then go through the solution/explanation. - Next is assessment time!! [Point 5]
2. Concepts to know
Design patterns
You might get asked about certain design patterns and could be expected to talk about pros, cons, and usage.
These resources offer proper reasoning for when and why to choose patterns, if you understand the concepts well, it will help you out in the long run as well.
- Refactoring Guru
- Learn design patterns in a language of your choice - Source making -Antipattern
- Interested in knowing Antipatterns. - Tutorialspoint
- Want to learn with questions
Solid Principles
You can always put forward your reasoning by quoting the SOLID principles.
3. Learn how to apply
You can check out the examples here. All the questions are asked frequently. I came across them from the low level design primer.
Going through these links and understanding them alone should get you interview-ready.
4. Interested in learning through video links?
I personally am not a big fan of completely preparing using videos, because most people just listen and start feeling like they know everything annnndddd…. end up freezing during interviews.
If you are using videos as a resource, scribble on a notepad or type somewhere as you go.
Some awesome channels to follow are:
- Bala G [Design Patterns]
- Gaurav Sen [GOAT -He is ‘the’ guy for HLD as well.]
- The Code Mate [Interview basics]
- Soumyajit Bhattacharyay [Actual questions]
5. Actual Interview Experiences
Last step - Self evaluation.
The question descriptions are intentionally kept hidden. Prep up first and come back to test yourself out. These questions are interview experiences shared by people.