beginner
APIs
How services expose functionality through well-defined interfaces like REST
Caching
Storing frequently used data in fast storage to reduce latency and load
Client-Server Model
How clients and servers communicate over a network to power most applications
Databases
Where systems store, query, and persist data reliably over time
Load Balancing
Distributing incoming traffic across multiple servers for reliability and scale
Scalability
How systems handle growing load through vertical and horizontal scaling
System Design Fundamentals
Core building blocks and trade-offs behind designing software systems
intermediate
advanced
Caching Strategies
Patterns for reading, writing, and invalidating cached data reliably
Database Sharding
Splitting a dataset across multiple databases to scale writes and storage
Message Queues
Decoupling services with asynchronous, durable message passing
Microservices
Structuring a system as small, independently deployable services