Status: SDE2 @ startup
Position: SDE @ Booking.com
YoE: 4+ (2+ as a developer, 2 as support engineer)
I applied to a role through their careers portal and HR contacted me on 2nd week of dec/2020 and I scheduled my phone interview first week of 2021.
I was already LCing cause i got other interviews lined up. So far, I have done 100 LC questions: 25 Hard, 60 medium, 15 easy
HR call (30 min)
This consisted on going through your resume, skills, understanding the role that you applied, a bit of the benefits and the salary range. If all that goes good, then you schedule a technical phone interview
Technical Phone Interview (1hour)
I got interviewed by the person who would be my manager and a peer. Each person asked me one technical question. I think I got lucky cause I found both questions to be extremely easy.
-
Question 1: given an array, determine if there are repeated elements. If an element is repeated more than 3 times, return those elements.
This question is basically doing a hash and checking if the hash already exists. I used a Map and a Set.
-
Question 2: Given an list of positive words, negative words and a review, determine if the review is flagged as positive, negative or neutral.
I solved it using a Set. I just needed to do some count (+ or -) regarding on where the word appeard (positive list or negative).
I got an email the following day from recruiter saying that I moved to onsite.
update
Onsite (3 hours)
- Coding (1 hour): this was a fairly simple exercise. It is really hard to describe but it was basically given an input object A and a input object B, do whatever operations in order to return an object like C. As you might guess, the challenge here was to try to understand what does the ouput object C represent and how I can get to that object given input objects A and B. It was easy but long, solved it with Sets, Maps and BFS. Got plenty of time for few follow up questions and explain time complexity. Not a leetcode style problem.
- System Design (1 hour): tldr: try to come up wit a solution to know wether or not an user is "premium". They let you know how can a user be premium and they also tell you what constraints they are looking for.
((RANT LONG POST))
I was always curious on how people often say they had terrible interview experiences and how would that feel like. Well, in this round I got my first horrible interview experience and I probably bombed it and even if I pass this round, I will be declining an offer cause I do not want to work with that type of people. The problem was really easy: try to come up wit a solution to know wether or not an user is "premium". They let you know how can a user be premium and they also tell you what constraints they are looking for.
I always have a way to work through these types of exercises. I like to think out loud and start by understanding the data I need so then I can try to figure out how all that can affect, then go through components needed to get that data, then performance, and so.
Well, I couldnt even do it cause the interviewers (2 guys) was always interrupting me, saying "that wont work", saying "dont focus on data" and then 15 min later asking me about how would the system work if you dont know what data you need. I think it's ok for the interviewer to say that, they are giving me hints. But it is not like I know that wont work, It's more than how can I make a solution better starting from a simpler case scenario. And everytime I tried to pick a a clue from the interviewer, it turned out that it was to lead me to "prove" that whatever I said in the begining (solution A) was incorrect, which I already knew, and during this time I was basically not allowed to speak cause everytime I was trying to say something different on how I could solve X problem they would say "but that wont work for A solution". It felt that for some reason they wanted me to keep going through solution A so in my head it was "well maybe there is a way to make things work if I do something to solution A" but nope, it was a waste of time cause they told me "now you know it wont work, what would you do". Why whould the interviewers make me waste 30 min of the interview making me prove that whatever I said in the begining it wont work, I was trying to move from that solution but I was not allowed and forced to shut-up or come up with something new for solution "A".
Also, the 2 guys were always asking the same repeating questions, we were literally going in circles and that was when one of the guys got a bit bored and forced me to not-speak for about 10 min so they could "explain" the problem in the last 20 minutes cause they say I never asked about the "data" even though at the begining I tried to cover the data part. They assumed that I should know everything and It felt from the begining that they wanted me to give the right answer without any thought process. They were rude the whole time.
In the last 5 minutyes I got fed up and told them what I would do, including prepopulating a database, a job that will be getting new info per day per user, queues, partitioning, load balancers, cache, cleanup service and whenever they wanted to interrupt me I said "I'm not finished". Surprisingly, both looked impressed at the end and said the solution would work. I'm not working there. After this interview I sent a detailed email to the recruiter about my experience and hopefully they do something about it so other candidates dont have the same experience than me.
- Fit interview (45min): This one was really relaxed and It felt really great. I was only asked questions like tell me about a situation or what would you do if. Be prepared on saying why booking. Apparently they are all proud of their diversity and the people so if you praise that, they will love you. This interview was scheduled for 1 hour but it ended early which is expected.
At the end they told me that I should hear for a decision no more than 2 weeks, but I'm expecting a rejection or If I get an offer, I will reject that. Hopefully this is usefull to someone.
Update Feb/11
Recruiter contacted me that the overall feedback is positive but they want to do an extra round for the system design which It was expected. I will take that extra round.
Update Feb/23
Took the follow up system design interview. This one felt a lot more friendlier and one of the guys that interviewed me from the Fit interview was there. The coding inteview and my 2nd system design interview is exactly the same as this interview experience that I just found. https://leetcode.com/discuss/interview-experience/538560/Booking.com-Interview-Experience-(Senior-Software-Engineer)-Feb-25-Reject
Update Feb/25
Received a call from recruiter that they will extend an offer.