IMC Financial Markets Interview Questions
The Interview Experience is a score from 1 star (very negative) to 5 stars (very positive) generated based on the Interview Insights at this company.
The number you see in the middle of the doughnut pie chart is the simple average of these scores. If you hover over the various sections of the donut, you will see the % breakdown of each score given.
The percentile score in the title is calculated across the entire Company Database and uses an adjusted score based on Bayesian Estimates (to account for companies that have few interview insights). Simply put, as a company gets more reviews, the confidence of a "true score" increases so it is pulled closer to its simple average and away from the average of the entire dataset.
- Very Negative
- Negative
- Neutral
- Positive
- Very Positive
The Interview Difficulty is a score ranging from very difficult (red) to very easy (green) generated based on the Interview Insights at this company.
The number you see in the middle of the doughnut pie chart is the simple average of these scores. The higher the number, the more difficult the interviews on average. If you hover over the various sections of the doughnut, you will see the % breakdown of each score given.
The percentile score in the title is calculated across the entire Company Database and uses an adjusted score based on Bayesian Estimates (to account for companies that have few interview insights). Simply put, as a company gets more insights, the confidence of a "true score" increases so it is pulled closer to its simple average and away from the average of the entire data set.
- Very Easy
- Easy
- Average
- Difficult
- Very Difficult
The % of Interns Getting a Full Time Offer chart is meant to provide a realistic estimate of the hiring practices of the company based on the reviews at this company.
The number you see in the middle of the doughnut pie chart is the simple average of these scores. If you hover over the various sections of the doughnut, you will see the % breakdown of each score given.
The percentile score in the title is calculated across the entire Company Database and uses an adjusted score based on Bayesian Estimates (to account for companies that have few reviews). Simply put, as a company gets more reviews, the confidence of a "true score" increases so it is pulled closer to the simple company average and away from the average of the entire data set.
- 0%
- 10%
- 20%
- 30%
- 40%
- 50%
- 60%
- 70%
- 80%
- 90%
- 100%
Interviews at IMC Financial Markets
Interview Questions & Answers - IMC Financial Markets Examples
Summer intern Trading Interview - Trading
Graduate Trader Interview
Quantitative Trader Interview - Quantitative Trading
Quant Trader Interview - Quantitative Trading
Software Engineer Interview - Risk
After that, if you pass, a recruiter calls you. They ask why you like trading, what you did before, nothing too deep. Just making sure you’re a real person and not a bot.
Then come the technical interviews. This is where they really start digging. They ask a lot of low-level C++ questions — things like memory, move constructors, CPU caches, why the compiler does X, what happens if two threads write next to each other (false sharing stuff). Sometimes they ask you to explain your projects and they really grill you on them.
Later, if things go well, there is usually a “final round” or a superday. Multiple interviews in one day, more C++, more performance questions, some system design but low-latency style (nothing like web apps). They want to see how you think under pressure.
At the end, they also check culture fit, teamwork, and if you’re curious, quick learner, etc. If all goes well, they send an offer. If not, usually they give no details, just a short rejection email.
Another unexpectedly tough area was vtables. They asked things like:
“How does a vtable actually look in memory?”
“Where is the pointer to the vtable stored inside an object?”
“What happens to the vtable pointer when you use multiple inheritance?”
“How do virtual destructors change the layout?”
Software Engineer Intern Interview - Prop Trading
If you pass the coding assessment, the next step is a one-way video interview, where you record answers to a few technical and reasoning questions. For example, one question could involve designing an in-memory hotel booking system, where you must discuss which data structures you would use and why.
Following that, there’s a 15-minute recruiter screen. In this call, you briefly go through your background, motivation, and interest in trading or software development at IMC.
The next stage is the first technical round, which lasts around 45 minutes. This interview is highly conceptual and focuses on C++ (or Java, depending on your track), memory management, OS fundamentals, and data structures. Topics can include:
Differences between lists, sets, maps, and unordered maps
How hash tables work and how collisions are handled
Stack vs heap memory, cache organization (L1/L2/L3), and cache efficiency
Smart pointers, references vs pointers
Hardware-level memory management and caching behavior
You’re expected to explain how things work under the hood (e.g., CPU cache prefetching, memory fragmentation, virtual memory, etc.) and sometimes reason about performance or memory trade-offs.
If you advance, the final round typically consists of two parts:
A technical interview focused on building or extending a simple matching engine (simulating order matching logic).
A behavioral interview and informal chat with team members or a hiring manager, discussing teamwork, motivation, and fit within IMC’s culture.
Advice:
It’s best to study C++ internals, OS concepts (memory hierarchy, caching, virtual memory), and data structure performance in depth. Be prepared to reason about what happens “under the hood” rather than just giving definitions. The overall interview atmosphere is challenging but friendly—interviewers value clear, structured reasoning and curiosity about how systems work at a low level.
Another tricky topic was hash tables: I had to explain how they’re implemented, how collisions are resolved (separate chaining vs. open addressing), the different types of probing, and which approach is more efficient in terms of time and memory trade-offs.
There were also conceptual performance questions, like:
“Sort the following from fastest to slowest and explain your reasoning: read from CPU cache, read from main memory, heap allocation, compute addition, read from disk.”
“How many cache misses would you expect in this code sequence?”
“How does virtual memory work, and why do we use it?”
On the networking side, I got some unexpected questions such as:
“What happens when you type ‘wikipedia.org’ in your browser?” (covering DNS lookup, IP translation, routing, TCP/UDP differences, etc.)
“Explain what a routing table is.”
SWE Intern Interview - Software
Quantitative Research Interview - Quantitative Trading
Graduate Quant Trader Interview - Trading
Second Round: Interview with Trader. Trading game involved betting + one probability question. Trading game needs to have quick answers as there is a ton of time pressure. Probability question was a pretty standard green book problem.
or Want to Sign up with your social account?