Design an ATM
Medium · Low-Level Design · about 45 minutes
Asked at Uber, Amazon, Microsoft, PayPal.
Design the software for an ATM. A customer inserts a card, enters a PIN (3 attempts), then checks their balance, withdraws cash, or deposits. Withdrawals are dispensed from a limited stock of 100, 50 and 20 notes, and the bank's account service is the source of truth for balances.