← Back to Directory

Hudson River Trading interview notes, page 3 of 4

Mid-sized

Most of these Hudson River Trading write-ups come from Software Engineers (33), then Machine Learning Engineers (3) and Data Scientists (1). The most reported rounds are the technical phone screen (29), the system design round (4), the online assessment (3) and the hiring manager screen (1).

37 interview notes · updated Jul 2026

Hudson River Trading·Software Engineer·Technical Phone Screen

Jun 2026
Interviewed at Hudson River Trading for a software engineering role and got hit with a full Wordle solver implementation question. It was a deep coding and design exercise that covered everything from constraint tracking to information-gain strategy to complexity analysis and unit tests. More involved than I expected for a single session.
  • Implement a Wordle-style word guessing game solver. The solver should maintain constraints from per-character feedback (correct position, wrong position, or absent), handle repeated letters correctly, and keep guessing until it finds the word or hits a maximum attempt limit.
  • Design the data structures used to represent and update constraints after each round of feedback, and explain how you prune the candidate word list efficiently.
  • Propose and justify a strategy for choosing the next guess. For example, a letter-frequency heuristic or an information-gain approximation.
  • Implement the solve(dictionary, feedback_api, max_attempts) interface that returns the final guess and number of attempts used.
  • Analyze the time and space complexity of your solution.
  • Write unit tests for your solution and walk through a sample run demonstrating it works.

“The repeated-letter handling is where I stumbled.”

View Post

Hudson River Trading·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 River Trading·Software Engineer·Technical Phone Screen

Jun 2026
HRT coding screen, one problem, simulation-style. The problem looked deceptively easy at first glance but the alternating direction logic tripped me up a bit.
  • A bird starts at a given index in an array where positive integers are sticks and zeroes are empty spaces. It alternates collecting the nearest stick to the right, then left, then right, and so on, returning each to its starting position. Return the indices of collected sticks in order, stopping once the total length reaches at least 100.

“Spent the first few minutes just re-reading the problem because I kept second-guessing the alternating part.”

View Post

Hudson River Trading·Software Engineer·Technical Phone Screen

Jun 2026
Interviewed for a software engineering role at Hudson River Trading and got hit with an array problem that looked deceptively simple. The focus was clearly on algorithmic thinking and handling edge cases under pressure.
  • Given an array of integers and an integer K, remove exactly K contiguous elements so that the amplitude of the remaining array (max minus min) is minimized. Return the minimum possible amplitude.

“The word 'amplitude' threw me off at first, took me a beat to realize it just meant the range.”

View Post

Hudson River Trading·Software Engineer·Online Assessment (OA)

Jun 2026
HRT OA for a software engineering role. The whole thing was weirdly open-ended in a way I wasn't expecting, less about solving a specific problem and more about whether you actually know how to think about testing rigorously.
  • You're given an online assessment with almost no sample test cases and told to write your own. How do you design a thorough set of tests? Walk through your edge-case categories, how you generate inputs and expected outputs, how you validate against a reference solution, and how you know when you've tested enough.

“This is the kind of question that sounds manageable until you actually try to answer it without hand-waving.”

View Post

Hudson River Trading·Software Engineer·Technical Phone Screen

Jun 2026
Interviewed for a software engineering role at Hudson River Trading and got a local minimum problem that started simple enough but kept expanding. The 2D follow-up is where things got interesting.
  • Given an array of unique integers, find any element that is smaller than both of its neighbors.
  • Extend the local minimum problem to a 2D matrix where a cell must be smaller than all four of its adjacent neighbors (up, down, left, right).
  • How would the solution change if duplicate values were allowed in the array or matrix?
  • Can you find all local minima instead of just one, and what's the complexity?
  • What changes if diagonal neighbors also count as adjacent in the 2D version?

“I jumped straight to a linear scan and it worked, but then they asked if O(log n) was expected and I kind of froze.”

View Post

Hudson River Trading·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 River Trading·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 River Trading·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 River Trading·Software Engineer·Onsite - System Design / Architecture

Jun 2026
HRT system design round for a software engineer role. The focus was entirely on a data structure design problem that looked straightforward on the surface but had a lot of moving parts once you got into the implementation.
  • Given a data structure with easy-to-understand behavior but a lengthy implementation, walk through your full design process: clarifying the required operations and constraints, sketching out states and transitions, picking your core data structures, analyzing time and space complexity per operation, handling edge cases, and organizing your code and tests to reduce bugs.

“This was the whole interview basically.”

View Post