Squarepoint Risk Technology Software Engineer Interview Experience — A Three-Month Process Ending in Rejection

Squarepoint·Risk Technology Software Engineer·Aug 2026
Technical ScreenSenior+Rejectedmedium

I am an older programmer. After graduating in 2016, I spent my early career doing C++ backend development at internet companies. After the pandemic, I moved into quantitative development. My most recent job was developing trading infrastructure in the Singapore office of a small quantitative firm, and my former employer laid me off in March.

From March through May, I interviewed intensively with many buy-side quantitative firms. I joined a new company at the end of May and was still based in Singapore. There were some things inside the company that I was not very happy with, so I kept interviewing while employed. By August, my current company had a new project that put me in contact with a trader to work on QD. The trader I started working with was capable and good at managing upward, so I decided to pause the job search. I recently decided to summarize the interviews I had gone through since the March layoff, working backward through the companies.

The overall Squarepoint process was extremely long. Squarepoint was not especially attractive to me, particularly because this was the risk team, but I was unemployed at the time and was not in a position to be picky. I first spoke with the recruiter and received the job description on April 15. I got a response on May 8 asking to schedule an interview, and I was not told that I had failed until August 21. The process took more than three months. Every interview used Teams plus HackerRank pair coding. The usual flow was a resume review, a grilling on Linux and C++ fundamentals, and pair coding. The coding questions were not LeetCode-style algorithms; they asked me to implement something for a concrete situation, and the difficulty was moderate. All of the interviewers were in the London office, so most interviews ran from 8:00 to 9:30 p.m. Beijing time. Only the first was from 4:00 to 5:30 p.m., because I had not yet started the new job. I was happy about the evening schedule because it meant I did not need to take leave from my new job. It also made me complain again about how many buy-side firms in Singapore now require onsite interviews, which makes it impossible to interview online quietly during work.

Sometime in April — resume submitted.

Sometime in May — first interview scheduled.

Sometime in May — first interview, passed.

The interviewer had a good attitude. There was no self-introduction and no discussion of my prior experience; he started immediately with Linux networking. The main topics were TCP congestion control, Linux process scheduling algorithms, kernel bypass, and shared memory. Then we moved into pair coding. The main task was to parse a polynomial function according to his requirements and convert the parsed result back into a string. After I finished that, he gave a combination of several polynomials as input and checked whether my parser passed the unit tests. It was not difficult overall, but I needed to consider boundaries such as negative numbers and overflow. Next, he gave me several code snippets and asked me to identify and fix potential bugs. That was not difficult either.

Sometime in May, the second interview was scheduled. Around the same time, I received an offer from the company I ended up joining. It did crypto market making, which matched my earlier experience, and the pay was 20 percent higher. However, the company had never done crypto before, the infrastructure was poor, and most frameworks had to be built from scratch, which was a headache. I was also not very optimistic about the crypto market at the time, so I did not withdraw from Squarepoint and kept going.

Sometime in May — second interview, passed.

The interviewer was nice, but he loved interrupting. Usually, before I had finished explaining, he would say that he understood, stop me, and move to the next question. We began with my resume. He was interested in my simulation-related development work and asked many implementation details: how I synchronized time, simulated latency, and maintained the order book. Then he grilled me on many C++ details, including templates, memory order, shared pointers, and concepts. Finally, I implemented an ordered vector that needed an interface consistent with std::vector and support for emplace_back and move semantics. For insertion, I used lower_bound and inserted directly. He did not say whether it was right or wrong; we discussed why I wrote it that way and its time complexity. We ended by comparing the efficiency of structure of arrays and array of structures.

After that interview, I heard nothing for a month and a half and assumed I had failed. Then, on July 15, the recruiter came back to schedule a third round. I agreed to continue because I wanted to finish what I had started, and evening interviews were still convenient for me.

Sometime in July — third interview. The recruiter called that morning to say the interviewer had something come up, so it was canceled.

Sometime in July — third interview with the same interviewer, canceled again.

Sometime in July — third interview with a different interviewer. We had barely greeted each other and exchanged a few words when he said there was an online issue, so it was canceled again.

Sometime in August, 8:00 to 9:30 p.m. — third interview, failed.

This interviewer was handsome and the conversation was fairly chill. Although the recruiter said this would be system design, it was actually another technical interview. He was interested in my past experience and asked many networking questions, such as how TCP_NODELAY works. After I mentioned Nagle's algorithm, we discussed its concrete implementation. He asked about problems I had encountered while developing with DPDK, how it differs from OpenOnload, and the latency of trading systems I had worked on. Then we moved into pair coding. The first question was simple: given two sorted vectors, choose one number from each and determine whether any pair sums to the target. I used two pointers and only needed to watch for empty input and overflow. The second question tested templates. I had to write a compile-time function that combines two std::index_sequence<Ints...> values into one std::index_sequence, which only required a variadic template. Finally, he asked which smart pointers I knew, why weak_ptr was designed, and how shared_ptr works internally. After I explained control-block memory allocation, he asked me to sketch the pseudocode. The pressure was not high overall.

On August 21, the recruiter told me that I had not passed, without giving a specific reason. I was not planning to accept anyway, so that was that. Overall, the Singapore job market has been very bad in 2026. Many large internet companies, crypto firms, and proprietary trading shops have laid people off in the name of AI-driven efficiency. The market is saturated with talent: companies do not lack candidates, and they do not seem eager to hire. Several times I completed an entire process of roughly eight rounds and received a verbal offer, only to be dropped when headcount was frozen. I may write about those experiences when I have time.

My impression is that many companies are not hiring very seriously. Virtu Financial, for example, has had a China Desk role based in Singapore open since last year without filling it. Employee time apparently does not count, so they can keep interviewing slowly. I know of at least seven people, including me, who interviewed for that role, and all of us failed with the same interviewer. Maybe they are waiting for some impossible profile. Good luck to everyone, and I hope everything goes smoothly.

Published

Curated and edited by PracHub

Practice the questions from this interview

Discussion

Sign in to join the discussion. The author is notified of every comment.

Loading comments…

Interview at a glance

Company
Squarepoint
Role
Risk Technology Software Engineer
Level
Senior+
Rounds
Technical Screen
Outcome
Rejected
Difficulty
medium
Interview date
Aug 2026
Questions from this interview
6 questions

Real Squarepoint interview experiences

First-hand reports from Squarepoint candidates — the rounds, the questions they were asked, and how it went.

All 6 Squarepoint interview experiences