Booking Coding Interview Questions
29 Booking coding interview problems with full optimal solutions — 17 easy, 10 medium, 2 hard. Every problem ships with multiple approaches (brute-force first, then the optimal), complexity tables for each, company-specific tips on what an Booking interviewer values, and a FAQ section.
- #17easyfoundational
17. Meeting Rooms
Determine if a person can attend all meetings — Booking applies the same interval-overlap check when validating that a property's booking windows never collide on the same room.
- #18mediumfoundational
18. Meeting Rooms II
Find the minimum number of rooms to host all meetings — Booking uses the identical heap strategy to figure out how many concurrent reservations a property can handle before overbooking.
- #19mediumfoundational
19. Insert Interval
Insert a new booking window into a sorted list of non-overlapping reservations and merge any conflicts — exactly the operation Booking runs when a new reservation arrives on a partially-booked property calendar.
- #20mediumfoundational
20. Number of Islands
Count connected land regions in a grid — Booking uses the same BFS/DFS cluster logic to group nearby hotels into geographic destination zones for search ranking.
- #21mediumfoundational
21. Coin Change
Find the fewest coins to reach an exact total — Booking's pricing engine uses the same unbounded DP when breaking a nightly rate into fee denominations or computing minimum discount combinations to hit a target price.
- #22mediumfoundational
22. Top K Frequent Elements
Return the k most frequent elements from an array — Booking's search team applies this pattern to surface the top-k most-booked destinations or properties for a given city query.
- #23mediumfoundational
23. Longest Substring Without Repeating Characters
Find the longest window of unique characters in a string — Booking's content team uses a similar sliding-window approach to detect duplicate tokens in property descriptions and enforce uniqueness constraints on hotel name fragments.
- #24mediumfoundational
24. Find First and Last Position of Element in Sorted Array
Locate the exact date range of a target value in a sorted list — Booking applies binary search to find the first and last available nights when a property's rate matches a target price tier.
- #25mediumfoundational
25. Group Anagrams
Cluster strings that are rearrangements of each other — Booking uses the same canonical-key grouping technique when deduplicating hotel name variants and locale translations that share the same character set.
- #26mediumfoundational
26. Word Break
Determine if a string can be segmented using a dictionary of valid words — Booking's NLP pipeline applies the same DP-based segmentation when parsing free-text destination queries into canonical city and region tokens.
- #27mediumfoundational
27. Course Schedule
Detect a cycle in a dependency graph — Booking's platform team applies topological-sort cycle detection when validating that hotel amenity feature flags have no circular dependencies in their configuration graph.
- #28hardfoundational
28. Trapping Rain Water
Calculate total water trapped between elevation bars — Booking's data team uses an analogous two-pointer capacity calculation when computing the maximum available inventory across a price-bucket histogram for dynamic pricing.
- #29hardfoundational
29. Minimum Cost to Connect Sticks
Minimize total cost of merging elements pairwise — Booking's pricing engine applies this greedy min-heap strategy when combining hotel price segments into bundled travel packages to keep the aggregation cost as low as possible.
- #1easyfoundational
1. Two Sum
Find two indices whose values sum to a target — Booking uses this to gauge baseline hashmap fluency for travel-pricing pair lookups.
- #2easyfoundational
2. Valid Parentheses
Use a stack to validate matching brackets — Booking screens this to confirm you can model nested filter expressions in search.
- #3easyfoundational
3. Merge Two Sorted Lists
Merge two sorted linked lists — Booking uses this to test pointer manipulation that mirrors merging two supplier availability streams.
- #4easyfoundational
4. Remove Duplicates from Sorted Array
Deduplicate a sorted array in-place — Booking checks this to ensure you can collapse duplicate availability rows efficiently.
- #5easyfoundational
5. Remove Element
In-place delete a target value — Booking screens this to confirm you can purge expired availability rows without re-allocating.
- #6easyfoundational
6. Search Insert Position
Binary-search the insertion index — Booking probes this to confirm you can position a new price into a sorted dynamic-pricing curve.
- #7easyfoundational
7. Plus One
Increment a digit-array by one — Booking uses this to baseline carry-handling logic seen in pricing-rule cascades.
- #8easyfoundational
8. Merge Sorted Array
Merge two sorted arrays in-place — Booking tests this to see if you can fold a supplier price update into the master availability array without extra memory.
- #9easyfoundational
9. Binary Tree Inorder Traversal
Inorder-walk a binary tree — Booking checks this to confirm you can flatten a hierarchical destination tree into a search-ready ordering.
- #10easyfoundational
10. Same Tree
Decide if two binary trees match — Booking uses this to gauge whether you can compare cached vs live availability trees.
- #11easyfoundational
11. Symmetric Tree
Detect mirror symmetry in a binary tree — Booking uses this to test structural-recursion fluency on hierarchical region indexes.
- #12easyfoundational
12. Maximum Depth of Binary Tree
Compute depth of a binary tree — Booking screens this to confirm baseline tree recursion before scaling to region/destination hierarchies.
- #13easyfoundational
13. Balanced Binary Tree
Decide if a binary tree is height-balanced — Booking screens this to gauge whether you can keep destination index trees from skewing.
- #14easyfoundational
14. Minimum Depth of Binary Tree
Find the shortest root-to-leaf depth — Booking checks this to test BFS shortest-path intuition transferable to fastest-fallback supplier lookups.
- #15easyfoundational
15. Pascal's Triangle
Generate the first n rows of Pascal's Triangle — Booking screens this for clean iterative-DP wiring before moving to availability-grid DP.
- #16easyfoundational
16. Best Time to Buy and Sell Stock
Pick the optimal buy/sell day pair — Booking probes this as a stand-in for finding the best snap-up window in a dynamic-pricing time series.