Design
ATM Machine
Design an ATM system supporting card authentication, balance inquiry, cash withdrawal, and deposit operations.
01 - Why interviewers ask this
ATMs force you to reason about a strict state machine and money correctness under concurrency — two things interviewers love probing even in an "easy" question.
02 - Where this system exists in the real world
You interact with this design every day.
Physical bank ATMs and cash recycling machines
Self-service kiosks for bill payment and deposits
Point-of-sale terminals with card + PIN auth flows
03 - What you'll master
Solve this once. Know it forever.
Model a card/PIN authentication state machine
Handle cash dispensing with denomination constraints
Keep transaction and account balance updates atomic
04 - What you'll design
7 functional · 4 non-functional requirements.
User inserts card and enters PIN for authentication
6 more requirements inside
Sign in to unlock the full brief and start designing
05 - Companies that ask this
You may face this exact question in your next interview.
Ready?
Open the canvas.
Design it yourself.
See all requirements, use staged hints, run your code, and compare with community discussions - all on the same canvas.
Start Solving