Design flight-price search service
Company: Circle
Role: Software Engineer
Category: System Design
Difficulty: hard
Interview Round: Take-home Project
Design a system to find the cheapest flight tickets across multiple providers. Support search by origin, destination, dates (including flexible ranges), cabin class, and number of stops. Describe the high-level architecture (ingestion/aggregators, normalization, deduplication, search index), APIs, caching, data freshness and update propagation, rate limiting and retries, consistency vs availability trade-offs, and strategies for scalability and cost control. Specify schemas and indexes that enable fast queries and price updates.
Quick Answer: Design flight-price search service evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.