Design a food-review system connected to a reward workflow while keeping eligibility rules explicit. Explain review state, policy versions, durable reward identity, retry-safe issuance, and reconciliation when review or reward outcomes change.
Design a system where users can submit food reviews and receive rewards under an agreed eligibility policy. Explain review storage, the reward decision, and how the two workflows remain consistent under retries or delayed processing.
The report names the food-review-and-reward design but does not state reward amounts, eligibility rules, or moderation policy. Establish those requirements rather than presenting invented business rules as given.
### Constraints & Assumptions
- Reviews and rewards are related but have different state and audit needs.
- Clarify whether reviews must be linked to an order and whether approval is required before reward issuance.
- Define editing, deletion, duplicate submissions, and reward reversal behavior.
### Clarifying Questions to Ask
- What makes a review eligible, and is a reward tied to a review, an order, or a user-period limit?
- When does a review become visible, and can eligibility change after publication?
- Is the reward an internal credit or an external action?
### Part 1 — Accept and Publish Reviews
Describe identity, validation, visibility, and any agreed approval flow.
#### What This Part Should Cover
- Author and target references, content state, and duplicate-request handling.
- Clear authority for publication and edits.
### Part 2 — Issue and Reconcile Rewards
Explain the eligibility decision and durable reward state.
#### What This Part Should Cover
- Versioned policy and stable reward identity.
- Atomic intent recording, retries, and prevention of repeated issuance.
- Explicit handling of changed or removed reviews.
```hint
A retried event saying that a review was approved must not create a second reward.
```
### What a Strong Answer Covers
Connect the review lifecycle to a policy-driven reward ledger without assuming an unspecified reward formula. Explain the failure boundary between the two and provide a way to reconcile incomplete or disputed outcomes.
### Follow-up Questions
- What happens if reward issuance fails after the review becomes visible?
- How would you prevent one logical review from receiving repeated rewards?
Overview: Design a food-review system connected to a reward workflow while keeping eligibility rules explicit. Explain review state, policy versions, durable reward identity, retry-safe issuance, and reconciliation when review or reward outcomes change.
Design a system where users can submit food reviews and receive rewards under an agreed eligibility policy. Explain review storage, the reward decision, and how the two workflows remain consistent under retries or delayed processing.
The report names the food-review-and-reward design but does not state reward amounts, eligibility rules, or moderation policy. Establish those requirements rather than presenting invented business rules as given.
Constraints & Assumptions
Reviews and rewards are related but have different state and audit needs.
Clarify whether reviews must be linked to an order and whether approval is required before reward issuance.
Define editing, deletion, duplicate submissions, and reward reversal behavior.
Clarifying Questions to Ask Guidance
What makes a review eligible, and is a reward tied to a review, an order, or a user-period limit?
When does a review become visible, and can eligibility change after publication?
Is the reward an internal credit or an external action?
Part 1 — Accept and Publish Reviews
Describe identity, validation, visibility, and any agreed approval flow.
What This Part Should Cover Guidance
Author and target references, content state, and duplicate-request handling.
Clear authority for publication and edits.
Part 2 — Issue and Reconcile Rewards
Explain the eligibility decision and durable reward state.
What This Part Should Cover Guidance
Versioned policy and stable reward identity.
Atomic intent recording, retries, and prevention of repeated issuance.
Explicit handling of changed or removed reviews.
What a Strong Answer Covers Guidance
Connect the review lifecycle to a policy-driven reward ledger without assuming an unspecified reward formula. Explain the failure boundary between the two and provide a way to reconcile incomplete or disputed outcomes.
Follow-up Questions Guidance
What happens if reward issuance fails after the review becomes visible?
How would you prevent one logical review from receiving repeated rewards?