Guides › IMC Trading
I

IMC Trading Interview Guide (2026)

Land the onsite and you are 60% of the way to an offer that starts near the top of the market. Most people who fail here are not dumb. They are surprised. They walk in expecting a normal software interview and get hit with a dice game, a 100-question timed arithmetic sheet, and a stranger trading against their quotes. The ones who flame out are usually strong LeetCode grinders who have never once said a probability answer out loud. This guide fixes that.

Software Engineer12 min readUpdated 2026-11

The complete IMC Trading interview, start to finish. Work through these 9 sections (about 12 min) and you walk in knowing exactly what each round tests and how to prepare.

The loop at a glance

Five stages, one thing being measured: how you think under pressure with incomplete information. Everything below defends these five calls.

  1. OA first. HackerRank or CodeSignal, 60 to 90 min, DSA speed plus sometimes a math section. The bar is clean mediums done fast, not clever hards done slowly.
  2. Then a live screen. One or two coding problems with you narrating the whole time. Silence reads as luck, not skill.
  3. The trading-floor rounds decide it. Probability, brain-teasers, timed mental math, and the market-making game. This is the IMC-flavored core that generic prep misses.
  4. Think out loud, always. Every round grades the path, not the final number. A nudge from the interviewer is them trying to pass you, not trap you.
  5. Revise without ego. Treat new information as a gift. The candidate who re-prices when the facts change beats the one who defends a dead number, every time.

1Snapshot, read this first#

Thing What it looks like
Roles Software Engineer, Graduate Software Engineer, Trading Systems, Core/Low-Latency
Levels New grad through senior. New grads are genuinely wanted, not an afterthought.
Process length Usually 3 to 5 weeks start to finish
Rounds OA, then a phone/HackerRank-live screen, then a half or full onsite (often a "superday")
What wins Fast clean DSA, thinking out loud on probability, calm mental math, honest "I don't know yet"
What fails Freezing on brain-teasers, silent coding, hand-wavy probability, treating the games like trick questions
Comp US (new grad) ~$175k to $225k base, sign-on, plus a bonus that can be very large
Comp US (experienced) Base $200k+ with total comp frequently $400k to $700k+
Comp UK ~£90k to £130k base plus sign-on and bonus; strong grad packages
Comp India/APAC APAC hub is mainly Sydney/Singapore/Hong Kong; India presence is smaller and more selective. Expect strong local-market packages.

The one thing to internalize: they are hiring for a trading floor, not a feature team.

  • Nobody on that floor cares that you memorized the LRU cache problem.
  • They want to see how you think under pressure with incomplete information, because that is the actual job.
  • A trader prices a market they cannot fully see, gets new information mid-trade, and has to revise without freezing.
  • Every round is a proxy for that one skill.
The point of the whole loop

You are being tested as a trader-in-training, not a code monkey. Reads of your reasoning matter more than your final answers. If you walk out having shown clean thinking under a clock and a willingness to be wrong out loud, you passed, even on the problems you did not fully solve.

2Getting the call (the part most guides skip)#

Apply early and apply to the campus pipeline. IMC recruits heavily from target universities and does a lot of campus work.

  • If you are a student, go to their events and apply early in the cycle.
  • Grad deadlines close fast, sometimes 6 to 9 months before the start date.
  • They often fill on a rolling basis, so a late application competes for the seats nobody good took.
  • Do not wait.

Referrals help, but less than at big tech.

  • A strong online application plus a competitive-programming background gets read on its own merits.
  • Put your proof in the top third of page one, where a recruiter scanning for 15 seconds will actually see it.
  • Codeforces or LeetCode rating, a Kaggle placement, an ICPC regional, an IOI/IMO medal, or a project with real systems depth all land.

Here is a resume bullet that gets a second look:

Built a C++ order-book simulator processing 2M messages/sec, cut p99 match latency from 40us to 9us by replacing the std::map price ladder with a flat array indexed by price level.

Why that bullet works:

  • It has a number, a latency unit, and a specific technical decision a trading-systems engineer recognizes instantly.
  • The std::map-to-flat-array swap is a real optimization: you trade a red-black tree's pointer chasing and log-n lookups for O(1) array indexing and cache-friendly contiguous memory.
  • Compare it to "worked on a trading project using C++." One tells me you understand what matters here. The other tells me nothing, and I will not ask a follow-up because there is nothing to ask.

