Grokking the Object Oriented Design Interview
Learn how to prepare for object oriented design interviews and practice common object oriented design interview questions.

Course Overview
Object-oriented design has always been a critical part of the software engineering interview process. Most of the engineers struggle with the object-oriented design interviews (OODI), partly because of their lack of experience in laying down the design of a complex system, and partly because of the unstructured nature of OODI. Even engineers, who have some sort of experience in building such systems are not comfortable with these interviews. It is mainly because of the open-ended nature of the design problems that don't have a standard answer. This course is a complete guide to master the OODI. It is created by Design Gurus who are a team of hiring managers from Google, Facebook, Microsoft, and Amazon. It not only has 22 carefully handpicked case studies, which have been repeatedly asked at the top tech companies but also provides a thorough experience to handle different object-oriented design scenarios. The course teaches the method first, then applies it: a dedicated chapter walks through how to bound the requirements, find the classes, connect them, and check the result, and every case study then follows those same steps. Complete implementations in Python, Java and C++ are provided throughout, and each one compiles and runs. Eight adaptive...
What you'll learn in Grokking Object Oriented Design Interview
- A repeatable way to answer any object oriented design question: requirements, actors and use cases, class diagram, then code.
- Object oriented fundamentals applied rather than defined: encapsulation, abstraction, inheritance, and polymorphism, used inside real designs.
- How to turn a one-line question into a clear list of requirements and actors, where most candidates lose this interview.
- 22 complete case studies with more than 250 diagrams, each taken from requirements through to working code.
- Larger product designs: Amazon, Stack Overflow, LinkedIn, Facebook, an airline system, a car rental system, and a stock brokerage.
- Working implementations in Python, Java, and C++, so every design ends in code you can read.
- Seven adaptive assessments, 210 questions, after the two teaching chapters and each family of case studies.
- A dedicated chapter on the method itself: a time budget, the tests that turn nouns into classes, and the six design patterns worth knowing by name.
- The four UML diagrams worth drawing at a whiteboard: use case, class, activity, and sequence, and when to draw each.
- How to identify classes and their relationships: association, aggregation, composition, and inheritance, shown correctly in UML.
- The classic questions: a parking lot, an elevator, a vending machine, a library, an ATM, chess, blackjack, a hotel, a restaurant, and a movie ticket booking system.
- Designs built around one pattern: Splitwise, ride sharing, an in-memory cache, and a notification service.
- Activity and sequence diagrams for the main flows, so you can walk an interviewer through each step.
- A 60 question final exam over the whole course, with a written explanation on every option, right or wrong.
Course Content
Introduction
Object Oriented Design and UML
How to Answer an Object Oriented Design Question
Object Oriented Design Case Studies
Final Exam
Appendix
What people say about our courses
About the Author

Arslan Ahmad
Industry Expertise & Leadership
Arslan Ahmad is the lead author of Grokking the Object Oriented Design Interview. As the founder of Design Gurus and a former FAANG hiring manager, he has worked at industry giants like Facebook (now Meta) and Microsoft.
He has conducted hundreds of system design interviews, giving him unique insight into what top tech companies look for in candidates.
The course also incorporates expertise from senior engineers at Google, Meta, Amazon, Microsoft, and Uber, ensuring you learn system design best practices from professionals who have built and scaled real-world systems.
500+
Interviews Conducted
10k+
Students Taught
Related Courses
$148
$123
$50
FAQs
What is Grokking the Object Oriented Design Interview?
It is a course on answering object oriented design questions, the round where you are asked to design something like a parking lot or a chess game and produce classes, relationships, and code rather than servers and databases. It covers the object oriented and UML groundwork first, teaches a repeatable method for answering these questions, then works through 22 complete case studies, each one going from requirements to a use case diagram, a class diagram, activity diagrams, and finally a working implementation.
Who is this course for?
Software engineers preparing for an object oriented design or low level design round, at any level from new graduate upward. It also suits engineers who write code every day but have never had to defend a class design out loud, and anyone who can produce a working solution but freezes when asked to draw the model behind it.
How is an object oriented design interview different from a system design interview?
A system design interview asks how a product scales: services, databases, caches, queues, and the trade-offs between them. An object oriented design interview zooms all the way in on one application and asks how it is modelled: which classes exist, what each one is responsible for, how they relate, and what the code looks like. Same product, very different altitude, and preparing for one does not prepare you for the other.
Is this the same as a low level design or LLD interview?
Yes. Object oriented design, OOD, low level design, and LLD are different names companies use for the same round, and machine coding rounds are usually this interview with a working program required at the end. The material here applies to all of them.
Which design questions does the course cover?
The 22 case studies are the classic low level design questions: a parking lot, a library management system, an ATM, an elevator system, a vending machine, a movie ticket booking system, a hotel management system, a car rental system, a restaurant management system, an airline management system, blackjack and a deck of cards, chess, Stack Overflow, Cricinfo, LinkedIn, Facebook, the Amazon online shopping system, an online stock brokerage system, Splitwise, a notification service, an in-memory cache, and a ride sharing service.
Which programming languages are the solutions written in?
Python, Java, and C++. The design work itself is language independent, so you can follow along in any object oriented language, but the implementations are given in those three.
Does the course teach design patterns?
Yes. The method chapter has a dedicated lesson on the design patterns that come up in this round, and twelve case studies end with a short section naming the patterns used in that design: Strategy, State, Template Method, Observer, Decorator, and Singleton. Each pattern appears inside a design you have just worked through, not as an isolated definition.
Do I need to know UML already?
No. The course teaches the UML it uses before any of the case studies rely on it, with dedicated lessons on use case diagrams, class diagrams, activity diagrams, and sequence diagrams. You need to be comfortable writing object oriented code, but you do not need to have drawn a diagram before.
How is the course structured?
It opens with a short introduction: what this round is, one complete answer worked end to end before any theory, and a study plan for the time you actually have. Then 7 lessons on object oriented fundamentals and the UML notation you will use, each of the four principles shown with a diagram and running code. Then comes the method: 6 lessons on how to answer one of these questions, covering how to bound the requirements, how to find the classes, how to choose the relationship between two of them, how to check the result against the SOLID principles, and which design patterns come up in this round. The rest is 22 case studies that all follow the same five steps: system requirements, use case diagram, class diagram, activity diagrams, and code. The UML chapter and the method chapter each close with an assessment, the case studies carry five more, and a final exam draws on the whole course. Because every case study runs in the same order, the process becomes something you can repeat under pressure rather than something you have to remember.
Is there any practice, or is it only reading?
There are eight assessments holding 270 questions in total: one closing the UML chapter, one closing the method chapter, five across the case studies grouped by family, and a final exam over the whole course. They are adaptive, so a chapter assessment draws 14 questions from a bank of 30 at your level as you go, and the final exam draws 25 from a bank of 60. Almost none of them ask you to recall a definition. Each one puts you inside a decision, such as which class should own a fact or which relationship belongs on a line, and every option carries a written explanation, including the ones you did not choose.
Is the course text-based or video-based?
Text-based, with more than 250 diagrams and code you can read in place. That suits design work better than video, because you will spend most of your time comparing a class diagram against its implementation, and going back and forth between the two is far easier on a page than in a timeline.
Do I get a certificate of completion?
Yes. Design Gurus issues a certificate once you have completed the course, and you can share the link directly or add it to your LinkedIn profile.
