Clear the third round for a Lead Engineer
System design interview experiences
While applying for the Lead Software Engineer positions across various companies from startup unicorns to giant MNCs, FAANG to Big 4 audit companies, I usually dealt with the following set of rounds:
- Screening round
- Coding round
- System design round
Yes, this 3rd round, system design round we will discuss. In the system design round, you will be asked to design a system, mostly in context to the real-world technologies that exist.
Interview questions
System design interview questions can be divided into two categories:
- Real-life product based questions
- An architect concept based questions
Product based questions
These questions consist of the design aspect of popular tech companies. A few of which I got asked were:
- Design a food delivery system like Zomato or Swiggy
- Design a movie hall ticket booking system like Bookmyshow
- Design a taxi ride-hailing app like Uber or Ola
- Design a social media system like Twitter
Architecture concept based questions
These are specific questions asked based on architectural concepts which are used in broad system architectures. A few of the questions I got asked were:
- Design a distributed Rate limiter
- Design a distributed Cache
- Create a UUID
- A system is getting slower, how do you find the bottlenecks and how will you resolve those
- How will you design an URL shortener
Preparations
I have prepared for 3 months consistently for the system design rounds. Initially, I got rejected by multiple companies due to poor performance in this round. How did I prepare?
- System design primer by Donne Martin
- System design interview by Alex Xu
- YouTube channnel by Gaurav Sen
- YouTube channnel by Exponent
- Youtube channnel by Narendra L
- Leetcode System design discussion
These helped me to get a grasp of the required materials. Still, there was a long way to go but got basic ideas on common specific questions like:
- Difference between performance and scalability
- Identifying read-heavy and write-heavy systems
- The differences between SQL and NoSQL DBs with their strengths and usages.
- Which NoSQL DB to use under which scenarios.
- When a monolithic application is a good design
- Difference between the load balancer and reverse proxy
- What happens when you type google.com
- How to convert an asked question into functional and non-functional requirements
- When simply creating a hash table will solve the issue and many more
You get the idea. All the best. Thank you. ๐๐ผ
Did you find this article valuable?
Support Soumendra kumar sahoo by becoming a sponsor. Any amount is appreciated!