Design a scalable, reliable system
AnthropicSoftware Engineer · Technical ScreenLast updated
The prompt evaluates competence in large-scale distributed system design, covering storage architecture, consistency and replication strategies, caching, APIs and data models, operational reliability, security, and cost/capacity planning.
Design a scalable and highly reliable system to solve an open-ended, complex problem domain (e.g., content feed, ride matching, or file storage). Specify: (a) functional and non-functional requirements (availability, latency SLOs, throughput, consistency, durability); (b) high-level architecture (clients, API gateway, services, data stores, messaging/streaming); (c) core APIs and data models; (d) partitioning/sharding, replication, and consistency strategy (including transactions, idempotency, and schema evolution); (e) caching strategy across client, edge/CDN, and server tiers; (f) load balancing, request routing, and autoscaling; (g) failure handling (timeouts, retries with backoff, circuit breakers), backpressure, and disaster recovery (RPO/RTO, multi-region); (h) observability (metrics, logs, traces), rate limiting, and security (authn/authz, encryption); (i) capacity planning, cost trade-offs, and a phased scaling roadmap; (j) key bottlenecks, risks, and mitigations. Justify design choices and trade-offs throughout.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.