My experience interviewing at a top HFT firm which trades >$1billion everyday
The interview process. Some of the interview questions asked. My key takeaways and learnings
In this article I will talk about my experience interviewing at one of the top HFT firms which trades more than $1billion volume everyday.
This article will walk thorough:
The interview process
Some of the interview questions asked
My key takeaways and learnings
Application
I found job posting through my university careers website. I emailed the recruitment team with my CV and a brief introduction.
Stage 1: Initial tests
My application was progressed to the first stage. The first stage was a take-home test which consisted of:
A Coding test
An IQ & Quantitative test
Coding test (1 hour)
The first section consisted of 2 algorithms coding questions. The solutions were assessed on their correctness and time complexity.
Question 1 (~Leetcode medium):
Finds the index where the maximum value of the elements before the index is less than the minimum value of the elements after the index. If no such index exists, it return -1
Examples:
[5, -2, 3, 8, 6] = 3
[-5, -5, -5, -42, 6, 12] = 4
[-5, 5, 7, -10, 2, 8] = 5
[1, 2] = 1
[3, 2] = -1
Question 2 (~Leetcode medium):
Given a list of integers, count the number of unique pairs in the list.
Examples:
[3, 5, 6, 3, 3, 5] = 4
[4, 6, 4, 7, 6, 2] = 2
[4, 4, 4, 4, 4, 4] = 15
[1, 2, 3, 4, 5, 6] = 0
IQ & Quantitative test (1 hour)
Mental maths test: Addition, subtraction, multiplying & dividing of integers, fractions and decimals.
IQ test: Pattern recognition, Memory, Information processing speed, Attention & Blocking
Key takeaways
These tests were difficult and definitely require preparation. Here’s some resources which you can use to prepare:
Mental maths test: https://arithmetic.zetamac.com/
Coding test: Neetcode, Leetcode
Stage 2: Assessment Centre (2.5 hours total)
I passed the initial tests and was invited to the remote assessment centre one week later.
The assessment centre consisted of more tests followed by interviews with traders and management. There were 5 candidates at the assessment centre.
Tests (1 hour)
Theses tests were a repeat of the take-home ones. The main purpose was to check whether candidates cheated in the take-home tests. We were watched while completing the tests to insure that we could not cheat.
Mental maths test
Similar to the take home test: Addition, subtraction, multiplying & dividing of integers, fractions and decimals.
Coding test
Question: Find the longest increasing path in a matrix (~Leetcode hard)
Interviews: 4 rounds 20 mins each (1.5 hours)
After the tests, we had a 30 min break before starting the interviews.
Interview 1 - Trader
The first interview was based on designing the high-level architecture of a trading system. We were given one day in advance to prepare for this interview. Here are some of the prompts we were given to answer:
Why/How is an order created or cancelled?
How is an order managed internally in the trading system?
What are some constraints for different types of orders?
What are the possible end states of an order, how would you manage this?
How would you check the order status on the exchange?
Interview 2 - Trader
The second interview was more casual. It mainly consisted of basic questions to test the interests of the candidates.
What is the price of Bitcoin?
Can you name a few cryptocurrencies?
Why do you want to work in a trading firm?
Interview 3 - Trader
The third interview was the brainteaser / logical reasoning part. The interviewer is interested in seeing how you think. The most important part is to speak out your thought process.
Some of the questions asked include:
Estimate how many McDonalds there are in the United States, walk me through your logic.
Make me a market on the volume of the Earth - provide me with a 95% confidence interval.
What is the probability of getting a straight in Poker?
Interview 4 - Management
The 4th interview with management was a chance for the candidates to ask the questions.
For these types of interviews it’s vital to properly research the firm and prepare some questions beforehand.
Conclusion
Unfortunately I did not pass this round. Upon reflection, I did not perform well enough in the assessment centre mental maths and coding tests. I also think it would have been beneficial to have built a relevant personal project.
Key Takeaways
Quick mental maths underpressure is hard - but you can prepare for it
Build a relevant personal project which you can talk about in interviews
Job interviews is a numbers game. The more you practice the better you become.
Other Media
Twitter: @quant_prep
LinkedIn: Quant Prep
Medium: @quant_prep
Free Stoikov Market Making code: here
Free BTC Options Scenario Analysis code: here
this was super helpful thanks for posting !