Protect SLA and Choose Storage
DoorDashSoftware Engineer · Technical ScreenLast updated
This question evaluates system design competencies in service reliability and storage architecture, focusing on SLA protection during upstream latency spikes and trade-offs in choosing in-memory caches (e.g., Redis), relational databases, or alternative storage for order and payment state.
You own a service that calculates delivery-order payments from order lifecycle events.
Discuss two design questions:
- If an upstream dependency suddenly has very high latency, how would you keep your own service within its SLA?
- For storing order state and payment data, how would you choose between Redis, a relational database, or another storage system? Explain the trade-offs and your recommended architecture.
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.