Handle Upstream Failures in a Payment-Calculation Service

Quick Overview

Handle payment-calculation dependency failures with pending states, versioned inputs, bounded retries, idempotent effects, late-event adjustments, and reconciliation.

Handle Upstream Failures in a Payment-Calculation Service

Company: DoorDash

Role: Software Engineer

Category: Software Engineering Fundamentals

Difficulty: medium

Interview Round: Technical Screen

A payment-calculation service depends on upstream delivery events and a time-dependent peak-period configuration. What should it do when an upstream dependency fails or required information arrives late? ### Constraints & Assumptions The reported coding exercise involved delivery-worker payment and a peak-period follow-up, but its event schema, rate formula, and peak-window rules were not supplied. This question retains the explicit upstream-failure discussion. Treat the calculation formula as a versioned business rule supplied separately; do not invent a payment amount or silently substitute missing data with zero. ### Clarifying Questions Which inputs are authoritative? Is the unavailable operation a read or a possibly completed write? Can the service return pending status? What freshness, reconciliation, and correction requirements apply? ### What a Strong Answer Covers Distinguish incomplete data from a valid zero, use bounded retries and idempotency, preserve enough evidence for replay, and reconcile late inputs without duplicate financial effects. ### Follow-up Questions When is a cached peak-period configuration acceptable? What if a timeout occurs after an external service may already have accepted a write? How do you correct a previously finalized calculation after a late event?

Overview: Handle payment-calculation dependency failures with pending states, versioned inputs, bounded retries, idempotent effects, late-event adjustments, and reconciliation.

|Home/Software Engineering Fundamentals/DoorDash
DoorDash logo
DoorDash
Sep 16, 2026
mediumSoftware EngineerTechnical ScreenSoftware Engineering Fundamentals
0
0

A payment-calculation service depends on upstream delivery events and a time-dependent peak-period configuration. What should it do when an upstream dependency fails or required information arrives late?

Constraints & Assumptions

The reported coding exercise involved delivery-worker payment and a peak-period follow-up, but its event schema, rate formula, and peak-window rules were not supplied. This question retains the explicit upstream-failure discussion. Treat the calculation formula as a versioned business rule supplied separately; do not invent a payment amount or silently substitute missing data with zero.

Clarifying Questions Guidance

Which inputs are authoritative? Is the unavailable operation a read or a possibly completed write? Can the service return pending status? What freshness, reconciliation, and correction requirements apply?

What a Strong Answer Covers Guidance

Distinguish incomplete data from a valid zero, use bounded retries and idempotency, preserve enough evidence for replay, and reconcile late inputs without duplicate financial effects.

Follow-up Questions Guidance

When is a cached peak-period configuration acceptable? What if a timeout occurs after an external service may already have accepted a write? How do you correct a previously finalized calculation after a late event?

Loading comments...