Aggregate Downstream Services with Explicit Failure Policies

Read the full interview experience this question came from →

Quick Overview

Aggregate downstream services with explicit required/optional policies, deadline budgets, bounded retries, partial responses, and safe handling of ambiguous side effects.

Aggregate Downstream Services with Explicit Failure Policies

Company: DoorDash

Role: Software Engineer

Category: Software Engineering Fundamentals

Difficulty: medium

Interview Round: Technical Screen

A frontend request reaches service A, which calls services B and C and returns an aggregate result. Design the request-handling and failure behavior, including when to fail open, when to fail closed, and how to retry. ### Constraints & Assumptions The source omits the detailed business semantics of B and C. Treat failure policy as a per-dependency decision based on its role; do not declare every downstream failure optional or every failure fatal. ### Clarifying Questions Which downstream results are required? Are calls reads or side effects? Can they run concurrently? What end-to-end deadline and partial-result contract apply? Is stale data acceptable? ### What a Strong Answer Covers Deadline propagation, bounded concurrency, cancellation, classified errors, safe retries, circuit breaking, and explicit partial-result semantics. ### Follow-up Questions Would you fail open for an authorization dependency? What if a side-effecting call times out after committing? How do retries across several service layers amplify load?

Overview: Aggregate downstream services with explicit required/optional policies, deadline budgets, bounded retries, partial responses, and safe handling of ambiguous side effects.

Read the full DoorDash Software Engineer interview experience this question came from

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

A frontend request reaches service A, which calls services B and C and returns an aggregate result. Design the request-handling and failure behavior, including when to fail open, when to fail closed, and how to retry.

Constraints & Assumptions

The source omits the detailed business semantics of B and C. Treat failure policy as a per-dependency decision based on its role; do not declare every downstream failure optional or every failure fatal.

Clarifying Questions Guidance

Which downstream results are required? Are calls reads or side effects? Can they run concurrently? What end-to-end deadline and partial-result contract apply? Is stale data acceptable?

What a Strong Answer Covers Guidance

Deadline propagation, bounded concurrency, cancellation, classified errors, safe retries, circuit breaking, and explicit partial-result semantics.

Follow-up Questions Guidance

Would you fail open for an authorization dependency? What if a side-effecting call times out after committing? How do retries across several service layers amplify load?

Loading comments...