Cracking the Quant Interview

Suhas Jain
9 min readDec 12, 2022

--

Hey everyone,
I am Suhas Jain, a 4th-year undergraduate student from the Department of Computer Science and Engineering enrolled in its dual degree course. I will be interning at Quantbox India as a Quantitative Researcher in the Summer of 2023.
I have a CGPA of 9.70, had 20 shortlists on day-1 and interviewed for three companies (Graviton, Quantbox, and Google). My intention for writing this blog is to help people who want to start early and have a strong motivation to grab a good internship in the fields of Quantitative Research or Software Development.

Things that matter

In this section, I’ll try to list down the things (in no particular order) that I think ultimately decide your fate in the CDC process.

  • Department: There is no denying the fact that all the tech companies that come on day-1 have a strong bias towards circuital branches. More than half of them have a very strong bias towards CS and M&C. For students from non-circuital branches, doing a more targeted preparation for companies that do not have department bias (e.g. Microsoft, Goldman Sachs, etc.) should be the ideal strategy.
  • CGPA: Most software companies do not care about CGPA during the final interviews. But do note that there are cases where many people get the same score/solve all questions in tests, in such cases shortlisting is almost always done on the basis of CGPA. For HFTs (e.g. Graviton, Quadeye, Quantbox, etc.), CGPA is one of the most important (if not the most important) criteria they have for selection across all steps of the selection process. So, next time someone tells you “just keep your CGPA above 8–8.5”, please rethink their advice.
  • CV: Compared to finance, consult, product, etc., in tech, CV is not that important. Projects, Internships on your CV are mostly used as a conversation starters interviews which are usually followed by an in-depth discussion on topics of CS fundamentals. In some companies, they might be used as a grilling topic for the HR round. In short, having a CV with less content or achievements will almost never be a problem as long as you have 1–2 projects/internships for the purpose I mentioned above.
  • Skills: I strongly believe with each passing year, competitive programming is becoming more and more important, as tests get more difficult and time constrained. In most cases score in the coding test exclusively decides the shortlist and it is never a bad idea to be over-prepared in such cases. Apart from coding skills, mathematical aptitude, probability and statistics, structured problem-solving skills, and knowledge of CS fundamentals also come into play depending on the company and profile. More on the preparation tips in the next section.

Preparation

As I am a dual degree student, I had sufficient time to explore different areas and interests. During my first and second years, I was mostly focused on academics, doing a few internships and exploring my interests. I started studying DSA and practising coding after the end of my fourth semester. I’ll divide my preparation strategy into three sections.

Competitive Programming and DSA

I started watching some popular playlists and reading Codeforces/GFG blogs during the summers after my second year. After I went through all the basic topics and had a bit of practice in coding in C++ and using STL, I started giving contests of Codeforces and participating in other competitive programming competitions (link). I was giving some contests during the semester but it was mostly passive and I didn’t get a lot of practice. By the end of the autumn semester, I was an expert on Codeforces, but I quickly understood that whatever rating I had till now was due to my ability to solve ad-hoc problems and not because of my proficiency in DSA. It was during the winters that I started reading in detail and practising specific topics. As I became proficient and confident in topics like graphs, dynamic programming, and trees, I noticed a significant jump in my problem-solving skills. The spring semester started again and competitive programming took the backseat. After the end of the spring semester, now I was completely focused on CDC preparation. During the course of the next 2.5 months, I solved these resources:

  • All programming problems from InterviewBit.
  • Questions from specific topics I was weak at from LeetCode.
  • All current and past Grimoire of Code (GoC) contests.
  • Codeforces Div. 2 contests from the past 6–7 months.
  • Regular Codeforces, Kickstart, AtCoder Beginner contests.

Till the second week of June, I had completed these resources and for the next 8–10 days I was focused on increasing my rating and becoming a candidate master on Codeforces. On 19th June I became 6 star on CodeChef and on 22 July I became candidate master on Codeforces. At this point, I was somewhat satisfied with my preparation.
I think one mistake people make is they keep solving new questions without retaining knowledge from the questions they have already solved. For the next 20–25 days, I mostly revisited the questions I marked as important and all the questions from the GoC contests.

Probability and Statistics / Mathematical Aptitude

I have always liked solving puzzles so I used to solve some when I wanted to take a break from coding or felt burnt out. Some of the websites I used are:

I solved all the questions from the first 3 websites. I used the Stat 110 playlist and notes to study probability and statistics. I utilized 3–4 days completely for this purpose. There is a fixed set of books to prepare for quant interviews, I recommend going through all of them multiple times till you reach a point where you remember all the approached and answers.

  • Heard on the Street by Timothy Falcon
  • 50 Challenging Problems in Probability by Frederick Mosteller
  • A Practical Guide to Quantitative Finance Interviews by Xinfeng Zhou

One key thing to remember while solving these books is, that you should never jump to the answer directly after reading a question. Always try for a few minutes, give it a few attempts, then only read the solution. As a result, you’ll have more retention and will also gain some confidence.

Computer Science Fundamentals

