Object-Oriented Programming for MAANG Interviews
For MAANG interviews, OOP should be taught from first principles to language implementation and design trade-offs, not merely by explaining the four pillars. Interviewers assess whether you understand why OOP exists, when to use it, and its limitations alongside modern paradigms. This book is arranged in chronological learning order — fundamentals first, then advanced design and interview-level discussion.
Parts
00 — Foundations of Object-Oriented Thinking
Where OOP sits among programming paradigms, why it exists at all, and the base vocabulary (objects, classes, state, identity) everything else in this book builds on.
- 1 — Evolution of Programming Paradigms — (stub)
- 2 — Why OOP Exists — (stub)
- 3 — Objects and Classes — (stub)
01 — Core Building Blocks
The mechanical pieces a class is made of — fields, methods, constructors, visibility, and the lifecycle an object goes through from creation to collection.
- 1 — Fields and Methods — (stub)
- 2 — Access Modifiers — (stub)
- 3 — Object Lifecycle — (stub)
02 — Four Pillars of OOP
Encapsulation, abstraction, inheritance, and polymorphism — the four ideas every OOP explainer leads with, covered here at interview depth rather than as a definitions list.
- 1 — Encapsulation — (stub)
- 2 — Abstraction — (stub)
- 3 — Inheritance — (stub)
- 4 — Polymorphism — (stub)
03 — Relationships Between Objects
How objects reference and own each other — association, aggregation, composition, and dependency — and why picking the wrong one is a common design-interview trap.
- 1 — Association — (stub)
- 2 — Aggregation — (stub)
- 3 — Composition — (stub)
- 4 — Dependency — (stub)
04 — Object Design Principles
SOLID and GRASP as the two principle sets that turn “it compiles” into “it’s well designed,” plus the metrics used to measure whether a design actually got better.
- 1 — SOLID Principles — (stub) — see also SOLID Revisited in the Patterns book for the architecture-scale view.
- 2 — GRASP Principles — (stub)
- 3 — Object-Oriented Metrics — (stub)
05 — Advanced Object-Oriented Concepts
The concepts that separate “used OOP” from “understands OOP” in a senior interview — equality vs. identity, immutability, cloning semantics, and serialization pitfalls.
- 1 — Interfaces vs Abstract Classes — (stub)
- 2 — Object Equality — (stub)
- 3 — Immutability — (stub)
- 4 — Object Cloning — (stub)
- 5 — Object Serialization — (stub)
06 — Memory and Runtime
What actually happens under the hood — stack vs. heap layout, how virtual dispatch is implemented, and how garbage collectors reclaim unreachable objects.
- 1 — Memory Layout — (stub)
- 2 — Dynamic Dispatch — (stub)
- 3 — Garbage Collection — (stub)
07 — Design Patterns Through OOP
The 23 canonical Gang-of-Four patterns, grouped by intent. Full implementations and trade-offs already live in the Patterns book — these chapters are the OOP-first framing and interview lens.
- 1 — Creational Patterns — (stub) — see also Creational Patterns.
- 2 — Structural Patterns — (stub) — see also Structural Patterns.
- 3 — Behavioral Patterns — (stub) — see also Behavioral Patterns.
08 — Language-Specific OOP
How the same OOP ideas actually get implemented — and where they diverge — across Java, C#, C++, Python, and JavaScript/TypeScript.
- 1 — Java OOP — (stub)
- 2 — C# OOP — (stub)
- 3 — C++ OOP — (stub)
- 4 — Python OOP — (stub)
- 5 — JavaScript & TypeScript OOP — (stub)
09 — OOP in Large Systems
What happens to object modeling once it has to survive process boundaries, concurrent access, and years of accumulated shortcuts — DDD, distributed systems, concurrency, and anti-patterns.
- 1 — Domain-Driven Design Basics — (stub) — see also Service Decomposition.
- 2 — OOP in Distributed Systems — (stub) — see also Service Decomposition and Microservices.
- 3 — OOP and Concurrency — (stub) — see also Operating System‘s Concurrency Part and Patterns‘s Concurrency Patterns Part.
- 4 — OOP Anti-Patterns — (stub)
10 — Interview Mastery
Where everything above gets applied under interview conditions — conceptual FAQs, classic coding problems, and the OOD interview process itself.
- 1 — Frequently Asked Interview Questions — (stub)
- 2 — Coding Problems — (stub) — see also the worked case studies in Low-Level Design: Parking Lot, Elevator System, Library Management System, Vending Machine, Chess, ATM, Tic Tac Toe, and Notification Service.
- 3 — Object-Oriented Design Interviews — (stub)
11 — Appendix
Quick-reference material — UML notation, cheat sheets, a pattern-selection matrix, a language-feature comparison table, and a large interview-question bank.
- 1 — UML Class Diagrams — (stub)
- 2 — UML Sequence Diagrams — (stub)
- 3 — UML State Diagrams — (stub)
- 4 — UML Activity Diagrams — (stub)
- 5 — Common OOP Interview Pitfalls — (stub)
- 6 — OOP Cheat Sheet — (stub)
- 7 — SOLID Cheat Sheet — (stub)
- 8 — Design Pattern Selection Matrix — (stub)
- 9 — Language Feature Comparison — (stub)
- 10 — 200+ MAANG OOP Interview Questions — (stub)
Where This Fits
Study this book alongside the broader interview curriculum, not in isolation:
- Before OOP: Programming fundamentals, Data Structures, Algorithms.
- After OOP: Design Patterns, System Design, Distributed Systems, Clean Code, Refactoring, Domain-Driven Design, and Engineering Patterns.
This sequence mirrors how OOP concepts get applied in real software engineering, and how they are commonly evaluated in senior MAANG interviews.
Metadata
| Author | Amit Singh |
| Scope | object-oriented-programming |
Local graph
Linked from 7 notes
Notes — Library Index
The front page of the notebook — every book-shaped domain, the applied Projects and flat Inbox folders, and how they cross-link into one wiki instead of duplicating content across each other.
Low-Level Design for MAANG Interviews
A book-shaped table of contents for LLD interview prep: OOP fundamentals through SOLID, design principles, UML, design patterns, dependency management, reliability, concurrency, domain modeling, API design, testing, refactoring, classic interview problems, advanced architecture, and performance — cross-linking Object-Oriented Programming and Patterns instead of duplicating them.
03 — SOLID Revisited — Principal-Level Framing
SRP, OCP, LSP, ISP, and DIP reframed at architecture scale — stable dependencies and stable abstractions as the load-bearing idea, not the five-bullet mnemonic.
01 — Creational Patterns
Controlling object instantiation at the composition-root level: Singleton, Factory Method, Abstract Factory, Builder, and Prototype — when each earns its complexity and how they compose in a real dependency graph.
02 — Structural Patterns
Composing objects and classes into larger structures without duplicating behavior: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, and Proxy.
03 — Behavioral Patterns
Distributing responsibility and communication between objects: Strategy, Observer, Command, Chain of Responsibility, Mediator, Memento, Interpreter, Iterator, State, Template Method, and Visitor.
Patterns
A book-shaped table of contents for reusable engineering patterns spanning object-oriented design, enterprise architecture, distributed systems, messaging, APIs, cloud infrastructure, observability, security, concurrency, AI/agentic systems, and organizational design — grounded in production experience at scale.
Related notes
Observability Engineering
A book-shaped table of contents for observability engineering: foundations through architecture, metrics, logging, tracing, profiling, OpenTelemetry, instrumentation, Kubernetes/cloud, data platforms, visualization, alerting, SRE integration, cost, security, platform engineering, AI-driven operations, and MAANG interview preparation — cross-linking existing prometheus/grafana-cloud/kubernetes/sre/platform-engineering notes instead of duplicating them.
Kubernetes
A book-shaped table of contents for Kubernetes: cloud-native foundations, the CKAD/CKA/CKS certification tracks, control-plane internals, platform tooling, multi-cluster architecture, and MAANG-level system design and interview prep — cross-linking the existing Prometheus, Observability, and Platform Engineering chapters instead of duplicating them.
Site Reliability Engineering: From Foundations to Internet-Scale Systems
The complete 184-chapter, 15-part Site Reliability Engineering curriculum — from Linux internals and distributed-systems theory through reliability engineering, observability, incident response, platform engineering, and Staff/Principal-level MAANG interview preparation, ordered the way SRE expertise actually develops rather than as a topic index.
Aptitude
A book-shaped table of contents for aptitude test prep: quantitative aptitude, logical reasoning, verbal ability, and mock-test strategy for the aptitude rounds that still gate MAANG-adjacent hiring pipelines.