Solvarch
DSA ProblemsProgressPlanRoadmapsReviewCheat SheetsCompaniesSystem DesignCS FundamentalsQuestion Bank
Theme
CS Fundamentals

Object-Oriented Programming

Pillars, SOLID, composition vs inheritance, and design intent.

0/6 completed
01
The Four Pillars of OOP

Encapsulation, abstraction, inheritance, polymorphism — with the distinctions interviewers actually probe.

2 min
02
Inheritance vs Composition

Why "favor composition" became doctrine, where inheritance still wins, and the penguin problem.

3 min
03
Interfaces vs Abstract Classes

Contract vs partial implementation — how to choose, and how default methods blurred the line.

3 min
04
Polymorphism Deep Dive

Dynamic dispatch mechanics, compile-time vs runtime polymorphism, and the type-switch smell.

3 min
05
Coupling & Cohesion

The two words behind every design principle — what they mean concretely, and how to spot violations in code review.

4 min
06
Dependency Injection & Inversion of Control

Why `new` is a design decision, constructor injection, and what DI frameworks actually do.

4 min