Implement a simplified multi-level banking system
Problem Description
Design and implement a simplified multi-level banking system. The system must process operations that each include a stringified timestamp in milliseconds. These timestamps are guaranteed to be unique and provided in strictly increasing order. The system's design should cumulatively support the following functionalities:
Level 1: Core Banking Operations
- Create new accounts.
- Deposit money into existing accounts.
- Transfer money between two accounts.
Level 2: Account Ranking
- Rank accounts based on the total value of their outgoing transactions.
Level 3: Scheduled Payments
- Allow users to schedule future payments.
- Provide functionality to check the current status of any scheduled payment.
Level 4: Account Merging
- Support merging two distinct accounts.
- Upon merging, the system must retain the combined balances of both original accounts.
- The complete transaction histories of both original accounts must also be preserved and accessible through the merged entity.
AI interview prep
Core dilemma
Balancing the integrity and auditability of immutable financial transaction history with the complexities of mutable account states, especially under operations like account merging and real-time aggregations, all while adhering to strict temporal ordering.
3 tradeoffs and 3 stress tests locked
Interview prep
Unlock the interviewer X-Ray rubric, tradeoff matrix, stress tests, clarifying questions, and key concepts.
Implement a simplified multi-level banking system
Problem Description
Design and implement a simplified multi-level banking system. The system must process operations that each include a stringified timestamp in milliseconds. These timestamps are guaranteed to be unique and provided in strictly increasing order. The system's design should cumulatively support the following functionalities:
Level 1: Core Banking Operations
- Create new accounts.
- Deposit money into existing accounts.
- Transfer money between two accounts.
Level 2: Account Ranking
- Rank accounts based on the total value of their outgoing transactions.
Level 3: Scheduled Payments
- Allow users to schedule future payments.
- Provide functionality to check the current status of any scheduled payment.
Level 4: Account Merging
- Support merging two distinct accounts.
- Upon merging, the system must retain the combined balances of both original accounts.
- The complete transaction histories of both original accounts must also be preserved and accessible through the merged entity.