This question evaluates system design competencies including domain modeling, API and service boundary definition, stateful session lifecycle, pricing and promotions modeling, and transactional consistency for point-of-sale workflows.
Design the software for a supermarket checkout system.
A grocery store has multiple checkout lanes operated by cashiers, and the design should also be extensible to self-checkout. Customers bring items to a register, where the cashier scans products and the system computes the final total.
The system should support:
Discuss: