← Booking.com Interview Insights

Booking.com·Software Engineer·Technical Phone Screen·Intermediate

Intermediate
Jun 2026

Summary

Booking.com coding screen with a hotel reviews scoring problem. Not a typical LeetCode grind, more of a design-your-own-logic kind of thing, which I wasn't expecting.

Questions Asked (1)

Q1

You're given a list of hotels, each with reviews containing keywords. Some keywords are positive and some are negative. Aggregate keyword scores per hotel and return the top-K hotels by total score. You define the scoring weights and keyword detection logic yourself.

Algorithms & Data StructuresTechnical Trade-offs
Author's notes

The 'define it yourself' part is where I lost time.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the problem: define keyword detection (e.g., exact match, stemming, or NLP), assign weights (e.g., +1 for positive, -1 for negative), and aggregate scores per hotel. Then discuss efficient algorithms for top-K selection, such as using a min-heap of size K, and analyze trade-offs between preprocessing and query-time computation.

Pro tip: Mention that in a real system, you'd likely precompute and cache hotel scores, and use a streaming approach for reviews to handle large-scale data. Also, consider normalizing scores by review count to avoid bias toward hotels with many reviews.

1. Clarify requirements and assumptions

Ask about data size, keyword list, review format, and whether scores should be normalized. Define positive/negative keywords and weights explicitly.

2. Design keyword detection and scoring

Choose a detection method (e.g., tokenization, stemming, or regex) and assign weights (e.g., +1 for positive, -1 for negative). Consider handling negations or context.

3. Aggregate scores efficiently

Iterate through reviews, update a hash map of hotel scores. For large data, consider parallel processing or streaming aggregation.

4. Select top-K hotels

Use a min-heap of size K to find top-K in O(N log K) time, or sort all hotels if K is large. Discuss trade-offs.

5. Discuss optimizations and trade-offs

Mention precomputation, caching, normalization, and handling ties. Consider scalability and real-time updates.

Key Points to Mention

  • Choice of keyword detection: exact match vs. stemming vs. NLP, and handling negations
  • Scoring weights: positive/negative values, possibly weighted by keyword importance
  • Aggregation using hash map for O(1) updates per review
  • Top-K selection using min-heap for O(N log K) time, or quickselect for average O(N)
  • Normalization by review count to avoid bias toward popular hotels
  • Scalability: precomputation, caching, and distributed processing for large datasets

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.