Design Vending Machine
Product dispensing machine
Overview
Design a Vending Machine that accepts coins/notes, dispenses products, and returns change.
Key Concepts
State Pattern: Very common question to test State implementations (Idle, HasMoney, Dispensing)
Inventory Management subsystem