Learning track 04
Low Level Design, fresher to architect
Twelve modules from interview framework to architect-level patterns. One CampusOS platform grows with every chapter — parking, booking, caching, and games all plug into the same design vocabulary.
- Articles
- 67
- Modules
- 12
- Total read
- 14 hr 12 min
- Streak
- 0 days
Start here
LLD vs HLD: What Interviewers Actually Test
LLD Mindset & Interview Framework
How to think, clarify, and structure answers under time pressure
- LLD vs HLD: What Interviewers Actually TestWhere low-level design stops and high-level design starts — and why both matter in the same interview loop.
- The Six-Step Whiteboard FrameworkA repeatable flow from vague prompt to working class diagram and core Java skeleton.
- Functional vs Non-Functional RequirementsThe questions that prevent you from designing the wrong system in the first five minutes.
- Top LLD Interview MistakesThe patterns that fail candidates even when they know SOLID — and how to avoid them.
OOP Foundations for Design
Turn language features into design decisions
- Four OOP Pillars Applied to DesignHow encapsulation, abstraction, inheritance, and polymorphism show up in real class diagrams.
- Composition Over InheritanceWhen to compose collaborators and when a subtype is the right model.
- Finding Nouns, Verbs, and OwnershipTurn a problem statement into entities before you name a single method.
- Encapsulation and InvariantsProtect state with contracts so invalid objects never exist.
SOLID & Design Judgement
Diagnostic questions that keep classes maintainable
- SOLID as Diagnostic QuestionsFive questions to ask about every class — with interview framing, not textbook definitions.
- Single Responsibility in Real SystemsSplit classes by reason to change, not by line count.
- Open/Closed and Extension PointsAdd behaviour with new types, not edited conditionals.
- Liskov Substitution TrapsSubtypes must honour the parent's promise — or the hierarchy is lying.
- Interface Segregation and Dependency InversionSmall interfaces and constructor injection keep CampusOS modules testable.
Design Patterns Toolkit
Creational, structural, and behavioral patterns that earn their place
- When to Use Which PatternA decision guide — not a catalogue to memorise.
- Factory and Abstract FactoryCentralise object creation when the concrete type should be a detail.
- Builder PatternAssemble complex objects step by step without telescoping constructors.
- Strategy PatternSwap algorithms at runtime without touching the client.
- Observer PatternDecouple event sources from listeners.
- Decorator PatternAdd responsibilities dynamically without subclass explosion.
- Command and UndoEncapsulate requests as objects for queues, logging, and undo stacks.
- State and Template MethodBehaviour that changes with mode vs behaviour with fixed steps.
- Repository and FacadeHide persistence and subsystem complexity behind narrow ports.
Modeling & Communication
UML and whiteboard skills interviewers actually score
Layers, APIs & Code Structure
How CampusOS services are organised in code
- Layered Architecture in PracticeController, service, domain, repository — who calls whom.
- DTO vs Entity SeparationKeep transport shapes separate from domain models.
- Exception Hierarchy DesignDomain errors vs infrastructure failures — typed, not stringly.
- Pagination and Filtering APIsOffset, cursor, and filter design for list endpoints.
- Middleware Chain of ResponsibilityCompose cross-cutting concerns as a pipeline.
Concurrency in LLD
Thread safety without turning every class into a lock
- Thread Safety FundamentalsShared mutable state, races, and the patterns that fix them.
- Concurrency Toolkit for LLDLocks, atomics, concurrent collections, and executors in design problems.
- Producer-Consumer PatternDecouple producers from workers with a bounded queue.
- Read-Write Lock DesignOptimise read-heavy shared resources.
Machines & Physical Systems
Parking, elevators, vending machines, ATMs, and lockers
- Design a Parking Lot SystemCampusOS parking — spots, tickets, pricing by vehicle type.
- Design an Elevator SystemMulti-car, multi-floor scheduling with state-driven door logic.
- Design a Vending MachineInventory, payment, and dispense — modelled with State pattern.
- Design an ATM SystemCard session, PIN, cash dispensing, and ledger updates.
- Design an Amazon Locker SystemCompartment allocation, OTP pickup, and expiry.
Booking & Reservation
Slots, inventory, conflicts, and concurrent holds
- Design Movie Ticket BookingShows, seats, concurrent holds, and payment.
- Design Hotel BookingRoom inventory, date ranges, and overlapping reservations.
- Design Restaurant ManagementTables, orders, kitchen queue, and billing.
- Design Library ManagementCatalog, members, loans, fines, and search.
- Design a Meeting SchedulerCalendars, conflict detection, and recurring events.
- Design Cab BookingRiders, drivers, matching, and trip lifecycle.
- Design an Online AuctionBids, timers, reserve price, and winner selection.
Data Structures & In-Memory Systems
Caches, logs, rate limiters, and pub-sub in one process
- Design an LRU CacheO(1) get/put with HashMap plus doubly-linked list.
- Design a Logging FrameworkLevels, appenders, formatters, and async dispatch.
- Design a Rate LimiterToken bucket and sliding window in one process.
- Design an In-Memory File SystemDirectories, files, Composite pattern, and path resolution.
- Design a Key-Value Store with TTLExpiry, lazy deletion, and background sweeper.
- Design In-Process Pub-SubTopics, subscribers, and delivery guarantees in one JVM.
- Design a Concurrent Hash MapStriped locking or segments for parallel access.
- Design a Notification ServiceMulti-channel delivery with retries and templates.
Platforms & Social
Q&A, feeds, notifications, and expense sharing
Games, State & Architecture Patterns
Game loops, state machines, and clean architecture
- Design a Chess GameBoard, pieces, move validation, and turn management.
- Design Tic-Tac-ToeBoard, win detection, and two-player loop.
- Design Snake and LadderBoard, dice, snakes, ladders, and player positions.
- Design a Deck of CardsShuffle, deal, and hand management for card games.
- Design an Order State MachinePlaced → paid → shipped → delivered with guarded transitions.
- Clean Architecture LayersDomain at the centre; frameworks at the edge.
- Hexagonal ArchitecturePorts define needs; adapters provide technology.
- CQRS and Event Sourcing IntroWhen to split read and write models in LLD discussions.
- Plugin Architecture and Feature FlagsExtensibility without redeploying core code.