System design interview questionHard
Uber

Design a Merchandise Ranking Backend

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 the Interviewer Looks For

The interviewer probes these areas, and the report grades the interview against them.

  • Event model and ranking semantics
  • Ingestion and stream aggregation
  • Top-K materialization and browse serving
  • Data quality: late, duplicate, and fraudulent events
  • Operations, backfills, and evolution

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

Continue to Dashboard

Core Concepts

Event StreamingTop-KRankingCaching

Continue preparing

Build a complete software engineer mock interview plan

Prepare by company

Use this scenario in a focused preparation plan

Related System Design

Design Product Search Autocomplete

Design personalized, trend-aware autocomplete and search suggestions for a large online store's product search, built around a ranking model you are given.

Related System Design

Design Twitter Feed

Design a scalable news feed system where users can post tweets and follow other users.

Related System Design

Design Typeahead

Design the search-box typeahead for a large web search engine: popular completions for every prefix, shared by all users in a locale.