Resources

Curated links I keep coming back to. No noise, just what actually works.

DSA

Start with NeetCode — great problem selection and clean video explanations. If a video doesn't click, find the same problem on Striver's sheet and watch his YouTube walkthrough instead. For DP specifically, Aditya Verma's playlist is unmatched.

System Design

Watch the playlist to build intuition for common patterns, then use Hello Interview for structured problem breakdowns. Reading actual engineering blogs from Uber and Netflix is what separates a good answer from a great one.

8-Week System Design Roadmap

Week 1Core Building BlocksWeek 1
  • Mon: Requirements, capacity estimation, and back-of-the-envelope math
  • Tue: Scalability, horizontal vs vertical scaling, stateless services
  • Wed: Load balancing, health checks, failover
  • Thu: Caching basics, TTLs, cache-aside, write-through
  • Fri: DNS, CDN, API design, pagination, versioning
  • Sat: Revisit every topic from the week and write trade-offs in your own words
  • Sun: Practice - Design a URL shortener

Practice: Design a URL shortener (TinyURL)

Covers: requirements, API design, hashing, load balancing, caching

Week 2Data Layer FundamentalsWeek 2
  • Mon: SQL vs NoSQL and choosing the right database
  • Tue: Indexing, query patterns, denormalization
  • Wed: Replication, leader-follower, multi-leader
  • Thu: Sharding, partition keys, rebalancing, hot partitions
  • Fri: CAP theorem, consistency models, eventual consistency
  • Sat: Revisit Week 1 + Week 2 together and compare storage trade-offs
  • Sun: Practice - Design WhatsApp

Practice: Design WhatsApp

Covers: NoSQL, replication, partitioning, message storage, online presence

Week 3Caching and Distributed DataWeek 3
  • Mon: Advanced caching, cache invalidation, cache stampede, hot keys
  • Tue: Consistent hashing and distributed cache design
  • Wed: Object storage, blob storage, metadata storage
  • Thu: Read-heavy vs write-heavy systems
  • Fri: Idempotency, deduplication, retries, exactly-once illusion
  • Sat: Revisit Weeks 1-3 and redraw URL shortener + WhatsApp
  • Sun: Practice - Design a distributed cache

Practice: Design a Distributed Cache

Covers: consistent hashing, replication, eviction, hot keys, failure handling

Week 4Async SystemsWeek 4
  • Mon: Message queues, pub/sub, retries, dead-letter queues
  • Tue: Kafka architecture, partitions, consumer groups, ordering
  • Wed: Kafka vs RabbitMQ and when to use each
  • Thu: Rate limiting algorithms and abuse prevention
  • Fri: Fan-out, push vs pull, notification delivery guarantees
  • Sat: Revisit Weeks 1-4 and write failure scenarios for each design
  • Sun: Practice - Design a Notification System

Practice: Design a Notification System

Covers: Kafka, fan-out, retries, rate limiting, push vs pull, idempotency

Week 5Microservices and PatternsWeek 5
  • Mon: Monolith vs microservices and service boundaries
  • Tue: Synchronous vs asynchronous service communication
  • Wed: Saga pattern for distributed transactions
  • Thu: CQRS and when separating reads/writes helps
  • Fri: Event sourcing, outbox pattern, eventual consistency
  • Sat: Revisit Weeks 1-5 and map patterns to earlier systems
  • Sun: Practice - Design an order and payment system

Practice: Design an Order and Payment System

Covers: microservices, Saga pattern, CQRS, outbox pattern, consistency trade-offs

Week 6Real-Time and High-Scale SystemsWeek 6
  • Mon: WebSockets, long polling, server-sent events
  • Tue: Presence systems and live status updates
  • Wed: Feed generation, fan-out-on-write vs fan-out-on-read
  • Thu: Search autocomplete, ranking, inverted indexes
  • Fri: Observability, metrics, logs, tracing, SLOs
  • Sat: Revisit Weeks 1-6 and explain every trade-off out loud
  • Sun: Practice - Design a social feed

Practice: Design a Social Feed

Covers: fan-out, ranking, caching, feeds, hot users, observability

Week 7Real System PracticeWeek 7
  • Mon: Design Netflix / YouTube video streaming
  • Tue: Design Uber ride matching and location tracking
  • Wed: Design Ticketmaster with high-concurrency booking
  • Thu: Design Dropbox file sync and metadata storage
  • Fri: Design search autocomplete or rate limiter
  • Sat: Revisit all weak topics and rebuild diagrams without notes
  • Sun: Practice one full 45-minute system design round

Practice: Design Ticketmaster

Covers: high concurrency, locking, queues, consistency, payment flow

Week 8Interview Simulation and Trade-OffsWeek 8
  • Mon: Practice requirements clarification and scope control
  • Tue: Practice capacity estimation and bottleneck analysis
  • Wed: Practice data model and API design from scratch
  • Thu: Practice scaling plan, failure modes, and trade-offs
  • Fri: Review common mistakes and prepare reusable templates
  • Sat: Revisit Weeks 1-7 and explain designs like an interview
  • Sun: Mock interview on Pramp

Practice: Mock interview on Pramp

Covers: end-to-end system design, trade-offs, bottlenecks, scaling plan

AI

If you're starting from scratch, go through AI Engineering from Scratch — it builds every algorithm from math before touching a framework. Karpathy's GPT video is the single best thing to watch to understand transformers from the ground up.