Introduction to the Course:
Welcome to the Object-Oriented design or Low-level design course, your structured and practice-oriented guide to master fundamentals and crack the Interview.
This course is designed with one clear goal: To take you from concepts to cracking the interview through a blend of theory, design patterns, and hands-on practice problems.
Structure of this course:
We carefully organised this course into clear sections in sequence.
1. Fundamentals of OOD:
First, we will start with the basics: what object-oriented design is and why it matters.
- Object-Oriented Programming (OOPs) and its four pillars.
- UML diagrams (use case, class, sequence, and activity)
- How to Use these diagrams in the interviews
2. Design Principles and Patterns:
Once the basics are in place, we will dive into the golden rules of design.
- Solid principles: Five core principles every engineer must know.
- Design patterns: Frequently used design patterns include creational, behavioural and structural patterns.
3. Real-world design problems
This is where the exciting part comes; the real grind starts from here. Once you are familiar with the foundations, you are ready to attack the problems.
- First, we will walk you through a typical interview process and show you steps to approach the problem in a structured way to any design problem.
- Then we will solve the frequently asked low-level design questions in a step-by-step manner.
- Requirements gathering
- Use case diagrams (Optional in interview)
- Clas diagrams
- Usage of Design principles and patterns.
- Full code (This is for a machine coding round, typically 90 minutes), for one hour round, mentioning the skeleton code and implementing one or two core methods should be sufficient.
- Finally, we will talk about advanced topics like multi-threading, scaling, etc (At the end, the interviewer may push you to the advanced topics to test your depth.