Hard
Uber

Design a Merchandise Ranking Backend System Design Interview

Design a browsing backend that ranks merchandise using views, cart additions, wishlists, and purchase events.

1. Problem Statement

Design the backend for browsing merchandise and ranking the most popular items from view, wishlist, cart, and purchase events. Purchasing itself is out of scope.

2. Architecture Discussion Map

Use this as one discussion aid, not a single correct answer. Your design should follow from the requirements, scale, and trade-offs you establish.

Rendering architecture diagram...
Mermaid Source (For AI Bots)
graph LR
    A["Design a Merchandise Ranking Backend"]
    A --> F1["Event schema and ingestion"]
    A --> F2["Windowed popularity scoring"]
    A --> F3["Top-K materialization"]
    A --> F4["Catalog storage and browse API"]
    A --> F5["Freshness, abuse, and backfills"]

3. Key Focus Areas

  • 1
    Event schema and ingestion
  • 2
    Windowed popularity scoring
  • 3
    Top-K materialization
  • 4
    Catalog storage and browse API
  • 5
    Freshness, abuse, and backfills

4. What Strong Candidates Should Demonstrate

  • Model behavioral events and ranking windows explicitly.
  • Separate event ingestion and aggregation from low-latency browsing.
  • Handle late, duplicate, and fraudulent popularity signals.

Want interactive feedback?

Practice drawing this system component-by-component on a live whiteboard while the interviewer probes at your target level.

Start Interview

Core Concepts

Event StreamingTop-KRankingCaching