Keywords that actually land: C++, low-latency, data structures and algorithms, probability, statistics, multithreading, Linux, networking, Python, order book, market making.

  • Do not keyword-stuff. Make sure the real ones are present, each backed by a bullet that proves you did the thing.

What gets you shortlisted: evidence you enjoy hard problems for their own sake.

  • Competitive programming, a math olympiad, a trading or poker club, a performance-sensitive side project.
  • IMC screens for raw problem-solving horsepower more than years of experience.
  • That is exactly why a 21-year-old with an ICPC medal and no job title gets the same callback as a mid-level engineer.

3The loop at a glance#

Round Length What it tests
Online assessment (HackerRank or CodeSignal) 60 to 90 min DSA speed and correctness, sometimes a probability/math section
Phone or live-coding screen 45 to 60 min One or two coding problems, live, talking the whole time
Probability / math screen (sometimes) 45 min Expected value, conditional probability, quick estimation
Onsite / superday: coding 45 to 60 min Harder DSA, clean implementation, edge cases
Onsite: probability and brain-teasers 45 to 60 min Reasoning out loud, EV, combinatorics, Bayes
Onsite: mental math often timed, rapid-fire Arithmetic speed and accuracy under a clock
Onsite: market-making game 30 to 45 min Pricing, updating on new info, managing risk live
Behavioral / fit chat 30 min Teamwork, curiosity, how you handle being wrong

Not every candidate gets every round.

  • Low-latency/core roles lean harder on C++ and systems: expect two technical rounds and a lighter math round.
  • Pure SWE grad roles lean on DSA plus the games, and the mental-math sheet shows up more often.
  • The superday is usually 3 to 4 back-to-back rounds in a single day, which is itself a stamina test.
  • The game at hour four is harder because you are tired, and they know it.
From the interviewer's chair

I plan the superday order on purpose. The mental-math sheet or the market-making game often lands late, when your focus is spent. That is not cruelty, it is the job: the desk does not get quiet at hour four. Eat before you come in, and treat the last round like it is the first.

4The coding or technical rounds#

The coding is classic DSA, done fast and clean. Think LeetCode medium as the floor, with some hards. Nothing esoteric, no made-up research problems. The patterns I see most:

  • Arrays and two pointers, sliding window
  • Hash maps for counting and lookup
  • Stacks and monotonic stacks (order-book and "next greater element" problems love these)
  • Heaps and priority queues (top-k, merge-k, streaming medians)
  • Binary search, including binary search on the answer
  • Graphs: BFS, DFS, shortest path, topological sort
  • Dynamic programming, usually 1D or 2D, nothing exotic
  • Simulation problems where you model a process step by step, often a tiny exchange or matching engine

Speed matters more here than at most firms.

  • The OA rewards people who code a correct solution quickly and move on, because there are often 3 to 4 problems and not enough time to finish them all comfortably.
  • Practice typing clean code against a clock, not solving puzzles slowly at your own pace.
  • A good benchmark: a LeetCode medium you recognize should go from read to passing in under 12 minutes.
~12 min
Your read-to-passing target on a known mediumThe OA is a race, not a puzzle box. If a familiar medium takes you 25 minutes, you will finish two of four problems and get screened out on throughput, not intelligence. Train the clock, not just the solve.

For C++ roles, they probe the language, not just your ability to use it. Be ready to reason about what is slow and why:

  • Move semantics, and when a move is silently turned into a copy.
  • RAII, and when a copy happens on a return or a push_back.
  • How virtual dispatch works through the vtable.
  • Cache locality, and why a std::vector usually beats a std::list in practice even for middle insertions (contiguous memory and prefetching beat pointer chasing).
  • "This allocates on every call, so in a hot loop I would preallocate or use a stack buffer" is the sentence that earns points. They want to hear that you think about cost, not just correctness.

Probability and brain-teasers show up inside technical rounds too, not just the dedicated math round.

  • A coding problem might come wrapped in a dice or card setup: simulate first, then they ask for the closed-form expected value.
  • So the single most important habit follows below.

Think out loud. The entire time.

  • When I run a candidate through a problem, I grade the path more than the final answer.
  • Go quiet for three minutes and then say "42," and I learned nothing. Worse, I now have to assume you got lucky.
  • Say "okay, the expected value is the sum over each outcome times its probability, let me set up the cases," and I can see you reason and nudge you if you drift.
  • The nudge is not a trap. It is me trying to pass you.
Red flag that fails you here

Coding in total silence, then presenting a finished answer like a magic trick. Even if it is correct, I cannot separate reasoning from luck, and I will not bet a trading seat on luck. The quiet candidate who "just gets the right answer" scores below the one who narrates a slightly messier path.

How to win any of these rounds:

  1. Clarify first. Restate the problem in your own words. Ask about input size, duplicates, negatives, empty input, and integer overflow. Those five questions alone signal experience.
  2. State your approach before coding. Name the complexity. "This is O(n log n) because of the sort, and I think we can do O(n) with a hash map, let me check."
  3. Code it. Narrate as you go, especially the tricky line.
  4. Test it yourself. Walk a small example by hand. Catch your own off-by-one before I do, because the candidate who finds their own bug scores higher than the one I have to correct.
  5. If it is a math problem, write the setup, not just the answer. Show the formula so I can follow the logic even if the arithmetic slips.

Practice sources that mirror IMC:

  • LeetCode for DSA.
  • The classic "Heard on the Street" and "A Practical Guide to Quantitative Finance Interviews" (the green book by Xinfeng Zhou) for probability and brain-teasers.
  • Timed mental-math drills online.
  • Do the math problems out loud so the talking becomes automatic under stress. If you can only narrate when calm, you will go silent in the room.

5The probability, games, and mental-math rounds#

This is the IMC-flavored core, and it is where generic interview prep falls apart. There is no system-design round for most of these roles. Instead you get the trading-floor rounds, and they are the ones that actually decide the offer.

A framework for the probability and brain-teaser questions:

  1. Define the sample space. What are all the outcomes?
  2. Assign probabilities to each.
  3. Decide what you are computing: expected value, a probability, a variance, or a conditional.
  4. Set up the formula explicitly, on the whiteboard or out loud.
  5. Compute, then sanity-check the magnitude. "A probability can't be 1.3, so I made an error," or "the EV should be between these two bounds, and it is."

Classic prompts in this style:

  • Expected number of rolls to see a 6 on a fair die. Answer: 6. Know why: it is a geometric distribution with p = 1/6, and E = 1/p.
  • Flip a fair coin until two heads in a row. Expected flips? Answer: 6. Set up states by how many heads you have in a row and solve the linear system.
  • Two players, a dice duel: who wins and what is the fair price to enter? Price it as the expected payoff, then reason about who has the edge.
  • Bayes setups: a test is 99% accurate, the disease is rare (say 1 in 10,000). What is the chance you actually have it given a positive? The answer is shockingly low, and the point is that you apply Bayes instead of blurting "99%."
  • Estimation: how many piano tuners in Chicago, how many golf balls fit in a bus. They want a structured decomposition and stated assumptions, not a precise number.
  • Card problems: probability the next card is higher, expected value of a stop-or-draw game. These bleed straight into the market-making mindset.

The mental-math round is exactly what it sounds like.

  • Rapid-fire arithmetic against a clock: multiplying decimals, percentages, fractions, like 7.5 times 84, or 1/16 as a percent (6.25%).
  • Firms use timed tests, often something like 80 to 100 questions in 8 to 10 minutes, so you have roughly 5 to 7 seconds per question. The "Optiver 80 in 8" style drill is good practice even though it is a different firm.
  • There is no trick, just reps and a few shortcuts: learn fraction-to-percent conversions cold, and multiply by breaking numbers apart. 7.5 times 84 is 7.5 times 80 plus 7.5 times 4, which is 600 plus 30, which is 630.
  • Drill daily for two weeks and you get dramatically faster. People who skip this round out of pride fail it, because it is pure speed and your rusty brain will not catch up in the room.

The market-making game is the one people have never seen before, and it is the most IMC thing in the loop.

  • You quote a two-sided market, a bid and an ask, on some uncertain quantity.
  • Examples: the number of windows in a building, your height in centimeters that I cannot see, or the sum of two hidden dice.
  • I trade against you (I hit your bid or lift your ask), and I feed you new information as we go.
  • Your job: set a fair price around the expected value, keep a spread wide enough to protect you from what you do not know, and tighten or widen that spread as facts arrive.
Pause before you read on: I ask you to make a market on the sum of two hidden dice with no extra information. What do you quote, and why not a tight 7 at 7?
Reveal the answer
Center on the true expected value of 7, but quote a spread like 6 at 8, not a tight market. The spread is your protection against what you cannot see. If you quote 7 at 7 with no information, any trade I make is at fair value or against you, and you carry all the variance for zero edge. A sensible spread says "I will trade, but you pay me to take the uncertainty." Tightening comes later, once a clue removes some of that uncertainty.

