Handle payment-service outages
DoorDashSoftware Engineer · OnsiteLast updated
This question evaluates a candidate's competence in designing fault-tolerant payment workflows and operational resilience, covering concepts such as idempotency, retry strategies, queuing and dead-letter handling, circuit breaking, reconciliation, and monitoring.
You own a service that computes courier payouts and then submits payout requests to a downstream payment processor. What should your system do if the payment service is temporarily unavailable, timing out, or returning intermittent errors?
Discuss how to preserve correctness and a good user experience, including:
- idempotency for payout requests
- retries with exponential backoff and jitter
- when to retry synchronously vs. asynchronously
- circuit breaking and fallback behavior
- queue-based recovery and dead-letter handling
- reconciliation after the payment service recovers
- monitoring and alerting
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.