Design an Online Book Seller Platform
Company: Databricks
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Onsite
# Design an Online Book Seller Platform
Design a service for browsing and searching books, managing inventory, placing orders, taking payments, and tracking order state.
### Constraints & Assumptions
- Inventory cannot be oversold under concurrent checkout.
- Payment callbacks may be delayed or duplicated.
### Clarifying Questions to Ask
- Are books physical only and can an order span warehouses?
- When does an inventory reservation expire?
### What a Strong Answer Covers
- Catalog/search, inventory reservations, orders, payments, and state transitions.
- Idempotency, consistency boundaries, recovery, and observability.
### Follow-up Questions
- How would cancellations and refunds work?
- How would flash-sale traffic change the design?
Quick Answer: Design a service for browsing and searching books, managing inventory, placing orders, taking payments, and tracking order state. Connect requirements and APIs to data modeling, consistency, scaling, failure recovery, observability, and the important design trade-offs.