Open In App

Expedia Interview Experience for SDE-2 (3 yrs experienced)

Last Updated : 01 Nov, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

The hiring process at Expedia for the SDE-2 java Backend role consists of 5 stages. 1 Coding test on hacker rank followed by 4 rounds of interviews. My experience in each of the rounds was as follows:

Hacker Rank assessment: This was a 90-minute assessment with 3 questions of difficulty equivalent to leetcode medium questions. You can expect questions on strings, dynamic programming, and matrices/2D arrays. I was able to code all 3 questions with all the test cases passed. 

After this round, I received a call from HR after 15-20 Days regarding the scheduling of my interviews. However, it took more than 50 days before my interview could finally be scheduled. My interviews were scheduled as a part of a drive in which all my rounds were to be conducted on the same day. I received invites for Round 1 and Round 2 simultaneously in a single mail and was told by the recruiter that I needed a strong positive in at least one of the rounds to proceed to Round 3.

Technical Interview Round 1 (Coding and DS/Algo): This round was conducted on a hacker rank platform where I was asked 2 questions by the interviewer. They were as follows:

  • Find the longest substring with nonrepeating characters: I started with a brute force solution and was able to optimize it to an O(n) solution. The interviewer was very friendly and was open to ideas and I gave a solution that was not exactly similar to the bookish solution for this problem. He ran a few test cases and was able to achieve the desired result in each of the test cases. 
  • Implement LRU Cache: In this problem, I used a HashMap and a LinkedList to achieve the desired solution. The interviewer was expecting that I should have used a linked HashSet but was happy with the solution I implemented as both solutions had the same time and space complexity. 
    I was not able to fully write LinkedList functions due to time constraints but wrote pseudocode for each of them and the interviewer was happy with that.

Advice: Don’t assume the problem constraints and try to think aloud while you are approaching a problem. Also, keep checking with the interviewer whether he is in sync with you. If there is a communication gap, then try to change your example to make sure you can communicate clearly what you are thinking.

Technical Interview Round 2 (Coding and Problem Solving): This round was also conducted on a hacker rank platform and this also consisted of 2 questions. They were as follows:

  • Remove duplicates in a linked list: There are multiple approaches to this question. I started with a brute-force solution to this question also and then proceeded to an optimal solution where I used a set to track the record of traversed elements. I wrote the solution in such a way that both traversal and removal of duplicates could be done in a single pass. Initially, the interviewer was confused with my explanation but I tried with a different example and the interviewer was happy with my solution once he understood it. I was able to pass all the test cases also.
  • Zigzag traversal of a binary tree: In this question, I used a stack to modify the code for level order traversal and was able to write the working code for it. After this, we also discussed a few other approaches using alternate data structures but since the solution was already at the optimal complexity, the interviewer didn’t tell me to write code for any other approach.

In this round also, I was trying to think aloud and make sure that the interviewer was in sync with me while I was approaching a problem. I made sure that I discussed all the edge cases as well as time and space complexity for every approach I gave. 

Since both of these questions were relatively simple, I was able to finish them in around 50 minutes. After this, the interviewer gave me an additional SQL question where I had to find an employee with 4th highest salary. After this, we had a general discussion about the work culture at Expedia and in general, the interview went very well.

Since my first round went very well, I received an invite for my 3rd technical interview within 15 mins of the first round and which was scheduled for the same evening. I was told by my recruiter that 3rd round was the most important round in the interview process and I needed a positive result in this round to be considered further. He also told me that interviewer could ask questions related to both High-Level Design as well as Low-Level Design, but since I had the experience of 3 years only I could request the interviewer to go with LLD only.

Technical Interview Round 3 (System Design Round): This round was also conducted on the same hacker rank platform where the first question was related to High-Level Design. Some problems were listed in a grocery delivery app (Similar to Blinkit/Dunzo) and the task was to identify system design problems in it and then provide possible solutions for the same. 

  • The interviewer then proceeded to discuss the same system in detail and asked questions regarding how would I ensure things like scalability in the system. 
  • We discussed several aspects of the system ranging from the choice of databases for each possible microservice to various approaches for caching, multithreading, etc. This took around 40 minutes and the interviewer was very open to the ideas which I presented we had a very constructive discussion during these 40 minutes. 
  • After this, the interviewer gave me an LLD problem where I had to write code for an invoice generation system. The input would be a list of items and the expected output was an invoice that contained the list of items with tax added to the price of each item and contained the total tax and total amount at the end.
  • The interviewer expects you to write all the model classes, services, etc. and you also need to explain every one of your decision.
  • Since I had only 20 minutes left so I went through it very quickly. I wrote all the services, enums, and models but due to a shortage of time I was unable to implement a few basic functions but interviewer told me to skip those and just write pseudo code for their logic.

Overall, the interview went well and I received an invite for the Hiring Manager Round after 1 hour of the interview. My Hiring Manager round was rescheduled for later and it was delayed by a week as I was matched with a suitable team the experience for that interview was as follows.

Hiring Manager Interview Round: In this round, there was no technical question asked but instead, it was more of a cultural fitment round. The recruiters had shared with me a document containing Expedia group values and the questions which I could expect in this round. I went through those values in detail and made sure that my responses regarding my previous work experience aligned with those values. 

I was given various hypothetical situations relating to compromise in work ethics or nonbonding with team members, and I made sure that I presented a suitable example from my life experience be it in college or my previous company where I showcased one of EG’s values to come out of the situation. In general, this round also went pretty well for me and as advice, I would suggest everyone be calculated in their answers but should avoid lying as interviewers can easily figure that out over 1 hour of discussion.

I received an offer letter within a week of my final interview and I hope that my interview experience helps you prepare well for the interview.


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads