Goal: “Design patterns aren’t rules — they’re a shared vocabulary.” — We’re closing out LLD and kicking off DevOps this week. By Friday, we’ll have designed parking lots, elevator systems, and chess games — and we’ll know our way around DNS, SSH, and HTTPS. The finish line is in sight.
Topics
| Day | Track | Focus | Topics |
|---|---|---|---|
| Mon | A — DSA Practice | Timed Sessions | Solve 2-3 problems. Set a 20-minute timer per problem — practice common interview patterns under real time pressure. |
| Tue | B — LLD | Structural & Behavioral Patterns | Decorator Pattern · Facade Pattern · Proxy Pattern · Observer Pattern · Strategy Pattern · Command Pattern |
| Wed | A — DSA Practice | More Timed Sessions | Solve 2-3 problems. Continue timed practice — if we can’t solve a medium in 20 minutes, that’s a signal to review that pattern. |
| Thu | B — LLD | More Patterns & Design Questions | State Pattern · Template Method Pattern · Design Parking Lot · Design Elevator System · Design BookMyShow · Design Vending Machine |
| Fri | B — LLD + DevOps | LLD Wrap & DevOps Start | Design Snake and Ladder · Design Chess · Design Library Management · Design ATM · DNS · Networking Basics · SSL/TLS and HTTPS · SSH · HTTP Basics |
Note: Friday is dense — but here’s the thing. The LLD design questions are practice problems, not theory. Try designing Parking Lot from scratch in 60 minutes before reading the notes. The DevOps topics on Friday are quick reads — DNS, HTTP, SSH are things we already use every day, now we’re just making sure we can explain them in an interview.
Key Concepts
- Observer pattern is pub/sub within an application — one object changes state, all its dependents get notified automatically. Think event listeners in JavaScript, or RxJS. Strategy pattern lets us swap algorithms at runtime — sorting strategies, payment methods, compression algorithms. State pattern makes an object’s behavior change based on its internal state — vending machines, traffic lights, order workflows.
- For LLD design questions, our approach is: identify entities (nouns) → define relationships → list behaviors (verbs) → pick design patterns that fit → draw a UML diagram → write key classes. The Parking Lot question is the “hello world” of LLD interviews — get it clean, and the rest follow the same structure.
- Decorator adds behavior to objects dynamically without modifying the original class — think middleware chains, Java I/O streams, or Python decorators. Facade provides a simplified interface to a complex subsystem — it’s what we do every time we wrap a messy API in a clean service layer.
- DevOps basics every developer should know: DNS resolves domain names to IP addresses (it’s a distributed hierarchical database). HTTPS = HTTP + TLS encryption (the padlock in the browser). SSH = secure remote access (how we connect to servers). These come up in “how does the internet work” style interview questions.
Practice
- DSA: Solve 5-6 timed problems this week — 20 minutes per problem, no peeking at solutions until the timer runs out
- LLD: Design a Parking Lot system from scratch in 60 minutes — identify entities, draw UML, write the core classes, then compare with the notes
- LLD: Pick one more design question (Elevator or BookMyShow) and try it in 60 minutes
- DevOps: Trace a DNS lookup from typing a URL in the browser to getting an IP address — write out every step
~25 topics + DSA practice · ~2 hrs/day · LLD patterns done! DevOps begins