
Booking.com Software Engineer Interview Questions
& Process
Real candidates share what happened, how many rounds they had,
and how the experience turned out.
Based on 343 interview experiences · FREE TO READ
Candidate interview experiences
First-hand accounts from people who interviewed at Booking.com.
Software Engineer
A recruiter reached out, and I had two initial calls before moving on to three main interviews: System Design, Coding, and a Culture fit. The interviewers were very approachable. I spent a good amount of time studying to cover my weak spots and gave it my all. About a week after my last interview, I emailed the talent coordinator for an update. It's now been a month and a week since that final interview, and I haven't heard anything back at all, not even a standard rejection. This has been the longest process I've ever experienced in my career, and I've never been ghosted like this before.
- The interviews covered System Design, Coding, and Culture.
- Can you describe how to extend their current service?
- What are your thoughts on cache implementation?
Software Engineer
The interview process was pretty decent. The interviewers were nice and helpful, and it mostly went well. Although I didn't get an offer, that's not the main issue; I at least expected some context on why, beyond just being told they're moving on to a better candidate. I followed up with the recruiter, and as you might guess, I heard nothing back. The process included a coding round focused on the 'Trip Itinerary' problem (similar to LeetCode's reconstruct-itinerary), a system design round where I had to design a credit card fraud detection system, and a culture fit round which was basically a behavioral interview about my experience as an engineer. The culture fit round had over 35 questions, including follow-ups, and the interviewer kept asking for more stories based on what I said. Topics covered included how I know my API is working, how I learn, being a T-shaped engineer, why I'm interested in booking, how I provide feedback when helping another engineer, growth mindset, and my motivations.
- Coding Round: Trip Itenerary problem
- System Design Round: Design Credit Card Fraud Detection System
- Culture Fit Round: How do you know your API is working?
Software Engineer
The interview process was really smooth. First, there was a hackerrank test with 2 medium leet code problems and 2 MCQs, followed by a personality and IQ test. Then, I had an interview with the recruiter who was super nice, talked about the role, asked some standard behavioral questions, and gave some helpful tips. The final step was an in-person assessment day with three interviews: a technical one, a behavioral one, and a group assignment. Everyone I met was incredibly friendly and supportive; it was genuinely the best interview experience I've had.
- What are you most proud of?
- How do you handle your time under a tight deadline?
- Can you tell us about the projects you've worked on?
Booking.com Software Engineer Interview Questions
Quoted word for word from Booking.com interview reports.
“Write a function isBalanced(string) to check for balanced parentheses. Examples: a(bcd)d => true, (kjds(hfkj)sdhf => false, (sfdsf)(fsfsf => false, {[]}() => true, {[}] => false.”
Read reports →“Given two words, determine if the second word contains a substring that is an anagram of the first word. For example, 'ping' and 'jingp' should return yes, but 'ping' and 'ijngp' should return no.”
Read reports →“Given a list of hotel scores per user, implement a function `get_hotels(scores, min_avg_score)` which returns hotel IDs with an average score greater than or equal to `min_avg_score`. For example, `get_hotels(scores, 5)` should return `[1001, 2001, 3001]` and `get_hotels(scores, 7)` should return `[1001, 2001]`.”
Read reports →“Given a Person interface with settable firstname, middlename, and lastname properties, and a read-only fullname property, implement the fullname property to return the person's name”
Read reports →“What is the minimum number of operations (remove/change/add/swap any character) needed to transform the first string into the second string?”
Read report →“Given an integer, swap any two digits within it to produce the largest possible number. For example, 3580 should become 8350.”
Read report →“Given the functions CanMove(x1, y1, x2, y2) and IsEnd(x, y), can you write a function to solve a maze?”
Read report →“Given a sorted array of hotels by popularity, each with an ID and price, write a function that returns a map. This map should associate each hotel ID with the ID of the cheapest hotel that is more popular than it. If no such hotel exists, it should be omitted from the map. Assume hotel IDs and prices are integers and hotels are defined as struct hotel{ int id; int price; }. For example, input = [ { id => 123, price => 200 }, { id => 55, price => 150 }, { id => 17, price => 70 }, { id => 18, price => 500 }, { id => 27, price => 270 }, { id => 101, price => 230 } ] should output { 18 : 17, 27 : 17, 101 : 17 }.”
Read report →“Given a map of user to locations, write a function that suggests the next location a user might visit, based on a given location.”
Read report →Formats, difficulty and experience
Across all 343 Booking.com interview reports.