Katkat

Design and implement an Airbnb wallet

AirbnbSoftware Engineer · Technical Screen

Last 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.