Design a Scalable Web Application
The vaguest interview prompt is a test of structure — what to ask before you draw boxes.
“Design a scalable web application” shows up in interviews constantly. It can mean almost anything.
Gmail, WhatsApp, and Instagram are all “scalable web applications” — and they are completely different systems.
So what is actually being tested?
Usually a handful of fundamentals:
- Caching
- Rate limiting
- Load balancing
- Consistency vs availability
- Fault tolerance
The part most people miss: do not design immediately.
Ask about non-functional requirements first
- Expected traffic and scale?
- Latency expectations?
- Consistency or availability priority?
- Single region or multi-region?
- Real-time needs, or is eventual consistency acceptable?
Only after those answers does the architecture start to make sense.
System design is not about drawing boxes. It is about structured thinking and trade-offs.