4 Things: Problems, Concepts, Tidbits, Skim topics 2 Types: HLD vs LLD

Weekly Targets

WeekFocusWhat to Cover
Week 1Foundation + Interview FrameworkHLD interview flow, requirements, APIs, scale estimation, SQL vs NoSQL, caching basics
Week 2Core Distributed Conceptssharding, replication, consistency, CAP, ACID, indexes, load balancing, Bit.ly, Dropbox
Week 3Queues + Async SystemsPubSub, Kafka basics, queues, retries, idempotency, job scheduler, web crawler
Week 4Contention + Transactionsdistributed locks, 2PC, Saga, Ticketmaster, hotel reservation, payment systems
Week 5Realtime + Feed SystemsWebSockets, realtime messaging, fanout, WhatsApp, FB News Feed, live comments
Week 6Storage + Search + Geoobject storage, time-series DB, indexing, geo systems, Uber, Google Docs
Week 7LLD + Mixed Design RepsSOLID, OOP, design patterns, parking lot, elevator, cache, feature flags
Week 8Mock Interviews + Final Revisionfull mocks, weak-area repair, reusable building blocks, confidence reps

Assumptions

  • Goal is interview-ready system design thinking, not memorization
  • Problems, Concepts, Tidbits, and Skim Topics will run together
  • Problems → deep practice + articulation
  • Concepts → strong understanding + tradeoffs
  • Tidbits → lightweight familiarity + conversational understanding
  • Skim Topics → recognition-level awareness only
  • Not every system design problem needs full implementation depth
  • Reusable building blocks matter more than memorizing architectures
  • Most systems are combinations of:
    • caching
    • queues
    • storage
    • indexing
    • partitioning
    • consistency models
    • realtime communication
  • Mock interviews and articulation practice are mandatory
  • LLD focus is practical engineering maturity, not memorizing all GoF patterns
  • Communication quality is part of system design evaluation
  • Existing real-world engineering experience should be leveraged aggressively

System Design Affirmation

Goal is not just drawing boxes. Goal is demonstrating senior/staff-level engineering thinking.

For every design:

  • Clarify requirements and constraints
  • Estimate scale before designing
  • Explain tradeoffs continuously
  • Think in reusable building blocks
  • Discuss bottlenecks and failure handling
  • Explain why a component exists
  • Evolve the system step-by-step

Strong candidates:

  • communicate clearly under ambiguity
  • prioritize practical solutions
  • reason about scaling gradually
  • discuss tradeoffs calmly
  • connect concepts to real systems
  • guide the interviewer through decisions

For distributed systems concepts:

  • focus on intuition first
  • implementation depth only where useful
  • attach concepts to real systems immediately

For LLD:

  • prioritize extensibility, maintainability, and clarity
  • prefer clean interfaces over pattern memorization
  • discuss tradeoffs instead of overengineering

Remember:
Structured thinking > complex architecture.
Consistency > binge studying.
Confidence comes from repeated articulation and mock discussions.

Latest