System Design Basics
System design for backend interviews and real systems: a step-by-step framework, estimation, scalability and availability, load balancing, caching and CDNs, SQL vs NoSQL, replication and sharding, CAP and consistency, queues, rate limiting, API design, and worked designs of a URL shortener and a notification system.