What is scalability?
Why Interviewers Ask This
This question tests conceptual clarity. Interviewers want to hear a precise, confident definition before moving to more complex System Design topics. It also reveals how well you can explain technical ideas to non-experts.
Answer
Scalability is the ability of a system to handle an increasing amount of work (users, data, requests) by adding resources. Two primary types: (1) Vertical scaling (Scale-up): adding more resources to a single machine — more CPU cores, more RAM, faster SSDs. Simpler (no code changes), no distributed systems complexity. Limits: hardware ceiling (can't add infinite RAM), single point of failure, expensive high-end hardware, downtime during upgrade; (2) Horizontal scaling (Scale-out): adding more machines to distribute the load. No theoretical limit — add as many servers as needed. More complex — requires load balancing, stateless application design, data partitioning, distributed coordination. Cloud-native, cost-effective (commodity hardware). Most large-scale systems (Google, Facebook, Amazon) use horizontal scaling. Elastic scalability: automatically scaling up/down based on demand (auto-scaling groups in AWS). Scalability dimensions: data volume (storage), transaction volume (throughput), geographic distribution. Trade-offs: scalable systems are more complex — distributed transactions, consistency challenges, network partitions. Good scalability design starts early — retrofitting scalability is expensive. Always ask: "What does the system need to scale to?" before over-engineering.
Pro Tip
Back up your answer with a specific project or situation. Saying 'In my last System Design project, I used this when...' immediately makes your answer more credible and memorable.