
Synthesized from 25 candidate submissions for ALL.
Expedia’s hiring process is highly structured, with a strong emphasis on Data Structures and Algorithms (DSA) for technical roles, System Design for mid-to-senior positions, and behavioral/managerial assessments to evaluate cultural fit and leadership. The process often includes an online assessment (OA) for early-stage candidates, followed by multiple rounds of technical interviews, and culminates in a managerial or HR round. Success hinges on problem-solving efficiency, scalability considerations in design, and alignment with Expedia’s collaborative and customer-centric values.
The candidate went through a rigorous interview process consisting of two technical rounds and one design round. The process was fast-paced, and the candidate was ultimately selected for the SDE-3 role.
The first round was an elimination round focusing on data structures and algorithms, consisting of two medium-hard LeetCode problems.
Find the maximum length of consecutive 1s by flipping at most K 0s in an array of 0s and 1s.
Calculate the maximum amount of money a thief can steal from houses arranged in a circle, given they cannot steal from consecutive houses.
The second round focused on data structures and algorithms, involving three problems ranging from string manipulation to interval scheduling.
Find all palindromic substrings of a given string.
Anagram-based implementation problem requiring a custom hash function.
Calculate the minimum number of sprinklers required to water a garden represented as a straight line, given specific power ranges for each sprinkler.
This round covered both High-Level Design (HLD) and Low-Level Design (LLD). The candidate was asked to design a stock trading system similar to Zerodha, covering functional and non-functional requirements, database schema, and class design, followed by deep-dive questions on scalability and fault tolerance.
Design a stock trading system (Zerodha-like), discuss data recovery strategies if a cluster fails in one region, design a scalable notification and prompt framework for stock fluctuations, and discuss limitations of design based on stock exchange API availability and circuit breaker implementation.
The candidate underwent a telephonic interview followed by four onsite rounds, including coding, managerial, and problem-solving challenges. The process evaluated both technical skills and system design capabilities, with a focus on algorithms, data structures, and real-world feature implementation.
Telephonic interview focused on coding problems involving string manipulation and array merging.
Implement the strStr() function to find the first occurrence of a substring (needle) in a string (haystack).
Merge two sorted arrays into one sorted array.
First onsite round involved solving linked list and string manipulation problems.
Merge two sorted linked lists into one sorted linked list.
Remove duplicates from a sorted linked list, ensuring only unique elements remain.
Determine if a given string can be segmented into space-separated words from a dictionary (Word Break problem).
Discussion round where the candidate was asked to design a feature for updating hotel service information in the Expedia database, including validation and error handling.
Design and implement a feature to process vendor-provided hotel service information, validate the input for correctness (e.g., 'free wifi' vs. 'tree wifi'), and update the database accordingly. If the input contains errors beyond a single character difference, throw an exception to the vendor.
Third onsite round focused on solving a problem involving two sorted arrays, with requirements to provide both linear and logarithmic time solutions.
Find the median of two sorted arrays of different sizes. Provide both O(n) and O(log n) solutions.
Final onsite round involved solving combinatorial and array-based problems.
Find all unique combinations in a set of candidates where the candidate numbers sum to a target, with no duplicates in the output (Combination Sum II).
Find two numbers in an array that add up to a specific target (Two Sum).