How the interviewer opens it
“Design a service for customer returns and exchanges. Cover return eligibility, return shipments, and inspections. The service must keep order and inventory records correct when requests repeat.”
The prompt is vague on purpose. The first minutes are for you. Reduce the prompt to the core features and agree on the numbers before you draw.
What to clarify first
- Scale
- Read and write traffic
- Eligibility
- Return process
- Exchange rules
- Existing services
- Consistency and availability
- Latency
- Durability and retention
- Scope limits
The interviewer has the answers. In a SysRound round, Alex gives these answers, as a real interviewer does.
Scope of a strong answer
Core requirements
- Check eligibility and create returns for some or all delivered items
- Track return shipments and inspection results for each item
- Issue refunds or exchanges after inspection approval
- Update orders and inventory without duplicate effects
Usually out of scope
- Build the order, inventory, fulfillment, carrier, or payment services
- Support price differences or international customs
- Detect fraud or manage manual appeals
- Build tools that define return policies
What interviewers ask about
- Return eligibility
- Several requests can claim the same purchased quantity. A correct eligibility response does not guarantee that a later request remains valid.
- Shipment and inspection progress
- A shipment can contain several items with different outcomes. Carrier delivery does not prove that the warehouse received or approved each item.
- Exchanges and replacement stock
- Replacement stock can disappear during return transit. Inventory and fulfillment can disagree while a call outcome remains unknown.
- Refunds and order updates
- A refund can succeed while the local record remains incomplete. Repeated recovery attempts must not create extra money or quantity changes.
Common mistakes
- The design uses one return status for several independent item decisions.
- The service trusts an earlier eligibility check during a later create request.
- The service deduplicates callbacks but does not enforce business limits on refunds, replacements, and stock movements.
- The service treats carrier delivery as inspection approval.
- The service treats an external timeout as a confirmed failure.
- The design requires a global transaction across orders, inventory, fulfillment, and payments.
The bar by level
- Senior (L5/E5)
- Defines atomic quantity claims and item state transitions. Handles repeated events, uncertain refunds, stock reservations, and durable retries. Explains recovery across service failures.
- Staff (L6+/E6+)
- Defines ownership and correctness rules across services. Tests failure gaps between external effects and local commits. Defines reconciliation and safe rules for a different resolution. Addresses retention and regional ownership without unnecessary services.