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.

Related guides