Thoughts, notes, and explanations on Python, Data Structures, Algorithms, Machine Learning, and learning how to learn effectively.
This section will grow over time with structured posts and practical insights.
Thoughts, notes, and explanations on Python, Data Structures, Algorithms, Machine Learning, and learning how to learn effectively.
This section will grow over time with structured posts and practical insights.
LLD Deep Dive #1 — Designing a Parking Lot What this document is: A genuine, step-by-step walkthrough of how to think through a Parking Lot LLD problem in an interview. Not a finished design dropped on you — but the reasoning, the false starts, the alternatives weighed, and the justifications that lead to each design decision. Time investment: Read this slowly. If you’re doing this for interview prep, it’s worth treating each section as its own thinking exercise — pause and ask yourself “what would I do here?” before reading on. ...
LLD Deep Dive #2 — Designing an Elevator System What this document is: A genuine, step-by-step walkthrough of how to think through an Elevator LLD problem in an interview. We’ll reason from first principles, weigh alternatives, and document each design decision — building toward a clean, extensible design centered on the State pattern. Table of Contents Why This Problem Matters Stage 1 — Receiving the Problem Stage 2 — Clarifying Requirements Stage 3 — Identifying Entities Stage 4 — Modeling Requests (Internal vs External) Stage 5 — The State Pattern Decision Stage 6 — Implementing the States Stage 7 — The Elevator Class Stage 8 — The Dispatcher and Scheduling Strategy Stage 9 — The Building (Top-Level Coordinator) Stage 10 — Validating with a Mental Walkthrough Stage 11 — Anticipating Follow-Up Questions Final Reflection — What This Problem Teaches 1. Why This Problem Matters If Parking Lot is the canonical “model relationships” problem, Elevator is the canonical “model state transitions” problem. It’s specifically designed (whether interviewers know it or not) to make the State pattern shine. ...
LLD Deep Dive #3 — Designing a Library Management System What this document is: A genuine, step-by-step walkthrough of how to think through a Library Management LLD problem. We’ll reason from first principles, weigh alternatives, and document each design decision — building toward a clean, extensible system that handles books, members, loans, fines, and reservations. Table of Contents Why This Problem Matters Stage 1 — Receiving the Problem Stage 2 — Clarifying Requirements Stage 3 — Identifying Entities (And the Big Modeling Decision) Stage 4 — Modeling Books vs Book Copies Stage 5 — Modeling Members and Their Policies Stage 6 — The Loan Lifecycle Stage 7 — The Reservation Queue Stage 8 — Search Functionality Stage 9 — The Library (Top-Level Coordinator) Stage 10 — Validating with a Mental Walkthrough Stage 11 — Anticipating Follow-Up Questions Final Reflection — What This Problem Teaches 1. Why This Problem Matters The library system is the canonical “policy-driven domain modeling” interview problem. What it tests: ...
LLD Deep Dive #4: Designing a Tic Tac Toe Game What this document covers: A rigorous, step-by-step examination of how to approach a Tic Tac Toe Low-Level Design (LLD) problem in a technical interview. The document walks through the reasoning process at each design juncture, evaluates competing alternatives, and provides justification for every decision made. The finished design is a consequence of the reasoning, not its starting point. How to read this document: Read it slowly and deliberately. The problem appears trivial at the surface, since Tic Tac Toe requires only a three by three grid, two players, and a rule for detecting three marks in a row. That surface simplicity is precisely why the problem is used in interviews: it invites the unwary candidate to produce a short procedural script, when the actual expectation is a properly modelled, extensible, and testable object-oriented design. ...
LLD Deep Dive #4: Designing a Grocery / E-Commerce Management System What this document is: A step-by-step walkthrough of the reasoning process required to design an e-commerce LLD problem in an interview setting. The specific flavour is a grocery store, though the design generalises to any online retail system. Every design decision is derived from first principles, alternatives are evaluated at each fork, and the resulting system is one whose components can be explained, defended, and extended. ...
LLD Deep Dive #4: Designing a Ride-Sharing System What this document is. This is a comprehensive, first-principles walkthrough of how to design a ride-sharing system (of the Uber or Ola variety) as a low-level design (LLD) interview problem. It reasons from the vague problem statement through requirement clarification, entity identification, class hierarchy decisions, behavioural modelling with design patterns, and finally a fully composed system. Every design choice is stated together with the alternatives that were considered and the criteria that decided between them, so that a learner reading this can not only reproduce the design but also defend it and adapt it. ...
LLD Deep Dive #4: Designing an ATM System What this document is: A structured, step-by-step walkthrough of the ATM low-level design problem as it would be reasoned through in a technical interview. The document proceeds from first principles, weighs alternative designs at each decision point, and arrives at a solution that combines the State pattern, the Strategy pattern, the Command pattern, and a clean separation between hardware and software concerns. Definitions of every technical term are provided when the term is introduced, so the document can be read without prior familiarity with the design-pattern literature. ...
LLD Deep Dive #4: Designing a Movie Ticket Booking System (BookMyShow-style) Purpose of this document. A staged walkthrough of how to reason through a Movie Ticket Booking Low-Level Design (LLD) problem in an interview setting. Each design decision is presented alongside the alternatives that were considered and the rationale for the final choice. The resulting design is modular, extensible, and treats concurrency as a first-class concern rather than a post-hoc extension. ...
LLD Deep Dive #4 — Designing a Text Editor What this document is: A genuine, step-by-step walkthrough of how to think through a Text Editor LLD problem in an interview. Not a finished design dropped on you — but the reasoning, the false starts, the alternatives weighed, and the justifications behind each design decision. Time investment: Read this slowly. If you’re doing this for interview prep, treat each stage as its own thinking exercise — pause and ask yourself “what would I do here?” before reading on. ...