Expedia | SDE-3 | Gurugram | Feb 2024 | SELECT
Anonymous User
5430

Application Stage and Background

Visited the career page one fine evening. Ask one of friend of friend to refer me.
After couple of days recruiter called me. Asked reason to switch, conveyed budget range for the role (Green Flag).
Recruiter scheduled 1st round in the same week and din't allow extension as hiring drive was going and delaying may cause application to hung in between if positions got closed. So I agreed and given 1st round.

I will be writing detailed process, including my preparation strategy.

Current => YEO -> 4.5 (Product Based companies thoughout) | TC -> 32 LPA


1st Round (DS Algo - Eliminator)

Basic Introduction. Then I was asked two DS Algo based problems. LC medium-hard.

  1. Given array of 0's and 1's and a numnber K, find the maximum length of consecutive 1's by fliiping atmost K 0's.
    Approach -> First went we prefix sum approach then 2 pointer sliding window clicked as was able to solve.

  2. Calculate maximum amount of money theif can steal from street. He cannot steal from consecuitive houses. Also street is circular i.e. if he pick from 1st then he cannot pick from last.
    Approach -> First thought of simpler version i.e. non circular which turned out to be dp problem then handled the circular scenario.

I came to know after interview both problems were standard LC problems, but during interview I wasn't aware, 2nd dp problem was obvious but for sliding window I am proud of myself. Able to gave running code.


Got call next day that I have passed elimination round, next week I will have DS-Algo and Design Round (HLD + LLD). Expedia conducts these rounds back to back. I finally had a weekend(16 hours) + 2 x 7 hours(wakeup early everyday) = 30hours. So that gave me room to preparation.
I solved 50% of problems asked before in interview a expedia and quick look over others that I could find on internet.
For design, no specific preparation just gave 4-5 mock interviews over weekend to friends and knowns who work at much senior roles.


2nd round - (DS Algo)

Basic Introduction. Followed by DS-Algo problems as shared below.

  1. Find all palindromic substrings of string. Example if input is "leetcode", I should return ['l', 'e','e','t', 'c', 'o', 'd' , 'e', 'ee']
    Approach -> Gave brute force O(n^3), was asked to optimize, asked hint and was able to code using two pointers.
  2. I can't recall exact problem but this was anagram problem which hashing based and implementation based where I have to write custom hash function and do some form of counting. Long ago I practiced problem which have concept to calculate hash in anagram.
    Approach -> This was more of implementation based problem and didn't had specific algo. The line of code was 130-150 lines. Thankfully it ran in 1st pass.
  3. Consider a garden as straight line, at each point we have one sprinkler. It have power p[i], it can throw water upto (i-p[i], i + p[i]). Calculate the minimum amount of sprinklers required to water whole garden.
    Approach -> Precomputed ranges(Li, Ri) for each sprinkler, and then explained approach to pick minimum number of non overlapping intervals. Had 5 min left to code but couldn't came up with runable solution.

3rd Round - (Design - HLD-LLD)

Basic introductiona and quick 2 mins talk about current project.

Problem - Design Zerodha like system. Think of features end to end and come up with a low level design.

Approach ->
Written basic set of stock ordering features as a functional requirement.
Eg - Able to register, buy stock, sell stock, view portfolio, service to fetch live stock data from exchange etc were verbally communiccated.
Written non functional requirements also.
Consitent, Scalable, Available, Data Recovery
Then I have written classes, ER diagram which were self explanatory DB design too.
Now iterated all my functional requirement one by one and flow of data using it.

Once interviewer was satisfied with design I was asked LLD problems based on it like Data Recovery if cluster goes down in one region, scalable notification and prompt framework to user if stock fluctuates, limitations of design based on stock exchange API's availablity, circuit breaker if particular exchange is down. They all were verbal.

Tip:- Try to limit features and close and get design approval in 40-45 mins frame only. If interviewer is baised about any particular implementation of feature extra amount of time will help you to design or explain that component. Obviously design will not be perfect so proactively communicate assumptions. I have been rejected lot of time before becuase I was closing designs in 55 mins and hardly had any time for meaningful convo.


Got the call next day for HM round early next week. Had a weekend again to explore this round.
Gone through my resume and did dry run of my past project. Also HMs sometime fire lots of problems in small time so read theoritical aspects of tech I was working. Again reached people who helped me during design round prep and gave mock round.


4th Round (HM)

This round involved detailed introduction, he explained projects under him and asked me my overall tech journey.
Was asked to explain details about the project I have done in current org i.e. tech used, why particular tech stack, db choice, scale, bottlenecks, learnings.
Then was asked STAR based problems i.e conflict handling, handling of competing priorities.
Then code review at developer level and CI-CD based code review setup.
Why you want to join expedia ?

Overall no tech problems etc was asked.

Approach -> Was honest and cautious about answering, don't want to be questioned against fancy tech lingo. Was clear with communication and minimal story telling (no workplace have ideal setup).
Also communicated my passion with travelling which alligns with expedia.

Got email within 24 hours of selection 🎉 🎉

Comments (4)