PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/DoorDash

Design review system with voting and rewards

Last updated: Mar 29, 2026

Quick Overview

This question evaluates system design competencies such as designing scalable architectures, distributed data modeling, idempotent APIs, sharded or approximate counters, ranking strategies, consistency and reliability, and abuse-resistance for a high-traffic reviews and voting feature.

  • hard
  • DoorDash
  • System Design
  • Software Engineer

Design review system with voting and rewards

Company: DoorDash

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

Design a scalable review system for an e-commerce platform where customers can post reviews on products and upvote/downvote existing reviews, and review authors receive rewards based on upvote counts. Define APIs for creating reviews, voting, querying top reviews, and claiming rewards. Model the data schema for reviews, votes, and per-review upvote counters. Ensure idempotent voting, prevent double-votes and abuse (e.g., sybil/brigading), and support undo/changes. Propose a counter architecture (e.g., sharded or approximate counters) and a ranking strategy. Address scaling, caching, consistency, and reliability (failover, retries, deduplication), and outline monitoring and backfill processes.

Quick Answer: This question evaluates system design competencies such as designing scalable architectures, distributed data modeling, idempotent APIs, sharded or approximate counters, ranking strategies, consistency and reliability, and abuse-resistance for a high-traffic reviews and voting feature.

Related Interview Questions

  • Design a resilient bootstrap API - DoorDash (medium)
  • Design Real-Time Driver Pay Aggregation - DoorDash (hard)
  • Design personalized restaurant search and recommendations - DoorDash (medium)
  • Design Food Ratings and Driver Payouts - DoorDash (medium)
  • Design a Customer Review Page - DoorDash (medium)
DoorDash logo
DoorDash
Sep 6, 2025, 12:00 AM
Software Engineer
Onsite
System Design
19
0

Design: Scalable Product Reviews with Voting and Rewards

Context

You are designing a reviews feature for a large e-commerce marketplace. Customers can post reviews on products. Other customers can upvote or downvote reviews to signal helpfulness. Review authors receive rewards tied to upvote counts. The system must scale to millions of products and heavy read/write traffic, remain reliable, and resist abuse.

Requirements

  • Functional
    1. Create, edit, soft-delete reviews; star ratings included.
    2. Upvote/downvote reviews; support undo and changing votes.
    3. Query top reviews per product, with pagination and filters (e.g., recent, top, verified purchases).
    4. Claim rewards when a review’s upvotes cross thresholds.
  • Non-functional
    • High read throughput (top reviews on product pages), low latency.
    • Idempotent voting and reward claiming; prevent double-votes.
    • Abuse resistance (sybil accounts, brigading, spam).
    • Scalable counters for upvotes/downvotes (sharded or approximate) and robust ranking.
    • Caching, consistency, reliability (failover, retries, deduplication).
    • Monitoring, alerting, and backfill/repair processes.

Deliverables

  1. APIs for: create review, vote/undo/change, query top reviews, claim rewards.
  2. Data models for reviews, votes, counter shards/aggregates.
  3. Idempotent voting design with double-vote prevention and undo/change handling.
  4. Counter architecture (e.g., sharded counters or approximate) and ranking strategy.
  5. Scaling, caching, consistency, reliability plan (failover, retries, dedup).
  6. Monitoring, metrics, and backfill/repair processes.

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More DoorDash•More Software Engineer•DoorDash Software Engineer•DoorDash System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.