Questions in System Design
Design a cloud data warehouse — separation of storage and compute, query optimizer, and elastic virtual warehouses. Cover functional/non-functional requirements, capacity estimation, API and data model, scaling strategy, caching, and fault tolerance.