Tower Interview Questions
List of Real Interview Questions from Tower
71 Questions
Updated 2025
Quant Interview Questions
71 questions
1
Explain how data stored at a specific memory address is retrieved by an operating system.
Software Developer Interview
2
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
3
Explain the typical latencies associated with different levels of CPU caches (L1, L2, L3) and how they compare to each other.
Software Engineer Interview
4
Describe the diamond inheritance pattern in object-oriented programming and explain how to resolve issues that arise from it.
Software Engineer Interview
5
Given a sequence of opening and closing parentheses '(' and ')', count the number of subsequences that form a balanced set of parentheses.
Software Engineer Interview
6
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
7
Implement a throttler for web requests.
Software Developer Interview
8
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
9
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
10
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
11
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
12
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
13
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
14
Explain how gradient boosting works.
Quantitative Researcher Interview
15
What is the expected number of coin tosses required to get n consecutive heads?
Quantitative Research Interview
16
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
17
Is the copy constructor inherited in C++?
Quantitative Analyst Interview
18
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
19
What are virtual functions?
Internship Interview
20
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
21
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
22
X1 and X2 are continuous independent and identically distributed random variables. What is the probability that X1 < X2?
Quantitative Trader Interview
23
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
24
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
25
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
26
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
27
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
28
Describe the diamond inheritance pattern and explain how to resolve the issues it causes.
Software Engineer Interview
29
Given a sequence of opening '(' and closing ')' parentheses, count the number of subsequences that form a balanced set of parentheses.
Software Engineer Interview
30
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
31
Explain the difference between TCP (Transmission Control Protocol) and UDP (User Datagram Protocol).
Software Engineer Interview
32
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
33
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
34
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
35
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
36
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
37
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
38
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
39
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
40
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
41
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
42
What is the difference between L1 and L2 regularization?
Quant Researcher Interview
43
Given a binary matrix (containing only 0s and 1s), find the size of the largest square submatrix that contains only 1s.
Java Developer Interview
44
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
45
How do you determine whether a computer is big-endian or little-endian?
Infrastructure Developer Interview
46
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
47
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
48
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
49
Explain how data at a specific memory address is retrieved in an operating system.
Software Developer Interview
50
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
51
Describe the diamond inheritance pattern and explain how to resolve the issues it creates.
Software Engineer Interview
52
Given a sequence of opening '(' and closing ')' parentheses, count the number of subsequences that form a balanced set of parentheses.
Software Engineer Interview
53
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
54
Implement a throttler for web requests that limits the number of requests allowed over a given period.
Software Developer Interview
55
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
56
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
57
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
58
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
59
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
60
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
61
Given k sorted arrays of size n each, build a single sorted array of size n * k.
Trading Interview
62
What is the expected number of coin tosses required to get two consecutive heads?
Trading Interview
63
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
64
When rolling a fair six-sided die, what is the expected number of rolls required to get the first 6?
Quantitative Researcher Intern Interview
65
What is the difference between 'T const* A' and 'const T* A' in C++?
Quantitative Research Intern Interview
66
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
67
For a fair six-sided die, what is the expected number of rolls needed to get the first 6?
Quantitative Researcher Intern Interview
68
What is the difference between 'T const* A' and 'const T* A' in C++?
Quantitative Research Intern Interview
69
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
70
What is the difference between the 'is' operator and the '=' operator in Python?
Development Tools Engineer Interview
71
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