← Back to Directory

Hopper

Mid-sized

Hopper is a travel booking app that uses predictive analytics and machine learning to forecast flight, hotel, and car rental prices, helping users find the best time to book. It is known for its price prediction technology and fintech products like price freeze and cancellation protection.

2 interview notes · updated Jul 2026

Hopper·Software Engineer·Technical Phone Screen

Jul 2026
Hopper software engineer interview that was basically one meaty coding problem with some follow-ups tacked on. The core question sounds manageable until you actually sit down and think through all the edge cases.
  • Given a list of filename strings, implement a custom sort using a comparator that handles digit runs numerically, prioritizes digits over non-digits at the first differing position, and uses standard lexicographic order for non-digit parts.
  • How should filenames like 'file01.txt' and 'file1.txt' be ordered when their numeric values are equal due to leading zeros, and how would you implement your chosen tie-break?
  • If you need to sort a very large number of filenames, how would you optimize the approach to avoid repeatedly parsing digit runs inside the comparator?

“I thought I had this pretty quickly and started writing a comparator right away.”

View Post

Hopper·Software Engineer·Technical Phone Screen

Jul 2026
Hopper software engineer interview with a sorting problem that looked simple until you actually thought about it. The follow-ups on edge cases and optimization are where it got interesting.
  • Given a list of filenames, sort them using a custom comparator that puts digit-starting names before letter-starting ones, and compares numeric chunks by their actual numeric value rather than lexicographically.
  • How would you handle sorting file01.txt versus file1.txt when leading zeros are involved? Define a rule and justify why it's deterministic.
  • How would you optimize the sorting for very large inputs, specifically by precomputing a key per filename to avoid re-parsing on every comparison?

“I started with a naive split on digits vs letters and got the basic comparator working, but I fumbled the explanation of why plain string sort fails for mixed numeric chunks.”

View Post