← Back to Blog
Article

Grokking Low Level Design and OOD: Which Course Covers What

Grokking Low Level Design and OOD: Which Course Covers What

Disclosure: I built Grokking the Object Oriented Design Interview, one of the courses on this page. I also list a competing course from another company, describe the parts of my own that are thinner than they should be, and tell you when you do not need any course at all. Read it with the bias in mind.

People search for this material under at least six different names, get six different sets of results, and reasonably conclude there are six different products. There are not. This page sorts out the terminology first, then maps each course to the part of the interview it actually covers.

The terminology, settled

These all describe the same interview round, or overlapping parts of it:

TermWhat it means
LLDLow level design. Common in India and increasingly everywhere
OODObject-oriented design. The older term, still standard in US job postings
Object-oriented design interviewThe same round, written out
Machine coding roundAn LLD round where you write working code, usually 90 minutes, common at Indian product companies
Class design roundOccasional variant name
OOPObject-oriented programming. Related but not the same thing. See below

The one distinction worth keeping: OOP is the language feature set, OOD is the design skill. OOP is inheritance, polymorphism, encapsulation, and abstraction, the things a language gives you. OOD is deciding which classes should exist, what each one is responsible for, and how they relate, before you write any of them. An interviewer asking you to design a parking lot is testing OOD. An interviewer asking what an abstract class is, is testing OOP. Preparation for the first covers the second; the reverse is not true.

LLD is also not system design. System design is the high-level round: load balancers, databases, sharding, and how a service scales to millions of users. LLD is what happens inside one service: classes, interfaces, and how the code is organized. Some companies run both. The full distinction is here.

Which course covers which part

How the low level design interview splits into object-oriented design, design patterns, and concurrency, and which course covers each part

There are four courses people find when searching these terms. Three are mine. One is not, and the naming makes that genuinely hard to tell.

Grokking the Object Oriented Design Interview

Mine, and the one most of these searches are looking for.

At a glance
Lessons35
Structure7 lessons on object-oriented design and UML, 6 on how the round itself runs, then 22 worked case studies
Case studies22
LanguagesPython, Java, and C++
Learners59,948
Price$30, one payment, lifetime access
HomeDesignGurus.io

The 22 case studies are the substance of it:

Parking LotLibrary ManagementATM
Elevator SystemVending MachineMovie Ticket Booking
Hotel ManagementCar Rental SystemRestaurant Management
Airline ManagementBlackjack and a Deck of CardsChess
Stack OverflowCricinfoLinkedIn
FacebookAmazon Online ShoppingOnline Stock Brokerage
SplitwiseNotification ServiceIn-Memory Cache
Ride Sharing Service

Those are close to the complete list of what actually gets asked in these rounds. Each one is worked through from requirements to class diagram to code in three languages.

Where it is thinner than it should be, honestly. The opening lessons lean harder on UML notation than most interviews now require. Interviewers care that your class relationships are right, not that your diamond arrowheads are. And concurrency, which shows up constantly in machine coding rounds, is not covered here at all. It lives in a separate course, which I would rather it did not, and which is the reason for the next two sections.

There is a fuller walkthrough of the course itself in this post.

Grokking Design Patterns for Engineers and Managers

The patterns layer. LLD interviews reward reaching for the right pattern by name and defending it: factory, strategy, observer, decorator, singleton, and the rest. The OOD course applies patterns inside its case studies. This course teaches them as a subject.

Take it if your interview feedback said your designs work but are rigid, or if you can recognize patterns in someone else's code but do not reach for them in your own. Course page.

Grokking Multithreading and Concurrency for Coding Interviews

The concurrency layer, and the piece most LLD candidates are missing.

Machine coding rounds routinely include a concurrent element: a thread-safe parking lot, a rate limiter under load, a producer-consumer queue, a bounded buffer. Candidates who design clean classes and then cannot make them safe under concurrent access lose the round in the last ten minutes.

If your target companies run machine coding rounds, treat this as part of your LLD preparation rather than as a coding course. Course page.

Grokking the Low Level Design Interview Using OOD Principles

This one is not mine. It is published by Educative, separately authored, and runs 215 lessons across 28 sections, with 21 case studies and 19 mock interviews.

I am flagging it because the name is close enough to cause real confusion, and because this is the second time it has happened: Educative also publishes Grokking Modern System Design Interview alongside my Grokking the System Design Interview. The history behind the shared branding is here.

