Ramp·Software Engineer·Technical Phone Screen
- Design a banking system that supports creating accounts, depositing funds, transferring between accounts, and ranking accounts by total outgoing transaction volume.
- Extend the banking system with a PAY operation that immediately debits an account and schedules a 2% cashback to be credited exactly 24 hours later. Each payment gets a unique ID. How do you structure the scheduling and ensure any operation after the due time reflects the credited balance?
- How would you implement GET_PAYMENT_STATUS to return whether a cashback is still pending or has already been received, and handle invalid account or payment ID lookups?
“The first few operations felt manageable.”