Tier 1 · Foundations

Core Concepts

OOP Pillars

SOLID Principles

Creational Patterns

Structural Patterns

Behavioral Patterns

Tier 2

Tier 3

Tier 4

Tier 5

Phase 1: Requirements & Use Cases

Interviewer: "Design the Snake and Ladder board game."

Candidate: "Sure. Let me make sure I understand the scope. I'm thinking of a turn-based board game where multiple players roll dice, advance along a numbered grid, and either climb ladders or slide down snakes. The first player to reach the final square wins. Does that match what you have in mind?"

Interviewer: "Yes. What clarifying questions do you have?"

Candidate: "A few things I want to nail down before modeling. First — board size: standard is 10×10, positions 1–100? Second — how many players, and is it configurable? Third — dice configuration: one standard six-sided die, or multiple dice? Fourth — any special rules like rolling a 6 grants an extra turn, or three consecutive 6s sends you back to start?"

Interviewer: "Standard 10×10, 2–4 players, single die. Let's say rolling a 6 gives an extra turn but skip the three-6s rule for now."

Candidate: "Perfect. Let me define the actors and use cases. Actors: the Player (human or AI), and the Game engine that orchestrates everything. The core use cases are: (1) start a new game with configured players, snakes, and ladders; (2) a player rolls the dice and moves; (3) landing on a snake's head — player slides to the tail; (4) landing on a ladder's base — player climbs to the top; (5) detect win condition when a player reaches exactly 100; (6) boundary check — overshooting 100 means the player stays in place."

Interviewer: "Should…

In the full tutorial

  • Phase 2: Object Modeling
  • Phase 3: Class Design & Relationships
  • Phase 4: Design Patterns Application
  • Phase 5: Key Implementation
  • Phase 6: Extensibility & Trade-offs
  • Executive Summary

Glossary history

Click dotted jargon to save explanations here.