It is a legitimate course and I am not going to characterize its quality, since I have an obvious interest. What I will say plainly is that if you bought one expecting the other, you did not make a mistake that a careful reader would have avoided. The names are genuinely close.

There is a full side-by-side of the two courses, including what each one costs and which languages each covers, in what the Educative course is and where to find it.

What the round actually asks

Independent of which course you take, an LLD round follows roughly this shape:

  1. Clarify requirements. What does this system do, who uses it, what is in scope. Same discipline as a system design round, on a smaller object.
  2. Identify the entities. Which nouns become classes. This is where most candidates rush and then spend the rest of the interview recovering.
  3. Define responsibilities. What each class owns. Single responsibility is the principle interviewers actually probe, whether or not they name it.
  4. Model the relationships. Inheritance against composition, interfaces, and where to put the abstraction. Interviewers push hard on inheritance used where composition belonged.
  5. Apply patterns where they earn their place. Naming a pattern is worth little. Explaining why this problem needs a factory, and what it costs, is worth a lot.
  6. Handle concurrency, if the problem has any. Frequently skipped by candidates and rarely skipped by interviewers.
  7. Show it extends. The closing question is almost always a new requirement. A good design absorbs it. A rigid one has to be rewritten in front of the interviewer.

The mistake that costs the most, across all of them, is starting to write classes before step one is finished.

Which to take, by situation

Your situationTake
LLD or OOD round coming, no preparation yetGrokking the Object Oriented Design Interview
Machine coding round at an Indian product companyThe OOD course plus Multithreading and Concurrency
Feedback said your designs are rigid or hard to extendDesign Patterns for Engineers and Managers
You know the patterns, you need practice at speedThe OOD course, for the 22 case studies alone
Both a system design and an LLD round in the same loopGrokking the System Design Interview for the first, the OOD course for the second. They do not substitute
You already design classes well at work and want repsNo course. Work through parking lot, chess, and an elevator system on paper, then check yourself against a solution

That last row is genuine. Experienced backend engineers who design objects daily often need practice under time pressure rather than instruction, and the free case studies scattered across the web are enough for that.

Frequently asked questions

What is the difference between LLD and OOD?

In interview practice, almost nothing. LLD is the more common term in India and OOD in the US, and both describe a round where you design the classes inside a single system. Some companies use LLD to include concurrency and API-level design as well, which OOD sometimes excludes.

Is there a Grokking low level design course?

There are two with similar names from different companies. Mine is Grokking the Object Oriented Design Interview on DesignGurus.io. Educative publishes Grokking the Low Level Design Interview Using OOD Principles, which is separately authored.

What is the difference between OOP and OOD?

OOP is the programming feature set: inheritance, polymorphism, encapsulation, abstraction. OOD is the design skill of deciding which classes should exist and what each is responsible for. Interviews for the design round test OOD and assume OOP.

Is low level design the same as system design?

No. System design is the high-level round about scaling a service: load balancing, databases, caching, sharding. Low level design is about the classes inside one service. Some loops include both as separate rounds. Full comparison.

Is there a Grokking low level design PDF?

No official PDF exists for any of these courses. The unauthorized copies circulating are text-only, usually years out of date, and exclude the code playgrounds, which are most of what an OOD course is for. More on this.

What languages does the OOD course use?

Python, Java, and C++, with in-browser playgrounds for writing and running code in each of them.

How long does the OOD course take?

There are 35 lessons, 22 of them worked case studies. Most candidates working through it seriously take three to four weeks alongside a job.

Do I need design patterns for an LLD interview?

You need enough to reach for the right one and justify it: factory, strategy, observer, decorator, singleton, adapter, and builder cover most of what appears. Reciting all 23 Gang of Four patterns is not useful. Recognizing when a problem calls for strategy over a chain of conditionals is.

Do LLD interviews include concurrency?

Often, particularly in machine coding rounds. A thread-safe design is a common closing requirement. This is the most frequently under-prepared part of the round.

Which companies ask low level design questions?

It is most standard at Indian product companies and at companies hiring for backend roles at mid to senior level: Amazon, Uber, Flipkart, Swiggy, Zomato, Atlassian, PhonePe, and many others. Some FAANG loops fold it into a coding round instead of running it separately.


Start with one case study

Before buying anything, take a single problem and design it on paper for 30 minutes. Parking lot is the standard opener. Write the classes, their responsibilities, and their relationships, then add one new requirement and see whether your design absorbs it. That exercise tells you more about your readiness than any course description.

See the Object Oriented Design course · Read the free system design lessons