Worked micro-example: the sum of two hidden dice.

  • The true expected value is 7.
  • With no extra information, quoting 6 at 8 (bid 6, ask 8) is reasonable: centered on 7, with a spread that covers your uncertainty.
  • If I then say "the first die is a 5," your expected sum jumps to 5 plus 3.5, which is 8.5.
  • Move your whole market up, and you can tighten it because you now know half the state.
  • Leave your quote at 6 at 8 after that clue and I buy from you at 8 all day, because the fair value is 8.5. You lose.

What I am watching for:

  • Do you anchor to an expected value and quote symmetrically around it?
  • Do you widen your spread when you are uncertain and tighten when you know more?
  • When I trade against you, do you ask yourself why I took that side, and do you update, or do you stubbornly hold a wrong price?
  • Do you manage your accumulated position instead of guessing standalone numbers? If you are already long, you should skew your quotes to get flat.
Why the game is the real test

No finance knowledge required. You need clear probabilistic thinking, a feel for expected value, and a willingness to revise. Treat new information as a gift, not an attack. The candidate who says "interesting, that changes my fair value, let me re-price" beats the one who defends a number out of ego, every single time.

6Behavioral and culture fit#

IMC's culture is real and worth taking seriously.

  • The values are things like being driven by curiosity, keeping things open and collaborative, caring about the craft, and not taking themselves too seriously while staying deeply rigorous.
  • The floor is flat. A new grad can tell a senior trader their price is wrong, and if the new grad is right, that is the end of the discussion.
  • People argue about the right answer and nobody cares who is senior.
  • They want people who are humble about being wrong and fast to say so, because on a trading floor a stubborn wrong opinion costs real money in real time.

So the behavioral round is not a formality.

  • The single best thing you can show: how you handle being wrong and how you work with others.
  • Prepare three or four STAR stories. Keep them tight, under two minutes each.
  • Make sure at least one is a time you were wrong and said so first.

Here is one worked example:

  • Situation: On a university robotics team, our autonomous run kept failing in the final week before competition, and two of us disagreed loudly about the cause.
  • Task: I needed to find the real bug and keep the team from fracturing right before the deadline.
  • Action: Instead of defending my theory, I proposed we log every sensor reading and let the data decide. I built a quick replay tool overnight so we could step through failed runs frame by frame. It turned out my own calibration code was the problem, not my teammate's control loop.
  • Result: We fixed it two days before the event, placed 3rd out of 24 teams, and I told the judges and my teammate that the bug was mine. The teammate and I ran the next two projects together.

Why that story works:

  • The result has a number.
  • I was wrong in it and owned it without being asked.
  • IMC loves that, because it is exactly the behavior that keeps a desk from blowing up: the person who says "that was my mistake, here is the fix" faster than anyone can blame them.

On a trading floor, the fastest "I was wrong" in the room is worth more than the loudest "I was right."

7Your prep plan#

4-week plan:

  • Week 1: 40 LeetCode mediums across arrays, hashing, stacks, heaps, binary search. Code against a timer, aim for under 15 minutes each by the end.
  • Week 2: Graphs and DP. Start daily mental-math drills (15 min, timed). Read the green book, work problems by hand, not just by reading the solution.
  • Week 3: Probability and brain-teasers every day, out loud to a wall or a friend. Mock the market-making game with a friend. For C++ roles, drill language internals (move semantics, allocation, cache behavior).
  • Week 4: Full mock onsites. Mix coding, probability, and a game back to back to build stamina. Find your weakest round and spend the extra hours there, not on what you already enjoy.

2-week plan:

  • Days 1 to 5: 6 LeetCode mediums/day, two patterns per day. Mental math 15 min daily, timed.
  • Days 6 to 9: Probability and brain-teasers from the green book, spoken aloud. One market-making mock.
  • Days 10 to 14: Timed mocks, behavioral STAR stories written out, review every mistake and redo that problem type.

2-day crash plan:

  • Day 1: 10 mediums covering your weak patterns. 30 min mental math. Read and work 20 classic probability problems out loud.
  • Day 2: One full mock (coding + probability + game). Write three STAR stories, one of them a "I was wrong" story. Sleep properly, because the mental-math and game rounds collapse when you are tired.

