Clear the third round for a Lead Engineer

Clear the third round for a Lead Engineer

System design interview experiences

Subscribe to my newsletter and never miss my upcoming articles

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:

  1. Screening round
  2. Coding round
  3. 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:

  1. Real-life product based questions
  2. 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?

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. 🙏🏼

 
Share this