These topics are extensively asked in systems interviews of HFTs and a few companies like DE Shaw. If these roles are not your target you can skip this altogether. I mostly studied these in the last 1–2 weeks before the tests started and also while the tests were going on. I studied Object Oriented Programming (OOP) and Operating Systems in depth. As for Computer Networks, I didn’t have much time left so couldn’t study it properly. Resources I used:

  • Operating Systems: CS30002 course slides
  • Object Oriented Programming: CS20006 course slides
  • Computer Networks: GFG blogs and CS31006 course slides

You should also study Database Management Systems if you have mentioned anything related to it on your CV.

Tests

As most of the tests were just coding tests with varying levels of difficulty, I’m not going to mention all of them. I’m going to mention some noteworthy ones which were a bit different.

  • Quantbox: They had a common test for both quant and software roles. It had 2 individually timed sections. The first section had one difficult coding question and an approximate coding question, where we were required to code an approximate solution to an NP-hard problem. I was only able to solve the first one. The second section had C++ MCQs, all of them were difficult with very less time, I was able to solve 70–75% questions in this section.
  • Graviton: They had separate tests for both quant and software roles. The software test had 2 questions, one was an easy question regarding LCM and the other one was difficult which involved writing a Dijkstra on a grid with some optimizations, I solved both of them in 30 minutes. For quant profile they had a subjective test involving discrete mathematics and probability, I was able to solve 3 out of 4 questions.
  • Jane Street: They took tests of some candidates while others were shortlisted for interviews directly. In their test, they had a game-based scenario and 5 questions were asked subsequently, where we were required to provide an answer with an explanation. It required a strong intuition and a lot of approximation. I was not shortlisted for the interviews.
  • APT Software: This was a non-conventional test. Instead of DSA, it mostly revolved around systems coding. There were also questions where we had to guess the output of a program and also provide our reasoning for the same.

Interviews

  • Graviton: This was my first interview of the day and started at 6 a.m. sharp. It was an intense 1 hour interview where I was questioned on puzzles and probability questions, most of them were a variation of popular questions and ranged between medium to hard level. Providing closed-form solutions and formal proofs were encouraged at every step. I was able to solve all questions except a follow-up to the last question.
  • Quantbox: I joined this interview right after the Graviton interview ended. It was a 2–2.5 hour long interview, where 4 different people grilled me without any break. I was asked 3 medium, 2 hard, and 2 very hard questions. Medium and hard questions most revolved around probability and expected value along with one knapsack based question. I was able to solve all of them. Both of the remaining questions were game-based questions where I had to find an optimal strategy and determine the results of a given game in different scenarios. Each of these took me more than 30 mins and quite a bit of help from the interviewer to solve.
  • Google: I had this interview scheduled already, and joined it right away. There were 2 rounds. In both of the rounds, I was required to solve a geometry + graph problem. The first one involved the construction of a graph using some casework and applying Dijkstra to find the shortest path. The second round also had a similar question which involved graph construction using geometry and then finding connected components, with some follow-ups. I was able to solve both of them easily.

Just after the Google interview, I received a call from one of the Placement Committee members that I had an offer from Quantbox, so I couldn’t sit for any more interviews and hence Graviton’s next round. I was quite satisfied with the offer and my performance. When the offer list was released I had offers from both Quantbox and Google, and I accepted the offer from Quantbox.

Key Takeaways

  • If you are not very proficient in coding before the summers, I would strongly recommend against doing a project/internship which takes up more than 2 hours of your time every day.
  • Start competitive programming as early as possible. Good rating on platforms like Codeforces and performance in competitions like ICPC and Google Kickstart on your CV gives you an edge. It also helps build logic and speed, both of which take time so the earlier the start, the better.
  • Having strict deadlines and a structured timeline of expected completion of various tasks you do as a part of your preparation strategy really helps. Don’t go too hard on yourself and make a realistic timeline.
  • Try to be part of a small closely knit group of people with similar goals as yourself and prepare together. This way you have a support system and also motivation from peer pressure, both of which are very important.
  • The last 1–1.5 months should be reserved exclusively to practice weak topics, revising important questions, solving aptitude problems, and reading up CS fundamentals. Ideally, you should be done with your DSA prep before that.
  • In tests even if you can’t solve a problem completely, try to write a code that runs on at least some test cases. Write a brute-force solution, greedy instead of DP or simply just return 0, -1, etc. so that it passes at least some test cases. These test cases act as a tie-breaker in tests of many companies.
  • In interviews, if you find a question too difficult and can’t solve it immediately, don’t give up. Keep trying various approaches and communicate them to the interviewer. Be diligent and never say you can’t solve it unless it is something you don’t have any idea about.

Closing Remarks

With numerous tests, PPTs, and pressure to keep up with everything, the CDC process becomes quite taxing. Make sure you talk to people close to you, eat well, sleep well and stay hydrated. Trust your preparation and give your best. A good amount of luck factor is involved in every step of the process so don’t feel disheartened if things don’t go in your favour.
If you have any queries, feel free to ping me on Facebook or email me at suhasjain142@gmail.com, I’ll be happy to help.
Salud!

--

--