Build Resilient Aggregation and Debug Routing

Quick Overview

This question evaluates skills in building resilient API aggregation, fault-tolerant retry handling and test coverage for transient failures, as well as debugging and improving load-balancer routing policies including adding round-robin distribution and reasoning about consistent hashing.

Build Resilient Aggregation and Debug Routing

Company: DoorDash

Role: Software Engineer

Category: Software Engineering Fundamentals

Difficulty: medium

Interview Round: Onsite

This onsite combined two software-engineering exercises: 1. Implement a service method that calls multiple mock downstream APIs, merges their responses into one nested result, handles transient failures, and optionally retries failed calls. You should also write tests for the success case, a single transient failure, and repeated failures, and verify the full expected nested output. 2. Given an existing load balancer implementation with multiple bugs, identify and fix the issues, then improve the routing policy by adding round-robin request distribution. Finally, discuss how you would extend the design to support consistent hashing for better key affinity and less remapping when servers are added or removed.

Quick Answer: This question evaluates skills in building resilient API aggregation, fault-tolerant retry handling and test coverage for transient failures, as well as debugging and improving load-balancer routing policies including adding round-robin distribution and reasoning about consistent hashing.

|Home/Software Engineering Fundamentals/DoorDash
DoorDash logo
DoorDash
Feb 3, 2026, 12:00 AM
mediumSoftware EngineerOnsiteSoftware Engineering Fundamentals
25
0

This onsite combined two software-engineering exercises:

  1. Implement a service method that calls multiple mock downstream APIs, merges their responses into one nested result, handles transient failures, and optionally retries failed calls. You should also write tests for the success case, a single transient failure, and repeated failures, and verify the full expected nested output.
  2. Given an existing load balancer implementation with multiple bugs, identify and fix the issues, then improve the routing policy by adding round-robin request distribution. Finally, discuss how you would extend the design to support consistent hashing for better key affinity and less remapping when servers are added or removed.
Loading comments...