This question evaluates a candidate's ability to design an API aggregator, covering skills in service orchestration, fault tolerance, latency and SLO management, error handling, and observability for distributed HTTP/JSON services.

You are given three existing HTTP JSON APIs owned by other backend services:
GET /service-a?user_id={id}
→ returns basic user profile data.
GET /service-b?user_id={id}
→ returns a list of the user’s recent orders.
GET /service-c?user_id={id}
→ returns a list of recommended items for the user.
Each service:
2xx
success,
4xx
client errors, or
5xx
server errors.
You need to design and implement a new API endpoint (often called an API bootstrap or aggregator) that:
GET /bootstrap?user_id={id}
.
Assume this will be implemented in a typical backend language (e.g., C++/Java/Go), but focus on the API and system design, not language-specific syntax.
Describe your design in detail, including:
/bootstrap
endpoint (request parameters and response schema), including how you represent partial failures.
Explain your reasoning step by step and call out important tradeoffs and edge cases.
Login required