Design and implement an Airbnb wallet
AirbnbSoftware Engineer · Technical ScreenLast updated
This question evaluates system design and object-oriented design skills focused on transactional accounting, escrow-based payment flows, idempotency, and robust error handling, plus the ability to produce a runnable in-memory implementation.
Design an Airbnb-style wallet (OOD). Define the classes and methods needed to support wallet balances for guests and hosts, payments, refunds, and payouts. Specify how transactions are recorded and how errors are handled. Then implement runnable code, including your own main function, to demonstrate basic operations and pass sample tests.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.