Design a system that allows DoorDash’s consumers to add reviews on ordered food items. Consumers will earn rewards ($) based on the quality of the review.
Just for reference, rewards are paid on a monthly basis. An example of rules can be:
Upvotes | Rewards
50 | $0.5
100 | $1
1000 | $10
Up to $50 a month and max accumulated of $500.
This DoorDash interview question asks you to design a monthly rewards system for customer food reviews. Users submit reviews after orders, and the reward amount depends on review quality, typically represented by a score such as upvotes, with tiered payout rules and monthly/overall caps. A good solution centers on a configurable reward table, per-user monthly accounting, and careful cap enforcement. In a fuller system design, you would also think about idempotent submissions, monthly payout jobs, concurrency, and scalable storage for large numbers of users and reviews.