HomeBlog › Expedia Coding Interview Questions

Expedia Coding Interview Questions: Search, Pricing, and Stale Data

An engineering loop shaped by travel search - where the hard problems are ranking huge inventories of hotels and flights, prices that move while the customer is still deciding, and shared platforms that serve several brands at once.

When people say "Expedia", they often mean the website. When you interview, you are usually talking to Expedia Group - the parent company behind a portfolio of travel brands that includes Expedia, Hotels.com, and Vrbo. That distinction matters for your preparation. Many engineering teams do not build one consumer app; they build search, pricing, booking, and platform services that several brands depend on, fed by suppliers such as hotels, airlines, and property owners whose data changes all the time.

This guide covers the loop candidates commonly describe, the travel-search thinking that runs through it, the types of problems worth preparing, and a two-week plan. As with all our company guides, we describe representative patterns rather than publishing invented "leaked" questions, because question sets rotate and pattern fluency is what transfers.

The Expedia Group engineering loop

Candidates typically describe a process shaped roughly like the table below. The number of rounds, their order, and the tools vary by team, level, and location, and processes change, so confirm your specific schedule with your recruiter.

StageWhat happensFocus
Recruiter callRole, brand or platform area, level, and format confirmationBackground and motivation
Technical screenA live coding problem, sometimes preceded by an online assessmentDS&A, communication
Final interviewsSeveral virtual roundsCoding, design (level-dependent), behavioral
DecisionInterviewers debrief, recruiter follows upSignal across all rounds

Ask your recruiter which part of the business the role supports - a specific brand, lodging or flights, payments, or a shared platform - which languages the team uses, and whether you can code interview problems in the language you know best. The answers change how you should practice.

Why travel search shapes the whole loop

Travel search is harder than it looks. A customer types a destination and dates, and behind that request the system has to find matching properties or flights, check whether they are available for those exact dates, fetch a current price, and rank the results in a way that is useful - all fast enough that nobody abandons the page. Three tensions come up again and again:

Naming these trade-offs explicitly, and saying which one you would favor for a given step, is what makes a candidate sound like they understand the domain.

Topic emphasis for the coding rounds

Coding rounds are commonly described as standard data structures and algorithms, sometimes dressed in travel data. Prioritize roughly in this order:

Domain themes for design rounds

For mid-level and senior roles, design discussions commonly draw from this problem space. You do not need insider knowledge - you need to reason clearly about scale, freshness, and failure.

Search and ranking across huge inventories

Think in stages: retrieve candidates that match destination and dates, filter by hard constraints such as availability and guest count, then rank the survivors with a scoring function. Discuss what can be pre-computed offline, what must be computed per request, and how you would measure whether a ranking change helped.

Prices and availability that change constantly

A hotel room or airfare can sell out or reprice between the search page and the booking page. Good answers separate the steps: tolerate some staleness when listing many results, re-check price and availability before confirming a booking, and design a clear customer experience for "the price has changed". Mention rate limits and timeouts when calling external suppliers, and what you show when a supplier is slow.

Caching and consistency trade-offs

Caching is central to fast travel search, and the interesting part is not the cache itself but the policy: how long a price can be trusted, what triggers invalidation, and how different a cached value is allowed to be for search versus checkout. For the mechanics of eviction, replication, and hot keys, use our distributed cache design walkthrough as background and spend your interview time on the freshness policy.

Platform consolidation across brands

Expedia Group has spoken publicly about moving its brands toward shared technology platforms. That makes multi-tenant design a natural theme: one search or booking service that several brands call, with brand-specific configuration, separate traffic patterns, and careful migration so one brand's change does not break another. Talk about API contracts, feature flags, gradual rollouts, and how you would migrate traffic safely. Our system design reference is a quick way to refresh queues, storage, and consistency models before the round.

Keep the answer customer-shaped: in travel, a technically correct system that shows one price and charges another is a failure. Whenever you choose a cache duration or a consistency model, say what the traveler sees if it is wrong.

Representative problem types

These are the kinds of problems candidates commonly describe, given as categories so you prepare the pattern rather than one prompt:

Here is the flavor of the merging-and-ranking type: several suppliers each return offers already sorted by price, and you need the k cheapest overall without sorting everything together.

import heapq

def k_cheapest(supplier_results, k):
    # supplier_results: list of lists, each sorted by price
    # each offer is a tuple (price, offer_id)
    heap = []
    for s, offers in enumerate(supplier_results):
        if offers:
            heapq.heappush(heap, (offers[0][0], s, 0))

    best = []
    while heap and len(best) < k:
        price, s, i = heapq.heappop(heap)
        best.append(supplier_results[s][i])
        if i + 1 < len(supplier_results[s]):
            heapq.heappush(heap, (supplier_results[s][i + 1][0], s, i + 1))
    return best

The strong answer states the cost - O(k log m) for m suppliers, versus sorting every offer - and covers edge cases such as empty supplier lists, fewer than k offers in total, and ties on price. It then offers follow-ups an interviewer is likely to raise: deduplicating the same room offered by two suppliers, ranking by a score rather than price alone, and what to do when one supplier times out.

What interviewers actually score

A note on integrity: prepare thoroughly and reason honestly in the room. Design rounds in particular turn on follow-up questions, and real understanding of your trade-offs holds up where a memorized answer does not.

A realistic two-week prep plan

  1. Days 1-3: Fundamentals - hash maps, sorting on multiple keys, and deduplication. Test the edge cases out loud.
  2. Days 4-6: Heaps, top-k, and k-way merges, framed as ranking offers from several sources.
  3. Days 7-8: Intervals and binary search on date ranges, then graph traversal for multi-leg routes.
  4. Days 9-11: Design. Practice hotel search, price freshness and caching, and a shared multi-brand service, naming the customer impact of every staleness choice.
  5. Days 12-13: Behavioral stories about ownership, cross-team work, and a migration or rollout that did not go to plan.
  6. Day 14: A timed solo mock in your real setup, one coding problem and one design prompt back to back.

Structure in the moment, not just in prep

CoPilot Interview is a desktop AI interview assistant for Windows and macOS that surfaces structured approaches and talking points during live coding, design, and behavioral rounds. There is a permanent free tier, so you can try it before deciding whether you need more.

Try it free

FAQ

What is the Expedia Group coding interview like?

Candidates commonly describe a recruiter conversation, one or more technical screens, and a set of final virtual rounds covering coding, design for experienced roles, and behavioral questions. Coding problems are usually standard data structures and algorithms, often easy-to-medium or medium, sometimes framed around travel data such as itineraries, dates, and prices. Formats differ by team, level, and location, and processes change, so confirm the details with your recruiter.

Is Expedia the same company as Expedia Group?

Expedia Group is the parent company, and Expedia is one of the travel brands in its portfolio alongside brands such as Hotels.com and Vrbo. Engineering roles are typically hired by Expedia Group and may support one brand, several brands, or shared platform services used across the portfolio, so ask your recruiter which area the role sits in.

Does Expedia ask system design questions?

For mid-level and senior engineers, candidates typically report a design round. Travel-flavored themes are natural fits: searching and ranking large inventories of hotels and flights, handling prices and availability that change constantly, deciding how stale a cached price can be before it hurts customers, and building shared services that several brands can use. Expectations vary by team and level.

What topics should I study for an Expedia software engineer interview?

Cover hash maps, sorting, heaps and top-k selection, intervals for date ranges, binary search, and graph basics for multi-leg routes. For design, practice search and ranking pipelines, caching and invalidation, rate-limited calls to external suppliers, and consistency trade-offs. Add behavioral stories about ownership, collaboration across teams, and working on large shared systems.

Why do stale prices matter in Expedia design interviews?

Travel prices and availability can change between the moment a search result is shown and the moment a customer tries to book. Caching makes search fast and reduces load on suppliers, but a cached price can be wrong by checkout. Strong answers explain how fresh each step needs to be, for example tolerating some staleness on the results page while re-checking price and availability before a booking is confirmed, and what the customer sees when the price has changed.