Software Engineer / Quant Developer
Interview Date
Recent (2024/2025 Placement Cycle)
Result
Positive Experience (Implied Selected)
Difficulty
Hard
Rounds
4 rounds (1 Online Assessment + 3 Technical Interviews)
Drive Type
Full-Time, On-Campus Placement
Topics asked
Detailed experience
College: Not Specified
Interview Date: Recent (2024/2025 Placement Cycle)
Interview Type: Full-Time, On-Campus Placement
Result: Positive Experience (Implied Selected)
Difficulty: Hard
Rounds: 4 rounds (1 Online Assessment + 3 Technical Interviews)
Topics Asked: Data Structures, Algorithms (Dynamic Programming, Two Pointers, DSU, Greedy), Operating Systems, Object-Oriented Programming (OOPS), Computer Architecture (Memory Layout, Alignment), System Design (Orderbook, Custom In-Memory Storage, Multi-Client Server, Atomic Transfers, Failure Handling, Architecture Trade-offs), C++ (constexpr, inline optimization, virtual functions), Computer Networks (WebRTC, LiveKit architecture).
This interview experience for Pace Stock Broking was part of a campus placement drive, specifically "FORESIGHT(2025)". The overall process consisted of an online assessment followed by three technical interview rounds.
Online Assessment: This round was conducted on HackerRank and featured 4 LeetCode medium-hard questions. The topics covered included Dynamic Programming (DP), two-pointers with contribution technique, Disjoint Set Union (DSU), and Greedy algorithms. Each candidate received a different set of questions.
Second Round (Technical Interview 1): This was a 1-hour round primarily focusing on core Computer Science (CS) topics. Discussions included Operating Systems, Object-Oriented Programming (OOPS), and Computer Architecture (specifically memory layout and alignment). The candidate was asked to analyze two different loop criteria for matrix multiplication, one in row-major form and another in column-major form, and discuss their implications. There were also numerous questions on OOPS concepts, constexpr, inline optimization, and the internal workings of virtual functions.
Third Round (Technical Interview 2): This round also lasted 1 hour. It began with a high-level discussion about one of the candidate's projects: a custom in-memory storage system (an implementation of Redis). Since it was a multi-client server, there were detailed discussions on handling multiple clients, the system calls used, and their benefits. Following this, the candidate was asked to design an orderbook, with further discussions on optimizing the design and the various trade-offs involved. Questions also touched upon ensuring atomic transfers, handling failures, and the kind of architecture that would support such a system.
Preparation Tips from Candidate: For Data Structures and Algorithms (DSA), the candidate primarily used CSES and LeetCode. They had also completed significant portions of Algozenth during an internship. For systems and software roles, a majority of the preparation involved reading about systems, including thoroughly going through learncpp.com for C++ concepts like smart pointers and virtual functions. Operating Systems was studied from CS162 and Computer Organization and Architecture (COA) from CS61C of UC Berkeley. For design principles, Medium blogs and ChatGPT were utilized. Computer Networks preparation was ad-hoc, using blogs, ChatGPT, and building small projects. The candidate also had a project on a video system using LiveKit (which uses WebRTC internally), leading to time spent understanding WebRTC and LiveKit architecture, though no direct questions on this were asked in the interview.