I applied via a 3rd party recruiter. The process begins with a phone call with an internal recruiter at GTS. They go over why you are looking for a new job, why GTS and talk about the whole process.
First round is a take home test that goes for 4 hours. It's not your standard Leetcode like challenge. The challenge involves testing your C++ and some systems programming skills, skills which some aspiring to work as a C++ dev for an HFT must absolutely know.
I passed this round and they got back within a day to schedule the next round. I'd also like to point out that GTS is very fast with feedback, you will know of your results from within a few hours to a day.
Second round - A video interview with two interviewers. They will first go over your professional experience of using C++ and ask some C++ questions. Then each interviewer will ask either a leetcode type or a design problem to be done in C++. Unlike tech interviews, here they do compile your code, expect you to write some tests and want them to pass.
I passed this round and was informed of that within two hours to schedule the onsite.
Onsite:
The onsite is actually split into two parts. You need to pass part 1 to go the second one. Very much like how trading firms did interviews pre-pandemic, where you'd part of the onsite before lunch, and if you didn't pass those rounds then your post lunch interviews would be canceled.
Onsite Part-I:
Three rounds on Microsoft Teams.
Round 1 - Talk with a senior engineer on what the firm does, the history of the firm, the teams that comprise the quant and engineering teams, and then some basic questions on algorithmic theory, like if you had to sort an array of ten elements then would you use something like quicksort/mergesort or bubble sort?
Round 2: You will be presented an API interface and a graph modeling the problem. You have to implement the API interface only to code up the problem represented in the graph. Once you code it up the interviewer will run a rough simulation and tell if your code has a bug causing a failure or if it succeeded. If it fails then the goal is to see if you can fix your code till it does everything correctly. After a few rounds of such runs I got my code to work.
Round 3: My best round IMO. Was asked a C++ question, coded it up and ran it with tests. Then asked an easy LC problem, same routine. What differs here is that the interviewer will test your C++ skills by asking how some STL feature you used works, or how would the performance change if some other STL container or algorithm was used. Was then asked an easy-medium problem, same routine. All solutions were compiled and tested.
I was informed that I passed this stage and had to schedule the final two rounds.
Onsite Part-2
Round 1: An algorithms screen. Was asked an LC hard problem, hadn't seen it before. Needed a lot of hints, but got to the optimal solution, with working code and passing tests. Was asked some C++ related follow ups.
Round 2: Talk with an engineering team lead talking about the market access teams, roles, which roles interest me and in what preference. Also some personality and behavioral questions, some questions on how I approach programming problems and software design philosophies.
I was informed the next day that I didn't pass, and would not be getting an offer due to not being technically strong enough. Going through my interview, I feel it is a valid decision, and here's why:
1) My 2nd round on my first onsite, some of my bugs were due to some incomplete assumptions of the problem. Shows a lack of attention to understanding the complete problem, also having to go through a few iterations before I got to the right solution meant not a good sign.
Also, I took more time than the 1 hour allotted to the interview, so I also needed more time than required to solve the problem. For instance, all FAANG interviews would stop the interview once time ran out, and not give me a few extra minutes to solve the problem.
2) My algorithms round in the second phase of the onsite was the same i.e I needed a lot of hints to solve the problem, and took more time than allotted to complete the solution with working code.
So, their expectation seems to be that you solve the problems with very few hints, get it right early on, and do not go overtime to finish it.
In all, I would say that interviewing with GTS was fun. Their interviewers are very good and helpful, the recruitment team is very fast when it comes to feedback. Definitely a lot better than most trading firms.