IMC Trading Interview Questions
34 real interview questions for Software Engineer roles at IMC Trading.
Showing 1–30 of 34 questions
Implement a Tic-Tac-Toe game.
What is a hashmap?
What is the difference between threading and multiprocessing?
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.
Is the total number of distinct unsigned 32-bit integers different from the total number of signed 32-bit integers?
Can an O(1) algorithm be made faster?
How would you explain the difference between a stack and a queue to a non-technical person?
What is the time complexity of various operations (such as insert, erase, and find) in std::set?
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.
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.
Is an immutable object always thread safe?
Does searching through a sorted binary search tree always have better time complexity than performing binary search on a sorted array?
What is the Big O time complexity of operations performed on a heap? What about a hashmap?
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.
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.
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.
What is the difference between a Set and a List?
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.
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).
Determine if two given words are anagrams of each other.
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.
Explain the concepts of a queue and a stack to a layperson.
What is the time complexity of different std::set operations?
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.
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.
Implement a tic-tac-toe game.
Is an immutable object always thread safe? Explain your reasoning.
Is searching through a sorted binary tree (binary search tree) always more efficient in terms of complexity than binary search?
What is the Big O notation for common operations performed on a heap? What about operations on a hashmap?
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).
Want the full solutions?
Get detailed walkthroughs for all 94+ IMC Trading questions with Quant Blueprint.
Get Started