A framework for the interview
Clarify requirements (functional + non-functional, scale estimates) → define the API → sketch the high-level architecture → drill into data model and storage → identify bottlenecks and scale them (caching, sharding, replication, queues) → discuss trade-offs. Always state assumptions and do back-of-envelope capacity math.
Scaling building blocks
Vertical scaling (bigger machine) is simple but capped; horizontal scaling (more machines) needs load balancing and statelessness. Caches (CDN, Redis) cut latency and DB load. Replication adds read capacity and availability; sharding/partitioning adds write capacity. Message queues decouple producers from consumers and absorb spikes.
CAP & consistency
Under a network partition you must choose availability or consistency (CAP). Many systems pick eventual consistency for availability and partition tolerance. Know the spectrum: strong, read-your-writes, eventual — and pick per use case.