Scalability Patterns and Techniques Questions

Scaling a system to handle growth in traffic and data: horizontal versus vertical scaling, statelessness, sharding and partitioning strategies, read replicas, and connection pooling. Covers capacity estimation, identifying bottlenecks, and the tradeoffs each scaling axis introduces. The general toolkit for taking a design from thousands to millions of users.

EasyTechnical
29 practiced

Explain vertical scaling (scale up) versus horizontal scaling (scale out). List three advantages and three disadvantages of each. Then describe the concrete signals or thresholds (CPU, memory, disk, latency) you would monitor to decide that vertical scaling is no longer sufficient and horizontal scaling is needed for a service.

MediumTechnical
29 practiced

You need to shard a user-profile service that is projected to grow from 10 million to 1 billion users. Walk through your shard-key selection criteria, the migration approach from a single shard to many, and how you would rebalance shards with minimal downtime. Compare the trade-offs of consistent-hashing and range-based sharding for this workload.

HardTechnical
34 practiced

Compare consistent hashing and range-based partitioning for a large-scale datastore where complex queries and joins across ranges are common. Explain the pros and cons of each for query locality, rebalancing, and ease of scaling, then propose a hybrid partitioning approach that supports complex queries without creating hotspots.

EasyTechnical
24 practiced

Explain backpressure in a distributed system and why it matters for reliability. What mechanisms would you use to implement it between services, such as request quotas, flow control in a messaging system, or reactive streams, and how do they prevent cascading failure?

HardTechnical
26 practiced

A hot cache entry is about to expire, or a backend service is recovering from an outage, and you expect a flood of simultaneous requests to hit the same key or the same origin at once. Design a comprehensive strategy to prevent this 'thundering herd' across a globally distributed cache and service fleet, covering both techniques that stop the herd from forming in the first place and techniques that contain it once it starts. What would you monitor and alert on to confirm the mitigation is working, and what trade-off would you make between complexity and protection?

Unlock Full Question Bank

Get access to all Scalability Patterns and Techniques interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.