8Why people get rejected at IMC Trading#

  1. They go silent. Great answer, zero narration, no signal for the interviewer. Instant doubt, because I cannot tell reasoning from luck.
  2. They freeze on the first brain-teaser and never recover. One stumble is fine and expected. Visible panic that bleeds into the next question is not.
  3. Slow, sloppy mental math. The timed round is effectively pass/fail for some roles and people underprepare for it badly, usually because they assume raw smarts will carry it. It will not.
  4. Stubbornness in the market-making game. New info lands, they refuse to move their price, I keep hitting the side they left mispriced, and they get picked off. Refusing to update is the fastest way to lose this round.
  5. Hand-wavy probability. Saying "roughly half" without setting up the sample space. Show the math, name the distribution, write the formula.
  6. For C++ roles, knowing syntax but not cost. They can write the code but cannot say what allocates, what copies, or what blows the cache, which tells me they have never cared about performance.

9The offer, comp and negotiation#

IMC pays at the very top of the market, especially the total-comp picture once bonus is included. The bonus is discretionary and tied to firm and desk performance, so headline numbers move year to year. Rough 2026 ranges:

  • US new grad: base around $175k to $225k, a sign-on bonus, and a performance bonus that can be large. Total first-year comp frequently lands well into the mid six figures.
  • US experienced: base $200k+ with total comp commonly $400k to $700k+, driven heavily by bonus rather than base.
  • UK/London: base around £90k to £130k for grads and early-career, plus sign-on and bonus.
  • APAC (Sydney/Singapore/Hong Kong): strong local packages at market-top levels; India presence is smaller and more selective.

These are estimates and move year to year with firm performance. Treat them as a starting map, not a promise.

Negotiation tips specific to IMC:

  1. Competing offers from other trading firms (Optiver, Jane Street, Citadel, Hudson River) move the needle far more than big-tech offers, because IMC benchmarks against the firms they actually compete with for talent. A Google offer does not scare them. An Optiver offer does. Get one if you can, and be honest about it.
  2. The bonus is where the money is, and it is discretionary. Ask how bonus has historically tracked for your level and desk so you are negotiating the full number, not just the base they lead with.
  3. Be gracious and specific. "I'm excited about IMC. I have an offer at X total. Is there room to close the gap?" Blunt and polite beats a long speech, and recruiters at trading firms respect a direct number more than a sob story.
Follow-ups the interviewer will ask (and your answers)
"Do I need to know finance to get hired?"
No. For most SWE and grad roles they teach you the trading context on the job. They are testing raw problem-solving, math, and coding. Curiosity about markets helps and shows up in the game round, but deep finance knowledge is not required and will not save a weak probability answer.
"How hard is the OA, really?"
LeetCode medium as the baseline, with time pressure as the real challenge. There are often 3 to 4 problems and not enough time to finish all of them calmly. Some versions include a probability or math section. Practice coding quickly and correctly, not just solving eventually.
"Are new grads really welcome, or is it window dressing?"
Genuinely welcome. IMC runs serious campus and graduate programs and hires a lot of new grads every year. A strong grad with a competitive-programming background can absolutely get an offer, and will often be measured against senior candidates on the same bar.
"What language should I use in the coding rounds?"
C++ or Python are both fine for most rounds. Use the one you are fastest in for the general SWE rounds. For low-latency/core roles, C++ fluency is expected and probed in depth, so do not show up planning to answer internals questions in Python.
"How do I actually practice the market-making game?"
Play it with a friend. One person holds a hidden number (a dice sum, the count of something, a fact about themselves) and the other quotes a bid/ask. Trade, reveal clues one at a time, and practice updating after each clue. The muscle you are building is revising quickly on new information without panicking or defending a dead number.

What you can now explain in the room

  • Why every IMC round is a proxy for pricing under uncertainty, not a standard SWE screen.
  • How to narrate a coding or probability problem so the interviewer can see your reasoning and nudge you toward a pass.
  • Why a tight 7 at 7 market is a losing quote and how a spread prices in your uncertainty.
  • How to re-price a two-sided market the instant a clue changes the expected value.
  • Why the timed mental-math round is pure reps, and the shortcuts that make 5 to 7 seconds per question doable.
  • Why a fast, honest "that was my mistake" is the behavioral signal IMC rewards most.

When you are ready, block out your real calendar and build a dated plan from the week you have left, so every day before the onsite has a job.

Get a prep plan built around your IMC Trading interview

Tell us the role and your interview date. We will send back a dated, day by day plan. Free.

Thanks. Check your inbox, your IMC Trading prep plan is on the way.