Katkat

Design multi-region banking data synchronization

RevolutSoftware Engineer · Technical Screen

Last 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.