📕 FREE Guide2026 Quant Firm Tier List

Tower Interview Questions

71 Questions
Updated 2026

Quant Interview Questions

71 questions

1

Describe the diamond inheritance pattern in object-oriented programming and explain how to resolve issues that arise from it.

Software Engineer Interview
2

Given a sequence of opening and closing parentheses '(' and ')', count the number of subsequences that form a balanced set of parentheses.

Software Engineer Interview
3

1. Given two character arrays, message and filter, implement a function in C that removes every character from message, in place, that appears in filter. 2. Implement a function to compute the dot product of two vectors.

Software Developer Interview
4

Implement a throttler for web requests.

Software Developer Interview
5

Given Corr(X, Y) > 0, Corr(Y, Z) = 0, Corr(X, Z) > 0, which is greater: the coefficient of X in the simple regression Y ~ X or the coefficient of X in the multiple regression Y ~ X + Z?

Quantitative Researcher Interview
6

Explain how gradient boosting works.

Quantitative Researcher Interview
7

1. Determine if a tree is symmetric. 2. Find loops in a linked list and determine their lengths. 3. Solve the Knapsack problem using dynamic programming.

Quantitative Analyst Interview
8

You are given two identical eggs and access to a 100-storey building. The aim is to determine the highest floor from which an egg can be dropped without breaking. If an egg breaks from floor n, it would also break from any higher floor; if it survives, it will survive any lower fall. Once an egg breaks, it cannot be used again. What strategy should you use to minimize the number of egg drops required to find the critical floor? What is the worst-case number of drops needed?

Quantitative Analyst Interview
9

Given a linked list where each node contains an additional random pointer that could point to any node in the list or null, create a deep copy of the list.

Intern Interview
10

Describe the diamond inheritance pattern and explain how to resolve the issues it causes.

Software Engineer Interview
11

Implement a throttler for web requests that limits the number of requests allowed in a given time window. Describe your approach and provide code to demonstrate how you would enforce this limit.

Software Developer Interview
12

1. Write a function void removeChar(char* message, char* filter) that removes every character from message, in place, that appears in filter. 2. Implement a function to compute the dot product of two vectors.

Software Developer Interview
13

What is the expected value when rolling a die? What is the expected value if you are given a second chance to roll if you feel the first result is not large enough?

Developer Interview
14

Given an array of integers and a number K, how would you check if there are two elements in the array whose sum is equal to K?

Senior Software Developer Interview
15

Given an array of integers and a number K, how can you check if there are two elements in the array whose sum is equal to K?

Senior Software Developer Interview
16

Given an array, determine if there exist two numbers whose sum is zero. How would your approach change if the hash table implementation is non-ideal?

Summer Intern Interview
17

Explain how data at a specific memory address is retrieved in an operating system.

Software Developer Interview
18

Describe the diamond inheritance pattern and explain how to resolve the issues it creates.

Software Engineer Interview
19

There are 10 red, 11 blue, and 12 green chameleons. Whenever two chameleons meet, if they are of different colors, both change to the third color; if they are the same color, nothing happens. Can all the chameleons ever end up being the same color?

Software Engineer Interview
20

What are scheduling algorithms? Name and explain a few of them. What is priority scheduling and how is it implemented? Given that process A has higher priority than process B, how can you incorporate this into the priority scheduling algorithm?

Software Engineer Interview
21

What is the expected number of coin tosses required to get two consecutive heads?

Trading Interview
22

Given a complete binary tree where the total number of nodes is unknown, can you insert another node in less than O(n) time complexity? I was able to achieve (log n)^2.

Core Software Developer Interview
23

What is the difference between the 'is' operator and the '=' operator in Python?

Development Tools Engineer Interview
24

Given three lists of n numbers each, choose one number from each list such that the difference between the maximum and minimum of the three selected numbers is minimized. What algorithm would you use to solve this problem efficiently?

Quantitative Researcher Intern Interview
25

Given 3 lists each containing n numbers, select one number from each list such that the difference between the maximum and minimum of the three selected numbers is minimized. What is an efficient algorithm to solve this problem?

Quantitative Researcher Intern Interview
26

Given a binary grid representing a map of islands (1 = land, 0 = water), what is the maximum possible size of an island (group of connected ones) if you are allowed to flip any single row so that all its entries become 1?

AI/ML Intern Interview
27

