Design under vague distributed requirements
SnowflakeSoftware Engineer · Technical ScreenLast updated
This question evaluates expertise in distributed system architecture, metadata and schema management, transactional DDL semantics, consistency and replication strategies, API and data-model design, multi-tenant isolation, observability, security, and capacity planning.
You are given a vague distributed-systems prompt. Show how you would clarify requirements and then design the system end to end: define the core use cases and SLAs, propose external APIs, select a data model, choose a sharding and replication strategy, justify a consistency model (strong vs eventual), and explain read/write paths. Describe failure handling (timeouts, retries, idempotency), leader election, backpressure, hot-key mitigation, caching, schema evolution, observability (metrics, logs, tracing), security, and capacity planning. Present a high-level architecture and discuss the key trade-offs you made.
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.