This question evaluates system design competencies including asynchronous job orchestration, reliable background processing (state transitions, retries, idempotency), and high-throughput in-memory caching (eviction, sharding, consistency, hot-key mitigation) within the System Design domain, requiring both conceptual understanding and practical application details. It is commonly asked to assess an engineer's ability to define clear APIs and data models, reason about scaling, fault-tolerance, observability, and trade-offs between consistency, latency, and reliability in large-scale production environments.
Design two systems. You can assume a large-scale production environment; focus on clear APIs, data models, scaling, reliability, and trade-offs.
Design a service that lets clients submit background jobs and later query results.
Design a caching layer in front of a database to reduce latency and increase throughput.