Software Engineer
Interview Date
Online Test (Not Specified), Round 1 on October 22, 2024
Result
Not Selected
Difficulty
Hard
Rounds
4 rounds (1 Online Test + 3 Interview Rounds)
Drive Type
On-Campus, Full-Time
Topics asked
Detailed experience
College: IIT BHU
Interview Date: Online Test (Not Specified), Round 1 on October 22, 2024
Interview Type: On-Campus, Full-Time
Result: Not Selected
Difficulty: Hard
Rounds: 4 rounds (1 Online Test + 3 Interview Rounds)
Topics Asked: Data Structures (2-pointer, stock price, Priority Queue, Digit DP), Algorithms, C++ (features like structural bindings, map implementation, AVL tree, pseudocode), Python (list comprehension, generators, GIL), Multithreading, Parallel Programming, Operating Systems (OS), Computer Networks (CN), Debugging critical section code (deadlock).
The interview process for Squarepoint Capital during campus placements consisted of an online test and three interview rounds.
Stage 1: Online Test
The online test comprised two medium-difficulty questions. One involved a normal 2-pointer approach with a condition, and the other was related to stock prices, requiring the removal of overlapping cost ranges and maintenance of prices. The candidate successfully cleared this stage.
Round 1 (October 22, 2024)
This round started with a self-introduction. The interviewer then asked about a C++17 feature not present in C++14, to which the candidate mentioned structural bindings and demonstrated it by iterating a map of pair and int. Following this, the candidate was asked to explain the implementation of a map data structure using a balanced binary search tree, specifically an AVL tree, including how rotations happen, and was asked to write pseudocode for it.
Round 2
The second round began with an in-depth discussion of the candidate's internship project, focusing on multithreading and parallel programming. After being satisfied with the project discussion, the interviewer moved to basic to intermediate Python questions, including list comprehension, generators, and the Global Interpreter Lock (GIL), which the candidate coded. Two DSA questions were then given: a normal Priority Queue (PQ) question and a Digit DP problem, both of which the candidate solved and passed all test cases.
Round 3
This was described as the "most tricky round." The interviewer did not ask a typical DSA question but instead provided a code snippet for the candidate to debug. The code related to maintaining a critical section without encountering a deadlock. The code was tough and tricky, with the catch being that the candidate needed to focus on a queue class where the task was taking place, involving two queues maintaining flight details. The goal was to reduce the latency of the code, which the candidate observed was using locks normally and consuming much time due to the lack of a notifying condition for releasing when a task was done.
The candidate felt they had outperformed throughout the process, but a small mistake led to rejection. Tips provided include being patient due to rigorous 1-hour rounds, deep diving into C++ (end-to-end), and having a firm grip on OS and CN concepts.