Mini Map
Search
⌘ K
AI Features
Log In
Grokking the Low Level Design Interview Using OOD Principles*
1.
Introduction
Understanding Object-Oriented Design
Why Use OOD?
Challenges Addressed in OOD Interviews
Key Learnings in Design Principles
Who This Course Is For?
Prerequisites
2.
The LLD Interview Mindset
Understanding LLD Interviews
What LLD Interviewers Evaluate
Highlight: Design Communication in LLD Interview
Designing a Food Delivery App: Start with Order Tracking
5-Step Game Plan for Tackling LLD Questions
Spot the concern in an LLD interview
Tips for Ending an Interview on a Design Note
LLD Interview Game Plan
3.
Common LLD Terms and Basics
Decoding Basic Vocabulary and Common Terms in LLD
Introducing QuickBite
Requirements for QuickBite System
Comparison of Functional and Non-functional Requirements
Understanding Scope in Design Process
Actors vs Entities: Understanding the Difference
Understanding Classes in C++
Understanding Modules in QuickBite
Understanding Use Cases
Understanding APIs
Understanding Flow: A Step-by-Step Story
Understanding Trade-offs in Design
Trade-offs: Best Practice for Location Sharing
LLD Vocabulary Toolkit
4.
Pillars of OOP
Understanding Object-Oriented Programming for LLD
Designing Classes and Objects in LLD
Class vs. Object
Understanding Data and Behavior in a Class
Understanding Data and State
The 4 Pillars of OOP
Understanding Encapsulation in C++
Understanding Abstraction in C++
The Tricky Duo: Encapsulation vs Abstraction
Understanding Generalization in Object-Oriented Programming
Understanding Composition and Inheritance
Understanding Inheritance in C++
Composition in C++: Understanding Class Relationships
Inheritance vs Composition: A Comparison
Understanding Polymorphism in C++ with Virtual Functions
Foundations of Object-Oriented Programming
5.
UML for LLD
Understanding Object-Oriented Design with UML
OOA vs. OOD
Understanding UML in LLD Interviews
The UML set for LLD
Understanding Use Case Diagrams
Example of Use Case Diagram
Understanding Class Diagrams
Core UML Relationships
Understanding Association in Class Diagrams
Code for Association
Understanding Dependency in Object-Oriented Programming
Example of Dependency in Code
Understanding Aggregation
Aggregation Example: Restaurant Menu and Menu Items
Understanding Composition in Object-Oriented Programming
Code for Composition
Understanding Inheritance
Understanding Inheritance in C++
Understanding Interfaces in Object-Oriented Programming
Realization in Code
6.
Design Principles (SOLID)
Design Principles for Building Change-Resilient Code
Understanding Design Principles
Understanding SOLID Principles
Single Responsibility Principle
Understanding SRP Violation
Understanding Single Responsibility Principle
SRP Code: Class split
O: Open/Closed Principle
Understanding OCP Violation
Understanding OCP Fix
OCP Code: Rule-based design
Understanding Liskov Substitution Principle
Handling LSP Violation
Splitting Contracts by Capability
LSP Code: Capability split
I: Interface Segregation Principle
Avoiding Tight Coupling in Order Management
Splitting Order Repository for Improved Dependency Management
ISP Code: Split interfaces
Dependency Inversion Principle
Understanding DIP Violation
Using Interfaces for Flexible Dependency Injection
DIP Code: Depend on interfaces
Title: "Applying Open/Closed Principle in QuickBite Promo Update"
Understanding Liskov Substitution Principle
Quiz: Violation of SOLID Principles
Recap of SOLID Principles
7.
Design Patterns
Understanding Design Patterns
Benefits of Design Patterns
Three Main Types of Design Patterns
Understanding Creational Design Patterns
Types Of Creational Design Patterns
When To Use Creational Patterns?
Understanding Structural Design Patterns
Common Structural Design Patterns
When To Use Structural Patterns?
Understanding Behavioral Design Patterns
Common Behavioral Design Patterns
When To Use Behavioral Patterns?
Design Principles Reflected in Design Patterns
Common Design Patterns - Recap
8.
Designing a Library Management System
Design a Library Management System
Key Functional Requirements
Highlighting Non-Functional Requirements
Key Classes in Library Management System
Understanding Inheritance in Object-Oriented Programming
Code: Person Inheritance
Understanding Composition in Object-Oriented Programming
Code: Member has a LibraryCard
Quiz: Composition in LMS Design
Understanding Aggregation in Object-Oriented Programming
Title: Code: Book groups BookItems
Understanding Aggregation in Library Management System
Code: LMS aggregates Core
Understanding Association in BookLending
Title: Code: BookLending's Association
Understanding Multiplicities
The Complete Class Diagram
Sequence: Borrow a Book (Successful)
Quiz: What should LMS do when all BookItems for a requested title
Sequence: Return a Book (Successful)
Can you guess?
Object-Oriented Design Principles
Identifying SOLID Principles
Highlighting LMS Design Pattern: Facade Pattern
Ways to Extend the LMS
Using a FinePolicy for Fine Calculation in LMS
Title: Library Management System Recap
9.
Designing a Parking Lot
Design a Parking Lot System
Key Functional Requirements
Highlighting Non-Functional Goals
Key Classes in Simplified Design
Understanding Inheritance in Object-Oriented Programming
Code: Vehicle Inheritance
Code: Vehicle Inheritance
Use Enum for Vehicle Type in OOP Model
Enum Fit Quiz: Modeling Data Types
Understanding Composition
Code: Lot Owns Spots+Tickets
Understanding Aggregation in Object-Oriented Programming
Code: Lot has Manager
Understanding Association in Object-Oriented Programming
Code: Ticket-Vehicle Association
Association
Code: Spot-Vehicle Association
Understanding Multiplicities in Class Diagrams
The Complete Class Diagram
Sequence: Park the Vehicle (Entry)
Quiz: Parking Lot Dilemma
Sequence: Free the Spot (Exit)
Title: OOD Principles Used
Generate Title: "Fill in the Blank: Design Patterns"
Ways to Extend ParkingLot System
Parking Lot Recap
10.
Conclusion
Key Learnings: Problem Scope, Design Diagrams, SOLID Principles,
Tips for Continuous Improvement
Practice Advice: Common Designs
Practice Advice: Do Mock Interviews
Interview Tip: The Quick Checklist
Interview Tip: 3 Must-Know Patterns
Claim your Certificate
Home
Courses
Grokking the Low Level Design Interview Using OOD Principles*
Understanding Aggregation in Library Management System
We'll cover the following...
This component is not supported in the current context
...