Design multi-region banking data synchronization
RevolutSoftware Engineer · Technical ScreenLast updated
This question evaluates competency in distributed systems and data consistency for financial applications, emphasizing replication, transaction correctness, conflict resolution, idempotency, and operational resilience.
System design: Global bank with multi-region data consistency
A digital bank operates in multiple geographic regions (e.g., EU, US, APAC). Users can log in and perform operations (balance checks, transfers, card payments) from anywhere.
Prompt
Design a data architecture that keeps customer/account data consistent across regions.
Requirements
- High availability and low latency for reads (users worldwide).
- Correctness for money movement (no double-spend).
- Tolerate regional failures and network partitions.
- Clear consistency model: what must be strongly consistent vs what can be eventually consistent.
Discuss
- Replication strategy (sync/async, leader-based vs multi-leader).
- How to handle cross-region writes (especially transfers).
- Conflict resolution and idempotency.
- Operational concerns: recovery, reconciliation, auditing, observability.
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.