Katkat

Implement a simplified multi-level banking system

CircleSoftware Engineer · Online Assessment

Last updated

Implement a simplified multi-level banking system evaluates algorithm design, data structures, correctness, complexity, edge cases, and implementation details in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

Implement a simplified banking system with multi-level requirements. All operations accept a stringified timestamp in milliseconds; timestamps are guaranteed to be unique and provided in strictly increasing order. You have access to data from the current and all previous levels. Level 1: Support creating new accounts, depositing money into accounts, and transferring money between two accounts. Level 2: Support ranking accounts based on the total value of outgoing transactions. Level 3: Allow scheduling payments and checking the status of scheduled payments. Level 4: Support merging two accounts while retaining both accounts' balances and transaction histories. You may proceed to the next level only after all tests for the current level pass.