# Design a product catalog service: system design interview question

> A large catalog combines product variants, concurrent merchant edits, fast reads, and reliable change propagation.

Source: https://sysround.com/questions/design-product-catalog-service
Updated: 2026-11-05


Difficulty: hard. Levels: Senior, Staff+.

## How the interviewer opens it

"Design a product catalog for a large marketplace. Merchants create products and variants, then assign products to existing categories. Customers browse the catalog and expect merchant changes to appear promptly."

## What to clarify first

- Catalog size
- Traffic and read-to-write ratio
- Record size
- Products and categories
- Merchant edits and imports
- Latency
- Consistency and availability
- Durability
- Retention
- Scope limits

## Scope of a strong answer

Core requirements:

- Read published products and their variants.
- Browse products by an existing category.
- Let merchants edit products, variants, and product category assignments.
- Apply bulk edits and report a result for each record.

Usually out of scope:

- Manage stock or reserve inventory.
- Calculate discounts or complete purchases.
- Store or process image files.
- Manage the category hierarchy.
- Accept writes in several regions.

## What interviewers probe

### Products and merchant edits

Variants share product data but have separate identities and prices. Concurrent edits and partial imports must not silently replace valid merchant data.

### Changes at customer reads

Merchant edits must reach several customer views. Delays, repeated events, and old events can restore incorrect catalog data.

### Catalog reads

Popular products create uneven load. Large categories and variant sets need bounded responses that preserve the stated revision and freshness rules.

## Common mistakes

- The design returns an unbounded variant list in every product response.
- The write path commits catalog data and sends change events without a shared durability mechanism.
- The design acknowledges edits or import receipts without durable replication and safe failover.
- The design treats event arrival order as merchant edit order.
- The delete path permits a delayed event to restore a deleted product.
- Bulk imports consume all write capacity and delay interactive edits.

## The bar by level

- **Senior:** Defines revision and conflict rules. Connects durable commits to reliable events. Handles import receipts, record retries, deletion, page contracts, and cache failure.
- **Staff+:** Defines quorum commit and failover guarantees across authoritative records. Plans online rebuilds and bounded recovery. Allocates freshness and capacity budgets across imports and read copies.

Practice this question with an AI interviewer: https://sysround.com/practice/new?problem=product-catalog


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