Given a set of words (a dictionary) and a string of length n, determine whether the string can be segmented into one or more words such that each word belongs to the given set.

Intern Interview
28

For a fair six-sided die, what is the expected number of rolls needed to get the first 6?

Quantitative Researcher Intern Interview
29

Given 1000 bottles of wine, one of which contains poison, how many rats are needed to find the poisoned bottle if you can only run your experiment once and check the rats only once?

Developer Interview
30

What is the expected value when rolling a dice? What is the expected value if you are allowed a second roll whenever you feel the first result is not large enough?

Developer Interview
31

There are 25 horses. You can race them 5 at a time, determining their relative rankings in each race. What is the minimum number of races required to determine the top 3 fastest horses?

Software Engineer Interview
32

There are 10 red, 11 blue, and 12 green chameleons. Sometimes, two chameleons meet. If they are the same color, nothing happens. If they are different colors, both will change to the third color. Can all chameleons ever become the same color?

Software Engineer Interview
33

Explain the typical latencies associated with different levels of CPU caches (L1, L2, L3) and how they compare to each other.

Software Engineer Interview
34

Implement a throttler for web requests that limits the number of requests allowed over a given period.

Software Developer Interview
35

Is the copy constructor inherited in C++?

Quantitative Analyst Interview
36

What is the expected number of coin tosses required to get n consecutive heads?

Quantitative Research Interview
37

X1 and X2 are continuous independent and identically distributed random variables. What is the probability that X1 < X2?

Quantitative Trader Interview
38

You are given n servers, each with a different capability. server[i] represents the time taken by the ith server to complete running an algorithm. You can schedule another instance of the same algorithm on the same server right after the current one finishes. For example, if server[i] = 2 seconds, you could schedule executions at 2s, 4s, 6s, etc., starting from time 0. Given k algorithms to execute, what is the minimum time needed to complete all k executions using the n servers?

Software Engineer Interview
39

Explain the difference between TCP (Transmission Control Protocol) and UDP (User Datagram Protocol).

Software Engineer Interview
40

You have 1,000 coins on the table, with 20 showing heads and 980 showing tails. You may flip coins as you like. How can you separate them into two piles so that each pile has the same number of heads?

Quantitative Analyst Interview
41

Given an array of numbers and a number x, determine efficiently whether there exist two elements in the array whose sum is exactly x.

Quantitative Developer Interview
42

A king orders 100 bottles of wine for a celebration. A courtier poisons one of the bottles. The king can test for poison by giving a few drops of wine to a monkey, who will die immediately if the wine is poisoned. What is the minimum number of monkeys needed to find the poisoned bottle?

Senior Software Developer Interview
43

How do you determine whether a computer is big-endian or little-endian?

Infrastructure Developer Interview
44

You are given n servers, where each server[i] represents the time taken by the i-th server to run an algorithm completely. You may schedule consecutive instances of the algorithm on the same server, starting at time 0 (e.g., if server[i] = 2s, jobs may start at 0s, 2s, 4s, 6s, etc.). Given k total algorithms to execute, find the minimum time needed to complete all k executions.

Software Engineer Interview
45

What is the number of ways to reach the n-th step of a staircase if one can jump either 1 step or 2 steps at a time?

Quantitative Analyst Interview
46

You are given n servers with different capabilities. Each server[i] represents the time taken by the ith server to run an algorithm completely. You can schedule another instance of the same algorithm on the same server immediately after the execution of the current one. For example, if server[i] = 2s, you can execute the algorithm at times 2s, 4s, 6s, and so on (starting at time 0). Find the minimum time required to execute a total of k algorithms.

Software Engineer Interview
47

There are 25 horses. You can race them 5 at a time, determining only their relative ranking within each race. What is the minimum number of races required to determine the top 3 horses overall?

Software Engineer Interview
48

How many ways are there to climb a staircase if you can walk up either one step or two steps at a time?

Infrastructure Developer Interview
49

What are virtual functions?

Internship Interview
50

Given a sequence of opening '(' and closing ')' parentheses, count the number of subsequences that form a balanced set of parentheses.

Software Engineer Interview
51

Given a sequence of opening '(' and closing ')' parentheses, count the number of subsequences that form a balanced set of parentheses.

Software Engineer Interview
52

A bowl contains n noodles. You randomly pick two free ends at a time and tie them together, repeating this until no free ends remain. What is the expected number of loops formed by the tied noodles?

