Reddit Question · Nov 2025

Tutorial: How to approach Low Level Design Interviews

3 upvotes

Question Details

Let's answer a few basic questions first: Q. Will I have to write code or will UML diagrams be enough?

ANS: Yes you have to write code/discuss logic for a few functionalities, only drawing UML

Full Details

Let's answer a few basic questions first: Q. Will I have to write code or will UML diagrams be enough?

ANS: Yes you have to write code/discuss logic for a few functionalities, only drawing UML diagrams or writing names of classes won't be enough. Q. I don't have much time. Tell me which are the most important design patterns I should study first?

ANS: Factory, Strategy, Observer and Singleton. Q. But how can I explain such large systems in a 45 minutes interview ? I always run out of time.

ANS: A vast majority of candidates fail because they are not able to present their solution properly in a limited time frame. Watch this youtube video where I have explained how to take care of this problem: <a href="https://www.youtube.com/watch?v=ef99Ejb3B40?

ANS: Yes depending on the interviewer you can either get a pure LLD question like design a parking lot, design food ordering system or you can get a DSA based design question like above. I know you hate this extra prep, but that's what it is. Companies ask these and so you need to prepare for both types. Silver lining is that you already prepared for DSA based design questions while preparing for DS & Algo rounds. -------------------------------------------------------------------------------

Lets get started... In my view, you should first master DS & Algo and only after that you should start your LLD preparation. Because once you have mastered DS & Algo, low level design questions are easy to practice.

There are two types of low level design interview formats: 1. 75 to 90 minutes of machine

Coding You will be given requirements and method signatures and you have to write code in a editor. In last 10-15 minutes you may have to explain your code to interviewer. 2. 45-60 minutes of face to face discussion: This is the most common format. You have to come up with requirements yourself then discuss class structure and all. ------------------------------------------------------------------------------- In any object-oriented design interview, you interviewer is typically looking for three things: # 1. How you list down requirements, especially core features? e.g. If your problem statement is “Design a Parking Lot” then your core features will be park() and unpark() methods if your problem statement is “Design a restaurant food order and rating system like zomato, swiggy, uber eats etc” then your core features will be * orderFood() * rateOrder() * display list of restaurants based on their rating or popularity Sticking to only the most important features and leaving the rest out is important. If you list unimportant features in requirements sections then you will waste time discussing their implementation and you will not less time for more features discussion. This is a interview ------------------------------------------------------------------------------- # 2. How you break your problem statement in multiple classes I always find it easier to start listing entities and their corresponding entity managers(if required) first. e.g. For restaurant food ordering and rating system your entities can be

Restaurant, order,

FoodItem etc and their corresponding managers will be

RestaurantsManager,

OrdersManager etc. ------------------------------------------------------------------------------- # 3. How you use design patterns to solve the core features The most common design patterns that you will come across in a low level design interview are

Strategy,

Factory,

Singleton and

Observer. You should be familiar with their implementation and different use cases where they can be used. We will see some of those use cases in a moment. A fourth topic is also discussed if you have done well in above three steps. Handling multi-threading. There will be discussion on use of locks, synchronization features and thread safe data structures for your design to work correctly in a multi-threaded environment. Here are 3 commonly asked LLD interview questions which will cover the above top 4 design patterns you will come across in interviews. ------------------------------------------------------------------------------- # 1. Design a Parking Lot with multiple floors.

Problem statement: <a href="https://codezym.com/question/7s

THE most common LLD interview question. In the above problem statement, there can be multiple parking strategies. So you should use strategy design pattern to solve this question. Python tutorial: <a href="https://youtu.be/ZIK44dj56fk.

Problem statement: <a href="https://codezym.com/question/5)

About This Question

This is a reported interview question from a uber interview for a swe role during the recruiter round reported in 2025.

It covers the following topics: Concurrency, System Design, Oop, Trie .

Difficulty rating: Easy