← Back to Directory

Hudson

Large Enterprises

Hudson is a leading travel retailer operating convenience stores, newsstands, specialty retail shops, and duty-free outlets in airports and transportation terminals across North America. It is known for its widespread presence in airport terminals and its portfolio of branded and proprietary retail concepts.

8 interview notes · updated Jul 2026

Hudson·Software Engineer·Technical Phone Screen

Jun 2026
Rapid-fire C++ fundamentals screen for a software engineering role at Hudson, clearly aimed at low-latency / HFT-style work. Five topic areas back to back, all pushing on mechanism and cost rather than definitions. Felt more like a debugging session than a typical interview.
  • What does the inline keyword actually mean in C++, and what does it guarantee versus what it only hints at?
  • Walk through exactly why inlining a function can increase binary size, and describe a scenario where a non-inlined call gives better latency than an inlined one.
  • What does the new keyword do under the hood, and can you describe what malloc is actually doing at the implementation level?
  • Does the OS get involved every time you call new or malloc? How would you avoid touching the OS on a latency-sensitive hot path?
  • Roughly how much slower is heap allocation compared to stack allocation, and why?
  • Compare templates and inheritance as tools for polymorphism. When would you choose one over the other?
  • What are the differences between std::map and std::unordered_map, including worst-case complexity for each?
  • How does an unordered_map actually locate the right bucket for a given key?
  • What is a segmentation fault and what is actually happening at the hardware and OS level when one occurs?
  • If you bind a reference to a dereferenced null pointer, when exactly does the crash happen and why?

“I started talking about inlining as a performance hint and the interviewer immediately pushed back asking what it actually guarantees at the language level.”

View Post

Hudson·Software Engineer·Technical Phone Screen

Jun 2026
Hudson SWE interview with a C++ systems coding question, pretty focused on low-level design and understanding an existing codebase before touching anything. Not a whiteboard-from-scratch situation, more like 'here's a real system, extend it properly.'
  • You're given a C++ trading system with client/server architecture that already handles AddOrder and CancelOrder. Add a ModifyOrder request that updates price and quantity, with proper validation and rejection logic, and explain how you'd navigate the existing codebase before writing any new code.

“The implementation part was manageable but the 'what would you inspect before making changes' angle tripped me up a bit.”

View Post

Hudson·Software Engineer·Hiring Manager Screen

Jun 2026
Interviewed for a software engineer role at Hudson, and the main thing they wanted to dig into was my motivation for full-stack work specifically. Not a super long process from what I could tell, more of a screening conversation to see if I actually meant it or was just calling myself full-stack because it looks good on a resume.
  • Why do you want to work full-stack rather than specializing in just frontend or backend?

“I fumbled the opener a bit.”

View Post

Hudson·Software Engineer·Technical Phone Screen

Jun 2026
Hudson gave me a pretty involved technical screen for a Software Engineer role, basically a full end-to-end ML case study on a heart disease dataset. One question but it had like seven parts, so it felt more like a take-home crammed into a live session.
  • You're given a tabular dataset for predicting heart disease with a binary target column and features like age, blood pressure, cholesterol, and smoking status. Walk through loading and inspecting the data, cleaning it, doing exploratory analysis with visualizations, engineering features like BMI, training a baseline classifier, evaluating it with appropriate metrics, and summarizing what you'd check before deploying the model.

“This was basically the whole interview rolled into one prompt.”

View Post

Hudson·Software Engineer·Technical Phone Screen

Jun 2026
Phone screen for a full-stack role at Hudson. Three questions, mix of Python internals, React frontend stuff, and a live debugging scenario. Nothing too wild but the on-call question caught me a bit flat-footed.
  • What is a Python context manager, how does the `with` statement work under the hood, and when would you actually use one?
  • Walk me through how React handles rendering, how hooks fit into that, where memoization helps, and what kinds of frontend performance issues come up in practice.
  • You're on-call and a teammate says the app is rendering really slowly. How do you investigate, figure out what's causing it, and fix it?

“Knew this one well enough.”

View Post

Hudson·Machine Learning Engineer·Technical Phone Screen

May 2026
Got a coding round for an ML Engineer role at Hudson that turned out to be way more simulation-heavy than I expected. The main problem was a geometry/logic puzzle dressed up as a movement problem, and then they hit you with a continuous-time follow-up that I was not ready for.
  • You have a 1D line segment with a right boundary at position L. N people start at given positions and all want to move right, one unit per time step, for T total steps. A stationary watcher at position W faces either left or right and reverses direction at specified times. Each step, any person strictly on the watcher's facing side cannot move. People at exactly W are unaffected. How many people reach position L after T steps?
  • Follow-up: how would you adapt the solution if movement is continuous rather than step-based, while the watcher still only changes direction at discrete switch times?

“My first instinct was to just simulate it step by step, which is probably the right call, but I spent too long second-guessing whether there was some closed-form trick.”

View Post

Hudson·Data Scientist·Technical Phone Screen

May 2026
Interviewed for a Data Scientist role at Hudson and got a classic algorithms problem. Nothing too wild, but it made me realize how rusty I was on sorting-based tricks.
  • Given an array of distinct integers, write a function that counts the number of inversions, where an inversion is any pair of indices where the earlier element is larger than the later one.

“I went straight for the O(n^2) brute force, two nested loops, check every pair.”

View Post

Hudson·Software Engineer·Technical Phone Screen

May 2026
Two-part coding interview for a Software Engineer role at Hudson. One simulation problem and one classic implementation task. Nothing too wild but the first problem has some tricky edge cases that can really trip you up if you're not careful about ordering.
  • There's a 1D track from position 0 to L with N players starting at various positions. A watcher stands at a fixed point and alternates looking left/right at given timestamps. Players being watched can't move. Given an end time T, how many players reach position L?
  • Implement integer-to-decimal-string conversion for a 32-bit signed integer without using any built-in conversion functions.

“This one looked manageable until I actually read the event ordering rules.”

View Post