Hudson River Trading·Software Engineer·Technical Phone Screen
May 2026
Systems-heavy technical phone screen for a software engineer role at Hudson River Trading. The whole thing was low-level C++ and OS internals, which I expected from HRT but still felt like drinking from a firehose. No fluff, no behavioral questions, just back-to-back concepts.
- What does the inline keyword actually do in C++, and how do inline variables differ from inline functions?
- Walk me through what causes a segmentation fault and what the OS is actually doing when one occurs.
- Explain how the MMU translates a virtual address to a physical address.
- What is the TLB and why does it exist? What happens on a TLB miss?
- What is a page fault, and how does it differ from a trap? When does the OS get involved?
- How does swapping work, and how is it different from demand paging?
- How is std::string typically implemented, and what is the small-string optimization?
- Why can marking a function inline actually increase binary size?
“I started with the compiler-hint angle and they pushed back immediately, asking me to distinguish language semantics from optimization behavior.” The rest of the author's notes on Software Engineer interview at Hudson River Trading, Technical Phone Screen round, covers how they worked through the question, what the panel pushed back on, and what they would do differently.
View Post