IMC Interview Questions
List of Real Interview Questions from IMC
99 Questions
Updated 2025
Quant Interview Questions
99 questions
1
Implement a Tic-Tac-Toe game.
Software Engineer Interview
2
What is a hashmap?
Software Developer Interview
3
What is the difference between threading and multiprocessing?
Software Engineer Interview
4
Complete the function findValuation that returns the expected price of a house using linear interpolation, given arrays of historic house areas and prices. The function should round the result to the nearest integer. Function signature: findValuation(reqArea: int, area: list of int, price: list of int) -> int, where reqArea is the area of the candidate house, area[i] is the area of the ith house sold, and price[i] is its price. Constraints: 500 < reqArea < 10^5, 500 < area[i] < 10^5 for all i.
Software Engineer Interview
5
Is the total number of distinct unsigned 32-bit integers different from the total number of signed 32-bit integers?
Software Engineer Interview
6
Can an O(1) algorithm be made faster?
Software Engineer Interview
7
How would you explain the difference between a stack and a queue to a non-technical person?
Software Engineer Interview
8
What is the time complexity of various operations (such as insert, erase, and find) in std::set?
Software Engineer Interview
9
1) What is the minimum number of moves required for a knight to reach a target square on a chessboard when a bishop is also available? 2) Implement a stack that supports push, pop, peek, as well as sum and increment operations.
Software Developer Interview
10
Describe the data structures and algorithms you would use to design a program that keeps track of checked-out books for a library. The system should be able to: 1) Check out books for a member who has a library card, 2) Process book returns, 3) Find all books that are overdue and identify who has them checked out, and 4) Find all books that will be due tomorrow. Note: New releases and popular books have shorter checkout periods than normal books.
Software Engineer Interview
11
Is an immutable object always thread safe?
Software Engineer Interview
12
Does searching through a sorted binary search tree always have better time complexity than performing binary search on a sorted array?
Software Engineer Interview
13
What is the Big O time complexity of operations performed on a heap? What about a hashmap?
Software Engineer Interview
14
How would you implement a trade matching engine? The API should support: 1) adding Buy/Sell orders, which should return a Trade if an existing order matches the new one; 2) deleting pending orders; 3) getting market depth or demand, i.e., the range of buy/sell prices and total volume of pending orders at each price.
Software Engineer Interview
15
1. Find the longest possible valid password in a given string. 2. Find the total number of stops an elevator takes to serve X people. 3. Find the number of unique countries in a 2D matrix.
Software Engineer Interview
16
In a 2D array of integers, adjacent positions (vertically or horizontally) are considered part of the same "country" if they contain the same integer. Given a 2D array of integers, compute the number of distinct countries in the array.
Software Developer Interview
17
What is the difference between a Set and a List?
Software Developer Interview
18
People are waiting for an elevator in a hotel that has floors numbered 0 to M. The elevator has a limit of X people and a weight limit of Y. There are N people standing in a queue at the ground floor. You are given two arrays: A[N], where each element is the weight of a person, and B[N], where each element is the floor each person wants to go to. The elevator goes up, stopping at each requested floor, then returns to the ground floor. Write a solution to determine how many times the elevator will stop.
Software Developer Interview
19
Given a binary tree, return all nodes whose values are greater than those of all their ancestors (i.e., nodes that are visible from the root).
Software Developer Interview
20
Determine if two given words are anagrams of each other.
Software Developer Interview
21
You have a 100-story building and two balls that break when dropped from too high a floor. What is the minimum number of drops needed on average to determine the highest floor from which a ball can be safely dropped?
Trader Interview
22
Given 20 horses and 5 tracks, what is the minimum number of races required to determine the three fastest horses, assuming you can race up to 5 horses at a time and there is no timing, only order of finish in each race?
Trader Interview
23
What is the probability of rolling an increasing sequence when you roll a die three times?
Trader Interview
24
You have a 4x4 grid and three balls. If you manage to get at least 2 balls in the same row or column, you win. What is the probability of winning?
Trader Interview
25
How much would the average global sea level rise if the mass of Mount Everest was submerged into the ocean?
Trader Interview
26
Draw a payoff diagram for a put option.
Trader Interview
27
If you remove the two squares that are diagonally opposite each other from a chessboard, can you use 2x1 domino tiles to exactly cover the remaining squares?
Trader Interview
28
You have a deck of 3 black cards and 3 red cards in random order. In a game, you turn over one card at a time; if it is red, you win a dollar, and if it is black, you lose a dollar. What is the fair price to pay to play this game?
Trader Interview
29
What is 72 multiplied by 73?
Trader Interview
30
The profits of traders A, B, and C follow independent uniform distributions from 0 EUR to 100,000 EUR. What is the probability that A > B and B > C?
Graduate Trader Interview
31
Draw the payoff of a put option.
Graduate Trader Interview
32
A robot is 3 cm from the left edge and 17 cm from the right edge of a table. The robot moves with equal probability 10 cm to the left or to the right in each step. What is the expected number of steps before the robot falls off the table?
Graduate Trader Interview
33
There are 27 race cars and you can only race 5 of them at a time. You do not have a stopwatch. What is the minimum number of races required to determine the 3 fastest cars?
Graduate Trader Interview
34
Draw a graph of profit versus price for a call option with a fee of £3. What features of this graph are of interest to traders?
Graduate Trader Interview
35
What is the minimum number of cards required to build a card tower with 100 levels, given that you need 2 cards for 1 level, 7 for 2 levels, and so on?
Graduate Trader Interview
36
Which type of graph is best used to describe time-series data?
Graduate Trader Interview
37
There are 27 cars and only 5 cars can race at a time. How many races are needed to determine the 3 fastest cars?
Graduate Trader Interview
38
Consider a game where you flip a fair coin: if it lands heads, you win $20, and if it lands tails, you lose $5. Would you like to play this game? In a second game, the payouts are $20 million for heads and lose $5 for tails. Would you prefer the second game? Lastly, if the payouts return to $20 for heads and -$5 for tails, but you can choose to play either once or 100 times, which option do you prefer and why? Please explain your reasoning.
Graduate Trader Interview
39
What is the expected value (EV) of a standard six-sided dice roll?
Quantitative Trader Interview
40
Six people sit randomly around a round table. What is the probability that they are seated in increasing order by their age?
Quantitative Trader Interview
41
You have 12 identical balls, one of which is heavier than the rest (you don't know which). Using only a balance scale that can show which side is heavier, what is the minimum number of weighings needed to identify the heavier ball?
Quantitative Trader Interview
42
You have 27 horses. You can race up to 5 horses at a time. What is the minimum number of races required to determine the top 3 fastest horses?
Quantitative Trader Interview
43
What is the probability of landing on the Broadway street tile in Monopoly after 10 rotations? You can approximate the answer.
Intern Interview
44
What are hashmaps, and how are they implemented?
Intern Interview
45
Two teams are playing each other, and both have positive (plus) odds to win. How much should you bet on each team, and why?
Quant Trader Intern Interview
46
You and a taxman are playing a game with N cards, each labeled with a natural number from 1 to N. You can pick a card only if at least one of its factors is still on the table, and for every card you pick, the taxman takes all available factors of that card from the table. How do you maximize your score?
Quant Trader Intern Interview
47
When rolling a fair six-sided die repeatedly, what is the probability that, before rolling any odd number, you have rolled each even number (2, 4, and 6) at least once?
Quant Trader Intern Interview
48
In a beer pong game with a 4x4 arrangement of cups, each time you land a ball in a cup, both the row and the column containing that cup are removed. Assuming each throw lands in any remaining cup with equal probability, what is the probability that you win the game in the minimum possible number of throws?
Quant Trader Intern Interview
49
A drunk passenger boards an airplane and sits in a random seat. Each subsequent passenger sits in their assigned seat if it is available; otherwise, they choose a random unoccupied seat. What is the probability that the last passenger will be able to sit in their assigned seat?
Quantitative Researcher Interview
50
Explain the Law of Large Numbers to someone with a non-STEM background. Also, explain one of the sorting algorithms to someone with a non-STEM background.
Quantitative Researcher Interview
51
A fair coin is tossed repeatedly. What is the expected number of tosses required to first see the sequence 'HHH' (three consecutive heads)?
Quantitative Researcher Interview
52
Explain a sorting algorithm to someone without a STEM background. Also, explain the law of large numbers to someone without a STEM background.
Quantitative Researcher Interview
53
What is the expected number of times you need to roll a fair six-sided die to see an odd number?
Graduate Quant Trader Interview
54
There are some fish in a bucket. Three fishermen come to the bucket one after another. The first tries to divide the fish into groups of three but finds one fish left over, so he takes this one and a third of the remaining fish. The next fisherman tries to divide the rest into three, again finds one left over, and takes that one and a third of the remainder. The third fisherman does the same. What is the minimum number of fish that could have been in the bucket initially?
Graduate Quant Trader Interview
55
You are given two dice: one numbered 1 to 6 and the other numbered 1 to 4. You choose one at random and roll it twice. The first roll is a 2. What is the expected value of the second roll?
Trading Intern Interview
56
There is a 20 cm long table. You start 3 cm from the left edge. Each move, you go either 10 cm to the left or to the right with equal probability. If you reach either edge of the table, you fall off immediately. How many moves do you expect to make before falling off?
Trading Intern Interview
57
What is the variance of a six-sided dice roll?
Trading Intern Interview
58
What is the difference between threading and multiprocessing?
Software Engineer Interview
59
Complete the function findValuation which returns the expected price of a house using linear interpolation of given data. The function must return the price rounded to the nearest integer. Function signature: findValuation(reqArea: int, area: list of int, price: list of int) -> int. Constraints: 500 < reqArea < 10^5, 500 < area[i] < 10^5 for all i.
Software Engineer Interview
60
Is the total number of distinct unsigned 32-bit integers different from the total number of signed 32-bit integers?
Software Engineer Interview
61
How would you explain the difference between a stack and a queue to a non-technical person?
Software Engineer Interview
62
Explain the concepts of a queue and a stack to a layperson.
Software Engineer Interview
63
What is the time complexity of different std::set operations?
Software Engineer Interview
64
1) What is the minimum number of moves required for a knight, when a bishop is also available, to reach a target square on a chessboard? 2) Implement a stack data structure that supports push, pop, and peek operations, as well as additional functions to return the sum of all elements and increment all elements by a given value.
Software Developer Interview
65
Describe the data structures and algorithms needed for a program that keeps track of checked out books for a library. The program should: 1. Check out books for a member with a library card, 2. Return books, 3. Find all books that are overdue and who has them checked out, 4. Find all books that are due tomorrow. Note: New releases and popular books have shorter checkout periods than normal books.
Software Engineer Interview
66
Implement a tic-tac-toe game.
Software Engineer Interview
67
Is an immutable object always thread safe? Explain your reasoning.
Software Engineer Interview
68
Is searching through a sorted binary tree (binary search tree) always more efficient in terms of complexity than binary search?
Software Engineer Interview
69
What is the Big O notation for common operations performed on a heap? What about operations on a hashmap?
Software Engineer Interview
70
How would you implement a trade matching engine? The API for it should support: (1) adding Buy/Sell orders (these methods should return a Trade if an existing order matches the new one), (2) deleting pending orders, and (3) getting market depth or demand (i.e., range of buy/sell prices and total volume of pending orders at each price).
Software Engineer Interview
71
Given a string, find the longest possible valid password, where a valid password is defined by specific rules (such as containing at least one uppercase letter, one lowercase letter, and one digit).
Software Engineer Interview
72
In a 2D array of integers, adjacent positions (vertically or horizontally) are considered part of the same 'country' if they contain the same integer. Given a 2D array of integers, compute the number of distinct countries in the array.
Software Developer Interview
73
What is the difference between a set and a list?
Software Developer Interview
74
What is a hashmap?
Software Developer Interview
75
Given a binary tree, return all nodes whose value is greater than that of all their ancestors (i.e., nodes that are visible from the root along any path).
Software Developer Interview
76
Determine whether two given words are anagrams of each other.
Software Developer Interview
77
Given a telephone keypad display with the numbers arranged as: 1 2 3 4 5 6 7 8 9 You press a random number, then move to a random adjacent number (no diagonals), then move again to a random adjacent number (again, no diagonals). You record the three numbers in order to form a three-digit number (e.g., 569). What is the probability that the resulting number is divisible by 2?
Quant Trading Intern Interview
78
Given six distinct weights labeled 101, 102, 103, 104, 105, and 106, three weights are placed on each side of a balance scale. What is the probability that the weight labeled 106 is on the heavier side of the scale?
Quant Trading Intern Interview
79
How many integers less than 100000 contain two consecutive '1's in their decimal representation?
Quant Trading Intern Interview
80
Draw the payoff diagrams for buying and selling a call option and a put option.
Trading Interview
81
Brainteaser: If there are 27 clinks (glasses clinking) in a room, how many people are there?
Trading Interview
82
What is the expected number of coin flips required for two players, who take turns flipping, to get two tails in a row?
Quant Trader Interview
83
Can you perform binary search on a linked list? Explain why or why not.
SWE Intern Interview
84
What is a race condition?
SWE Intern Interview
85
What does amortized runtime mean?
SWE Intern Interview
86
Explain the central limit theorem in a way that non-STEM students can understand.
Quant Research Intern Interview
87
What is the expected value of a six-sided die?
Trader Intern Interview
88
Derive the Central Limit Theorem for a sequence of independent coin tosses.
Trader Intern Interview
89
What is a pointer and a shared pointer? How do you manage object ownership using these in programming?
Software Engineering Intern Interview
90
Five people are sitting at a circular table. What is the probability that they are seated in the order of their birthdays?
Graduate Trader Program Interview
91
What makes a good hash function? Describe the key characteristics and properties that define an effective hash function.
Software Engineering Intern Interview
92
1) Given a chessboard size, a knight's starting position, an end position, and a bishop's position, find the minimum number of moves required for the knight to reach the end position. The knight cannot move to any square that the bishop is attacking, unless it captures the bishop on that square. 2) Implement a stack with the following functions: pop, push, inc, isEmpty, and peek. The inc function should increase the first n elements of the stack by a value i.
Software Engineering Intern Interview
93
What is the minimum number of moves required for a knight to reach a target position on a chessboard, given that there is a bishop present which threatens certain squares? The knight cannot move to squares attacked by the bishop.
Software Engineer Intern Interview
94
Implement a stack data structure with an additional method increment(k, v), which increments the bottom k elements of the stack by the value v.
Software Engineer Intern Interview
95
Describe a stack and a queue to someone who does not have a background in data structures.
Software Engineer Intern Interview
96
Write a function that takes an integer array as input and returns a boolean indicating whether the array contains any duplicate values.
Software Developer Intern Interview
97
A robot is placed on a table that is 20 cm wide. The robot starts at a point 3 cm away from one of the edges. Each step, it moves either 10 cm to the left or 10 cm to the right with equal probability. What is the expected number of steps until the robot falls off the table?
Graduate Quantitative Trader Interview
98
Julie and Quentin are playing a game in which Julie starts. They take turns flipping a coin; the first to get two heads wins. Given that the game stopped in the fourth round, what is the probability that Quentin wins?
Summer Intern Interview
99
You have one coin and your opponent has two. You flip another coin; if it lands on tails, you win one of your opponent's coins. Otherwise, your opponent wins one of your coins. The winner is the first to hold all three coins. What is the probability that you win?
Summer Intern Interview