CAP theorem
Fault tolerance and high availability
Distributed consensus (Paxos, Raft)
Scalability (vertical vs horizontal)
Load balancing
Caching (LRU, TTL, cache invalidation)
CDN (Content Delivery Network) basics
Rate limiting and throttling
Message queues and asynchronous processing
Microservices architecture vs Monolith
API design and versioning
Authentication and authorization
Monitoring, logging, and alerting
Database design (SQL vs NoSQL)
Data partitioning (sharding) and replication
Consistency models (strong, eventual)
Indexing and query optimization
Data backup and disaster recovery
As per 2025, this diagram below is a good template to design a common application.
Source: System Design Primer Github page