I applied through a recruiter. The process took 4 weeks. I interviewed at Hudson River Trading (New York, NY) in Dec 2015
Interview
We had 3 phone interviews, They allowed me to schedule phone time through the web site by yourself. This is exceptional and very useful.
HRT has ventured into the subjects they are interested themselves and tried to figure out how deep a persons understanding is. While their emphasis was correct and very appealing to show their own strengths, it is quite hard to translate all required depth over the phone. Majority of the questions could be answered "that book" gives exact insight what you are looking for. They are looking for narrow specialists who invested their time deeply in single area and know it exactly, not for outliers who think on problems. They have not tried to figure out the candidate abilities over the phone.
Overall, level of the interviewers was good, it was pleasing and fun.
People are generally friendly. You should really know your stuff (networks, OS, algorithms) before you apply. I got bamboozled at the second round, but I learnt a lot from the interview process.
Interview questions [1]
Question 1
What's the difference between virtual vs. physical memory?
The was only one interviewer for me, and it was conducted through online metting. I was asked a lot of C++ question. However, some questions can be found by searching interview question.
Interview questions [1]
Question 1
does C++ allow function that is virtual and static?
I applied through a recruiter. The process took 1 week. I interviewed at Hudson River Trading (New York, NY) in May 2022
Interview
The interview consists of 4 rounds, although I only made it to round 2:
1) Take home, leetcode style, 2 questions
2) Screenshare, C++ trivia / knowledge questions
3) Screenshare, leetcode style question(s)
4) Virtual on site, leetcode style + speak with leadership
Interview questions [1]
Question 1
Round 1)
- Given a string containing only the characters 'A' 'B' 'C' 'D', return the string when all adjacent "AB" / "BA" and "CD" / "DC" pairs have been removed.
- Given a graph (represented as an array) where nodes have value either 'A' or 'B', find the longest path where no two adjacent nodes have the same value.
Round 2)
- Physical memory vs virtual memory. You have 4GB physical, but you allocate an 8Gb buffer. Is this possible? If so, how? How is the memory actually read as we traverse the memory?
- Thread vs process, what's the difference? Talk about some common threading models.
-What are some methods of inter-process communication. Between threads. Between processes.
- Explain how a named pipe works (FIFO).
- What does the inline keyword do in C++? What are the pros and cons?
- How do virtual functions work in C++? Explain how vtable lookup works.
- Map vs unordered_map in C++, how is each one implemented under the hood. What data structure is used.