Intern Interview
53

Explain how data stored at a specific memory address is retrieved by an operating system.

Software Developer Interview
54

What are scheduling algorithms? Name and explain a few of them. What is priority scheduling and how is it implemented? If process A has higher priority than process B, how can you incorporate this into the algorithm?

Software Engineer Interview
55

A rabbit can jump either 1 or 2 steps at a time to climb a staircase with 'n' steps. In how many distinct ways can the rabbit reach the top? Express your solution in terms of the Fibonacci sequence.

Quantitative Trader Interview
56

What is the difference between L1 and L2 regularization?

Quant Researcher Interview
57

A king orders 100 bottles of wine for a celebration. One bottle is poisoned. The king can test the wine by giving drops to monkeys, and if a monkey gets poison, it dies immediately. What is the minimum number of monkeys needed to identify the poisoned bottle?

Senior Software Developer Interview
58

Given 1000 bottles of wine, one of which contains poison, how many rats would it take to identify the poisoned bottle if you can only run your experiment once and check the rats only once?

Developer Interview
59

Given 25 horses and a racetrack with 5 lanes, what is the minimum number of races needed to identify the fastest 3 horses?

Trading Interview
60

There are 10 red, 11 blue, and 12 green chameleons. Sometimes, two chameleons meet. If they are the same color, nothing happens. If they are different colors, they both change to the third color. Can all chameleons ever become the same color?

Software Engineer Interview
61

Given a binary matrix (containing only 0s and 1s), find the size of the largest square submatrix that contains only 1s.

Java Developer Interview
62

There are 25 horses. You can race up to 5 horses at a time, and each race reveals the relative ranking among the 5. What is the minimum number of races required to determine the top 3 fastest horses?

Software Engineer Interview
63

When rolling a fair six-sided die, what is the expected number of rolls required to get the first 6?

Quantitative Researcher Intern Interview
64

Given 1000 bottles of wine, one of which is poisoned, what is the minimum number of rats needed to identify the poisoned bottle if you can only conduct one experiment and check the results once?

Developer Interview
65

What are scheduling algorithms? Name and explain a few of them. What is Priority Scheduling and how is it implemented? Suppose you have to implement Priority Scheduling, and process A has higher priority than process B. How would you incorporate this into the algorithm?

Software Engineer Interview
66

1. Write a function void removeChar(char* message, char* filter) that removes every character from message, in place, that appears in filter. 2. Implement a function to calculate the dot product of two vectors.

Software Developer Interview
67

What is the expected value when rolling a die? What is the expected value if you are allowed a second roll if you feel that the first result is not large enough?

Developer Interview
68

Given k sorted arrays of size n each, build a single sorted array of size n * k.

Trading Interview
69

What is the difference between 'T const* A' and 'const T* A' in C++?

Quantitative Research Intern Interview
70

What is the difference between 'T const* A' and 'const T* A' in C++?

Quantitative Research Intern Interview
71

1) Write a C++ program that reads PITCH data from standard input and, at the end of the input, prints a table of the top ten symbols by executed volume to standard output. Process Add Order, Order Cancel, and Order Executed messages appropriately according to the BATS PITCH specification. Ignore Trade Break, long messages, Auction Fill, and Routed Trade messages. Trade messages for hidden orders should also be considered for volume calculation. Provide a Makefile with a target named 'pitch_parser'. 2) Given a feature variable x and response y, write a Python program called local_linear.py to estimate the regression function f in y = f(x) + e using a local linear kernel estimator and k-fold cross-validation for bandwidth selection. Assume a Gaussian kernel. The program takes input files for x and y, an output file path, and the number of folds, and should write the fitted function's output at xin or another set of points. Include optional --plot and --xout arguments. 3) Given X'X (p x p) and X'y (p x 1) instead of raw data, implement forward stepwise linear regression in Python, optimized for computational efficiency and handling colinearity. The user specifies k, the max number of features in the model. The program should output coefficients for each step as rows in a k x p CSV, and be invoked with python stepwise.py --xx xx --xy xy --max_iterations 20 --output output. Include a brief documentation of your algorithm.

Quantitative Developer Interview

Disclaimer: These questions do not represent Tower in any way. They are sourced from a combination of places including interviewees, and public sources. They may not be accurate or reflective of the company's actual interview process.