Grokking the object oriented design interview (OODI) is something every FAANG-level developer strives for.
However if you’re not experienced in laying down the design of a complex system, you’re going to struggle.
But guess what?
Even seasoned developers grapple with object oriented design interview questions.
Due to the unstructured nature of object oriented design interviews, there’s no standard answer. As a result, many developers find them tough.
And that’s where FAANG interview prep materials come in.
This post contains affiliate links. I may receive compensation if you buy something. Read my disclosure for more details.
Today we’re reviewing the Grokking the Object Oriented Design Interview course on Educative.
This object oriented design course was designed by hiring managers of Google, Facebook, Amazon and Microsoft. It contains handpicked case studies that are regularly asked at FAANG interviews.
In addition, the course enables engineers to handle various object oriented design scenarios with confidence.
An excellent set of problems, I have been asked Parking Lot and Flight Reservation system in two interviews. This course helped me brush up object oriented analysis techniques that I had almost forgotten. Thanks guys for this content.– Billy Hu, Software Engineer at Microsoft
Let’s take a closer look at what this course has to offer.
Looking for some more FAANG interview courses? Check out our review of Grokking the System Design Interview.
This FAANG interview prep course is separated into two sections:
- Object Oriented Design and UML
- Object Oriented Design Case Studies
Section 1: Object Oriented Design and UML
Starting with the basics, you’ll get a refresher on some key object oriented programming concepts:
✅ Objects ✅ Class ✅ Encapsulation
✅ Abstraction ✅ Inheritance ✅ Polymorphism
And from there it covers:
- Object Oriented Analysis and Design – identify, define, establish, create
- Unified Modeling Language – visualizing & documenting software system by using a collection of diagrams
- Use Case Diagrams – what the system does from the user point of view
- Class Diagram – describe the responsibilities of a system
- Sequence Diagram – detailed flow for a specific use case
- Activity Diagrams – model the flow of control from activity to activity
Section 2: Object Oriented Design Case Studies
There are 16 design case studies:
Deck of Cards
|Hotel Management System
Object oriented design projects like these are frequently asked at the OODIs.
So, can we see a sample object oriented design interview question?
Design a Parking Lot
A large amount of information is required with parking lot object oriented design. And Grokking the Object Oriented Design Interview delivers.
Prompt: Let’s design a parking lot.
From there, you’ll face 5 sections:
- System Requirements
- Use Case Diagram
- Class Diagram
- Activity Diagrams
i. System Requirements
This section sets the parameters of the project such as:
✅ floors ✅ entrances & exits ✅ parking tickets ✅ payment types
✅ vehicle capacity ✅ parking spots with vehicle size variance
✅ vehicle types ✅ hourly pricing structure
And much more.
ii. Use Case Diagram
This section addresses main Actors in the system such as:
✅ Admin – responsible for modifying parking lot specs
✅ Customer – receive and pay for parking ticket
✅ Parking Attendant – assist customers with their tasks
✅ System – display messages on info panels, assign and remove vehicles
And from there, you’ll examine the top use cases for parking lot object oriented design:
- parking floor – add, remove, edit
- parking spot – add, remove, edit
- take & scan ticket
- credit card & cash payment
- parking rate modifications
- parking attendant – add, remove
iii. Class Diagram
In this section you’ll observe interfaces such as:
✅ ParkingSpotType ✅ VehicleType ✅ ParkingTicketStatus
From there, you’ll study a series of classes such as ParkingRate, ExitPanel, and ParkingFloor.
iv. Activity Diagrams
Activity Diagrams offer a series of potential activities and results based on those activities.
For example, this diagram observes the activity of the ticket being paid:
As you can see, many activities are straightforward.
For example, if the customer inserts the credit card into the card reader, the next step is for the system to read the credit card details.
But there are other activities that have multiple potential outcomes. For example, “Payment successful?” can either be successful or produce an error. This will alter the processes moving forward.
There are over 180 code snippets in Java and Python in this course. Each design case study has ample examples.
For example, in Design a Parking Lot you can study the code of the following:
✅ enums and data types ✅ Account, Admin, ParkingAttendant
✅ ParkingSpot ✅ Vehicle ✅ ParkingFloor
✅ ParkingDisplayBoard ✅ ParkingLot
You can buy the course for $49. Or you can upgrade with a subscription to the entire Educative.io platform:
|Access to 165+ Courses
|Access to Learning Tracks
|Grokking the Object Oriented Design Interview course
|$49 / year
|Monthly subscription to Educative.io
|🤩 Best deal! Yearly subscription to Educative.io
Check out Grokking the Object Oriented Design Interview here.
Is Grokking the Object Oriented Design Interview Worth It? Conclusion
If you’ve got a FAANG interview coming up, this course is a must.
You’ve got to be ready to accept, navigate and tackle any problem they throw your way.
And with these 16 questions cultivated by actual FAANG interviews, they know what you should expect.
Looking for some more FAANG interview prep? Check out our Grokking the Coding Interview course review.
- Is Grokking the Object Oriented Design Interview worth it?
If you’re preparing for a FAANG interview, the Grokking the Object Oriented Design Interview course by Educative is worth it. You’ll be presented with 16 design case studies used at actual FAANG interviews. Plus, there are ample code snippets and diagrams you can use to study.
- What is parking lot object oriented design?
Parking lot is a popular design case study in object oriented design. Designing a parking lot, you include UML conventions such as Interface and Class. From there you can focus on more specific details of generalization, inheritance, user interface, association and more. This assigns roles to attendants, drivers, vehicle types, parking spot sizes, credit card machines and much more.
- What are some good object oriented design interview questions?
There are 16 object oriented design interview questions in the course Grokking the Object Oriented Design Interview on Educative.io. The questions were cultivated by interviewers at FAANG companies such as Google, Microsoft and Amazon. They are questions that are asked at actual object oriented design interviews. Some case studies include Parking Lot, Airline Management System, Restaurant Management System and ATM.