# Design Amazon: system design interview question

> A retail platform with heavy browse traffic, scarce stock, repeated checkout requests, uncertain payment results, and delayed shipment events.

Source: https://sysround.com/questions/design-amazon
Updated: 2026-11-05


Difficulty: hard. Levels: Senior, Staff+.

## How the interviewer opens it

"Design an online retail platform where customers browse products, buy items, and track orders. The platform must handle peak shopping traffic and keep stock and orders correct."

## What to clarify first

- Catalog and users
- Request mix
- Peak traffic
- Carts and stock
- Stock during checkout
- Latency and consistency
- Checkout identity and payments
- Order records
- Shipment status
- Regions and exclusions

## Scope of a strong answer

Core requirements:

- Browse and search the catalog
- Maintain a cart and buy its items
- Buy all requested items without overselling
- View order and shipment status

Usually out of scope:

- Marketplace sellers
- Warehouse operations and stock transfers
- Customer returns and promotions
- Payment processor internals

## What interviewers probe

### Stock correctness

Each checkout needs several stock records. Concurrent purchases and expired checkout attempts must not cause partial purchases or overselling.

### Uncertain payment outcomes

The payment provider and order database cannot share a transaction. Retries and late callbacks must preserve one result for each checkout.

### Peak browse traffic

Browse traffic greatly exceeds checkout traffic. A popular product can overload one data path while its stock changes rapidly.

### Order and shipment history

Carrier events can repeat or arrive out of order. The platform must preserve facts without showing an earlier shipment state as current.

## Common mistakes

- The design reserves stock when a customer adds an item to a cart.
- Checkout trusts the stock count from the product page.
- The design promises one charge without defining which requests belong to the same checkout.
- The design retries a payment with a new provider key after a timeout.
- The design publishes an order event separately from the order transaction.
- Shipment updates replace the current status without checks for duplicate or late events.

## The bar by level

- **Senior:** Defines atomic checkout across all cart items and safe stock expiry. Resolves unknown payment results without premature stock release. Prevents duplicate orders and charges for retries with the same checkout key. Separates browse traffic from checkout and preserves order events across failures.
- **Staff+:** Justifies the initial transaction boundary with the estimated write rate. Identifies hot-SKU limits and criteria for separate stock ownership. Defines recovery after database failover and payment outages. Quantifies the stock cost of unresolved payments and explains the business trade-off.

Practice this question with an AI interviewer: https://sysround.com/practice/new?problem=online-retail-platform


---
SysRound (https://sysround.com) is an AI practice tool for system design interviews. It has a voice or typed AI interviewer and a shared whiteboard. At the end, you get feedback on each skill and a model answer. The AI feedback can be wrong.
