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: This question evaluates a candidate's proficiency in system design, distributed backend architecture, data modeling, real-time provider integration, and operational concerns for building a scalable, cost-efficient flight price search service.