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.