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.
- 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.
- Then a live screen. One or two coding problems with you narrating the whole time. Silence reads as luck, not skill.
- 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.
- 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.
- 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.
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.
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.
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.
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:
- 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.
- 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."
- Code it. Narrate as you go, especially the tricky line.
- 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.
- 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:
- Define the sample space. What are all the outcomes?
- Assign probabilities to each.
- Decide what you are computing: expected value, a probability, a variance, or a conditional.
- Set up the formula explicitly, on the whiteboard or out loud.
- 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.
Reveal the answer
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.
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#
- They go silent. Great answer, zero narration, no signal for the interviewer. Instant doubt, because I cannot tell reasoning from luck.
- 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.
- 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.
- 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.
- Hand-wavy probability. Saying "roughly half" without setting up the sample space. Show the math, name the distribution, write the formula.
- 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:
- 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.
- 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.
- 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.
"Do I need to know finance to get hired?"
"How hard is the OA, really?"
"Are new grads really welcome, or is it window dressing?"
"What language should I use in the coding rounds?"
"How do I actually practice the market-making game?"
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.