Implement a Time-Aware Banking System
Company: Airbnb
Role: Software Engineer
Category: Software Engineering Fundamentals
Difficulty: hard
Interview Round: Online Assessment
Overview: Build an incremental in-memory banking system with accounts, transfers, spender rankings, scheduled payments, cancellation, merging, and historical balances. Across all levels, the design must preserve deterministic ordering, atomic money movement, settlement boundaries, idempotency, derived state, pending-work rebinding, as-of history, and cross-level tests.