InterviewStack.io LogoInterviewStack.io

Large Scale System Architecture and Evolution Questions

Design and evolution of architectures to support massive user bases large data volumes and very high request rates. Topics include global distribution strategies such as geographic partitioning and multi region replication; high throughput low latency design choices including careful partitioning efficient data pipelines and edge caching; storage and data lifecycle strategies for petabyte scale including tiered storage and efficient compaction; federation and aggregation patterns for global services; migration strategies for rewarding systems and rolling upgrades; and operational concerns for large fleets including monitoring alerting incident response and cost management. Interviewers assess the candidate on ability to reason about long term maintainability operational scaling and trade offs required to run systems at extreme scale.

MediumTechnical
31 practiced
Implement a consistent hashing ring in Python that supports adding and removing nodes and mapping arbitrary keys to nodes. API: add_node(node_id, weight=1), remove_node(node_id), get_node(key). Use virtual nodes to improve balance and ensure get_node runs in O(log N) with N virtual nodes.
EasyTechnical
36 practiced
Design a pagination API for a user timeline that supports cursor-based pagination suitable for heavy writes. Specify request/response schema examples, how opaque cursors are generated and validated, handling of deletes and inserts between pages, and trade-offs versus offset pagination and keyset pagination.
MediumSystem Design
42 practiced
Design a user-profile microservice for 100M active users with peak load of 10k writes/s and 500k reads/s. Describe API design, partitioning strategy, caching, boundaries for data ownership, handling fan-out (e.g., followers), and consistency choices. Explain how you'd evolve this service over the next 2–3 years as traffic grows.
MediumTechnical
30 practiced
Implement a Python function that deduplicates incoming request IDs over a sliding window of T seconds. API: class Deduplicator(window_seconds) with method seen(request_id) that returns True if request is duplicate within the window, otherwise False and records it. The implementation should be O(1) amortized per request and bounded memory proportional to unique IDs within the active window.
HardSystem Design
31 practiced
You're responsible for a stable public API used by many clients. Describe a safe evolution strategy covering schema changes, feature flags, versioning, deprecation policies, consumer-driven contract testing, and rollout techniques to minimize client disruption. Include how to measure compatibility and automate detection of breaking changes.

Unlock Full Question Bank

Get access to hundreds of Large Scale System Architecture and Evolution interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.