This question evaluates skills in resilient API aggregation, fault-tolerant microservice orchestration, and reliability engineering, focusing on defining API contract semantics and handling partial failures at the architectural/system-design level (service-to-service abstraction); category/domain: System Design.
You are given three internal services (or internal APIs):
GET /user-to-consumer?user_id=...
→ returns
{ consumer_id, user_profile... }
GET /payment-info?consumer_id=...
→ returns
{ payment_methods... }
GET /address-info?consumer_id=...
→ returns
{ addresses... }
Design and implement a Bootstrap API:
GET /bootstrap?user_id=...
Key requirement: the endpoint should be as resilient to failures as possible (downstream timeouts/errors/partial outages). Describe:
Assume typical microservice constraints and that downstream services may be slow or intermittently unavailable.