← Expedia Interview Insights

Expedia·Software Engineer·Onsite - System Design / Architecture·Senior

SeniorPrefer not to say
Apr 2026

Summary

Expedia system design round, one big open-ended question about building a middleware connectivity layer for an OTA platform. The scope was wider than I expected and I spent probably too long on the API spec before realizing they also wanted a scaling discussion.

Questions Asked (1)

Q1

Design a 'Connectivity' service for an OTA-style platform that receives listing-creation requests from external providers, forwards them to an internal validation domain, and returns results back to the provider. Deliverables include a full REST API spec with payloads and status codes, a request lifecycle flowchart, and a scaling strategy.

System DesignAPI & IntegrationsTechnical Trade-offs
Author's notes

This was a lot.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and constraints (e.g., expected throughput, latency, consistency, and provider authentication). Then walk through the high-level architecture, detailing the REST API contract, request lifecycle, and scaling strategy. Emphasize trade-offs and how you would handle failures and ensure reliability.

Pro tip: Demonstrate maturity by discussing idempotency and asynchronous processing for long-running validations, and how you would handle partial failures and retries without duplicating listings.

1. Clarify Requirements and Scope

Ask questions to understand expected request volume, latency SLAs, consistency needs, and provider authentication mechanisms. Define what 'validation' entails and whether it's synchronous or asynchronous.

2. Design the REST API Contract

Define endpoints, HTTP methods, request/response payloads, and status codes. Include authentication, idempotency keys, and error handling. Consider versioning and rate limiting.

3. Outline the Request Lifecycle

Describe the flow from receiving a request, validating it, forwarding to the internal validation domain, and returning the result. Include error handling, retries, and timeouts.

4. Propose a Scaling Strategy

Discuss horizontal scaling, load balancing, caching, and asynchronous processing (e.g., message queues) to handle high throughput and ensure resilience.

5. Discuss Trade-offs and Alternatives

Compare synchronous vs. asynchronous validation, consistency vs. availability, and monolith vs. microservices. Explain your choices based on requirements.

Key Points to Mention

  • Idempotency and deduplication to handle retries safely
  • Asynchronous processing with callbacks or polling for long-running validations
  • Rate limiting and throttling to protect internal services
  • Comprehensive error handling and status codes (e.g., 202 Accepted for async, 400 for bad request, 409 for conflict)
  • Monitoring, logging, and tracing for observability
  • Security: authentication (OAuth2, API keys), input validation, and encryption

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.