Interview prep
Cursor Software Engineer, ML & Inference Interview Questions
A Cursor Software Engineer, ML & Inference (the Research Engineer role) builds the distributed training, inference, and RL infrastructure and data systems behind Cursor's frontier coding models, working alongside researchers. The work rewards distributed-systems depth, end-to-end ownership, and genuine intuitions about how language models work.

On this page
- What does a Cursor Software Engineer, ML & Inference actually do?
- What does the Software Engineer, ML & Inference interview assess?
- What interview questions should I expect?
- How do I prepare for the Cursor Software Engineer, ML & Inference interview?
- What background does the Software Engineer, ML & Inference role require?
What does a Cursor Software Engineer, ML & Inference actually do?
You build the training, inference, and data systems behind Cursor's frontier coding models, working directly with researchers to make progress repeatable and iteration fast. Cursor's careers site labels this posting "Software Engineer, ML Research" (the page header reads "Research Engineer"); the work centers on ML infrastructure, and inference is one of the three systems it names, which is why it maps to the ML & Inference role.
The job description lists three responsibilities, and every interview signal below traces back to one of them. Read them before the question list.
- Build Cursor's distributed training, inference, and RL infrastructure.
- Write libraries that simplify how researchers run large-scale data jobs.
- Architect the systems that turn Cursor user data into effective training data.
The second line is written from the researcher's side rather than yours. The posting has you working with researchers to "make progress repeatable and iteration fast," so a fair test of what you build is whether a researcher can run a bigger job than they could last month. A library only its author can operate hasn't simplified anything, which probably makes adoption the part an interviewer pushes on. The posting stops short of saying so.
Two of the three lines are data work, though the title says inference.
- Team
- Engineering (the posting is headed "Research Engineer")
- Location
- San Francisco or New York
- Type
- Full-time
- Works with
- Researchers, on training, inference, and data systems for the coding models
Source: cursor.com/careers Software Engineer, ML Research posting, verified 2026-07-22.
This exact topic is a hands-on Lesson: The Interview Loop: Stages, Formats & How to Prepare — about 20 minutes, free to read.
Rather do it than read about it? Run 11 interactive Cursor walkthroughs in a simulated editor. Free, no account needed.
What does the Software Engineer, ML & Inference interview assess?
Cursor does not publish its interview stages, rounds, or timeline for this role, so treat any "the ML loop is X" claim with skepticism. What you can prepare for is the bar the job description sets. The three responsibilities and the four fit criteria point at a handful of things every format would sample, whatever the exact sequence turns out to be.
That silence is worth reading precisely, because a sibling posting on the same careers site does publish its process. Cursor's Software Engineer, Infrastructure listing carries an "Applying" section naming two to three short technicals, then an onsite in the office where you work on a small project, discuss ideas, and meet the team. This one has no such section. Borrowing that shape for this role would be a guess, and disclosure varies posting by posting, which the interview-process page works through in more detail.
When a company won't state its process, prepare what every format samples: a distributed system you designed and ran, honest reasoning about training and inference at scale, and evidence you shipped it end-to-end without hand-holding. Those transfer to a screen, a panel, a design session, or an onsite equally.
- What the JD asks for
- Build distributed training, inference, and RL infrastructure
- What the interview is likely probing
- Can you design a distributed system (sharding, scheduling, fault tolerance, throughput) and reason about training and inference at scale?
- What the JD asks for
- Write libraries for large-scale data jobs
- What the interview is likely probing
- Do you build tooling and abstractions that make other engineers and researchers faster, not just one-off scripts?
- What the JD asks for
- Turn user data into effective training data
- What the interview is likely probing
- Can you architect a data pipeline end-to-end and reason about how data quality changes model results?
- What the JD asks for
- Strong infrastructure/distributed systems background
- What the interview is likely probing
- Depth on concurrency, failure modes, and the real tradeoffs of a system you actually ran in production.
- What the JD asks for
- Architect and ship end-to-end with high ownership
- What the interview is likely probing
- Evidence you owned a system from design through production without waiting to be told what to do.
- What the JD asks for
- Strong intuitions about how language models work
- What the interview is likely probing
- Can you reason about training, inference, and RL for LLMs even if research is not your primary background?
| What the JD asks for | What the interview is likely probing |
|---|---|
| Build distributed training, inference, and RL infrastructure | Can you design a distributed system (sharding, scheduling, fault tolerance, throughput) and reason about training and inference at scale? |
| Write libraries for large-scale data jobs | Do you build tooling and abstractions that make other engineers and researchers faster, not just one-off scripts? |
| Turn user data into effective training data | Can you architect a data pipeline end-to-end and reason about how data quality changes model results? |
| Strong infrastructure/distributed systems background | Depth on concurrency, failure modes, and the real tradeoffs of a system you actually ran in production. |
| Architect and ship end-to-end with high ownership | Evidence you owned a system from design through production without waiting to be told what to do. |
| Strong intuitions about how language models work | Can you reason about training, inference, and RL for LLMs even if research is not your primary background? |
Left column is verbatim-ish from the JD; right column is the signal each line implies, not a published Cursor rubric.
One row asks you to reason about training and inference "at scale," and that phrase is where the difficulty hides. At scale the numbers you are improving pull against each other. Bigger batches keep the GPUs busy and raise throughput. The same batching, awkwardly, makes every request share the GPU with more neighbors, so tail latency gets worse. Prefill and decode pull apart the same way, one setting how long before the first token appears and the other the gap between tokens after that. Say which number you are protecting and what you traded for it.
What interview questions should I expect?
These are question types the job description implies, the kind of prompt each responsibility naturally invites. Prepare a concrete story for each, and note what a strong answer proves versus a weak one, because interviewers read for the signal, not the script. Expect follow-ups that go a level deeper than your first answer.
Be ready to design a training or inference system out loud: sharding, scheduling, fault tolerance, and throughput. Strong answers name the failure mode and defend the tradeoff they chose under load; weak ones sketch a happy path and stall when a node dies. The JD's first responsibility is this infrastructure.
Expect to design a library that makes large-scale data jobs simpler for researchers. Strong answers show an abstraction other people actually adopted and what broke at scale; weak ones describe a one-off script. The JD asks you to build these libraries yourself.
Be ready to architect a pipeline that turns raw user data into effective training data. Strong answers tie a data-quality decision to a measurable change in model results; weak ones move bytes without asking whether the data helps the model learn. This is the third named responsibility.
Since inference infrastructure is in the charter, be ready to reason about latency, throughput, cost, and failure modes when serving models under load. The free practice track drills the routing, failover, and backpressure side of this in depth.
Expect to reason about how language models train and serve (Cursor scales RL on real user data) even if ML isn't your background. The JD pairs "strong intuitions about how language models work" with being "excited to learn more about ML."
Cursor's mission is to automate coding, and this role builds the infrastructure the models train and run on. Have a concrete reason you want to build ML systems here and an ownership story you can back with real detail.
The likeliest way to waste this prep is to work the wrong axis. "ML" in the title pulls people toward transformer internals and paper summaries, and then the hard follow-up turns out to be what happened when a node died mid-job. Infrastructure background sits first in the fit lines and model intuitions sit third, and that is the order worth putting your weeks into, though the posting never calls it a ranking. Get it backwards and you lose the study weeks, and the depth you skipped shows the moment someone asks you to design a system out loud.
If a design answer stalls, check the first thirty seconds of it. Answers that go wrong usually started with boxes on a whiteboard instead of a latency budget and a request volume.
How do I prepare for the Cursor Software Engineer, ML & Inference interview?
Preparation for this role is mostly systems depth plus proof. The clearest proof is a distributed system you designed, shipped, and kept running yourself: the kind of depth an interviewer can probe for an hour and you never run dry. Reading about sharding layouts is the obvious way to build that, and I'd rank it second. The better hours go into failure behavior, like what one stalled worker does to a job that is already running. Work the steps below, then route the reps through daily practice.
- 1Go deep on distributed systems: build or study one with sharding, scheduling, and fault tolerance, and be able to whiteboard training and inference throughput plus the failure modes under load.
- 2Build in Cursor daily on a real repo (Tab, inline edit, Agent, and plan mode) and know what changed in Cursor in 2026 so you can speak to the product the models power.
- 3Get concrete about LLM training and inference: be able to reason about RL on real usage, what makes training data effective, and the latency and cost tradeoffs of serving a model.
- 4Rehearse one end-to-end ownership story: a system you designed, shipped, and kept running with high ownership. Name the tradeoff you made and what you'd change next time.
- 5If you're newer to Cursor itself, ground yourself in the fundamentals first, then run structured reps.
The first step is first because it is the slow one. Systems depth takes months to build and tends to get probed on the second and third follow-up rather than the first, while the product familiarity in step two takes a weekend on a real repo and the ownership story in step four is rehearsal of work you already did. Take them out of order and you turn up fluent in Cursor and thin on what the first fit line asks for.
Team size changes which story to lead with. In a large platform org the training substrate and the data pipeline sit with different groups, and the pager sits with a third, so a candidate from that world can claim one layer in real depth. Smaller teams put all of it on a few people.
This posting asks for end-to-end ownership in those words, which points at the second case, so lead with the project you designed, shipped, and were still answering for when it broke.
For structured reps, the free ML & Inference practice track here runs the role and charter, an inference-fundamentals deep dive, routing, failover and backpressure, coding craft, a behavioral module, and a mock-loop capstone. It's scaffolding built around this job description, not Cursor's official process.
Each day, pick one distributed-systems or inference decision (a sharding layout, a batching or failover choice) and write the throughput, latency, and failure-mode tradeoff you'd defend out loud. The free practice track turns these reps into a scheduled curriculum that ends in a mock loop.
What background does the Software Engineer, ML & Inference role require?
The fit criteria in the posting are short and specific, and they double as your prep checklist. Cursor lists four, weighted toward systems depth and ownership rather than an ML research record.
- A strong infrastructure and distributed-systems background.
- The ability to architect and ship end-to-end with high ownership.
- Strong intuitions about how language models work.
- Genuine excitement to learn more about ML.
The posting is explicit that you don't need to arrive as a researcher: "excited to learn more about ML" sits right next to "strong intuitions about how language models work." The hard requirement is distributed-systems depth and end-to-end ownership; curiosity about models is the complement, not a publication list. The role is based in San Francisco or New York per the posting.
The gap that takes longer, I think, runs the other way. An ML background with no production system behind it leaves the hard requirement unmet, and nothing in the four lines lets research depth substitute for distributed-systems depth. If that's you, spend the time on one system you can operate rather than on more model theory.
The four lines name no degree requirement and no publication record, so don't screen yourself out on either.
Frequently asked questions
Does Cursor publish its Software Engineer, ML & Inference interview process?
No. Cursor lists the role, its responsibilities, and its fit criteria, but no stages, rounds, or timeline. Get good at what the job description describes: distributed-systems design, training and inference reasoning, and end-to-end ownership, rather than a guessed loop.
Do I need an ML research background for this role?
No. The posting asks for a strong infrastructure/distributed-systems background and pairs "strong intuitions about how language models work" with being "excited to learn more about ML." Systems depth is the hard requirement; deep ML research is not stated.
Why does the site call it "ML & Inference" when the posting says "ML Research"?
Cursor's careers page labels the posting Software Engineer, ML Research (its header reads "Research Engineer"). Inference infrastructure is one of the three responsibilities it names, so the role maps to Software Engineer, ML & Inference. The work is the same either way.
Where is the Cursor Software Engineer, ML & Inference role based?
The posting lists San Francisco and New York. Check the live posting for the current location policy, since it can differ per opening.
Sources & last verified
Cursor ships frequently. Last updated July 28, 2026.
Keep reading
- Software Engineer, Agent Harness interview questions →
- Research Scientist interview questions →
- Engineering Manager interview questions →
- Software Engineer, Security interview questions →
- Cursor interview prep (hub) →
- Interview-prep practice tracks →
- What's new in Cursor in 2026 →
- Cursor Basics (start here) →