Articles · OpenAI
OpenAI Research Scientist Interview Guide 2026: Research Depth, Coding, and ML Systems
Prepare for OpenAI Research Scientist interviews with a worked research defense, ablations, slice regressions, budget decisions, ML coding and systems.
A research result can improve the average and still fail the question that matters. In an OpenAI Research Scientist interview, be ready to explain that distinction: what changed, which comparison supports the claim, where the method regressed, and which experiment should happen next.
This guide keeps the original focus on research defense, coding, ML systems and presentations. It adds a hypothetical baseline-and-ablation case with explicit variation, a critical-slice regression and a limited next-experiment budget, followed by a small numerical coding check. The tables are original practice data, not OpenAI model results or private interview material.
Start with Defend a Research Direction and Experiment Design. The linked question is tagged Machine Learning Engineer; use it as adjacent research-discussion practice, not a promised scientist round. Rehearse a claim, alternatives, controls and reversal criteria before reading a solution.
What the official interview guide establishes
OpenAI describes introductory conversations, skills-based assessments and final interviews, with formats varying by team. Assessments may include pair coding, take-home work or technical tests. Its typical final-interview example is 4–6 hours with 4–6 people over 1–2 days; confirm your actual schedule with recruiting.
The public guide emphasizes solution design, code quality, performance, tests, communication and collaboration. Tool permissions vary: some interviews allow AI assistance and others assess independent problem solving. Follow your preparation materials rather than assuming one rule applies across rounds.
For a Research Scientist application, ask whether the loop includes a research presentation, general coding, ML implementation or systems discussion. Those are preparation categories, not a universal published scientist sequence. Keep your project contribution clear and bring examples of changing your mind after evidence.
The current combined RSI scientist/engineer role describes research judgment, hypothesis testing, evaluations, experiment orchestration and safe research integrations. It illustrates why implementation and infrastructure can matter to a research role; it does not define the assessment for every scientist team. Read research relevant to your target team rather than trying to summarize every publication.
Prepare a research defense that can be interrupted
Choose a project you actually understand deeply. State the problem, prior approach, falsifiable hypothesis, baseline, intervention, metric and limitation. For each design choice, identify a simpler alternative and the observation that would make you abandon the choice.
An interviewer can challenge several different things: whether the baseline was tuned fairly, whether preprocessing leaked evaluation data, whether extra compute explains the result, whether a benchmark measures the intended capability, or whether a failure concentrates in an important slice. Answer the specific challenge with evidence rather than repeating the headline.
Use a one-page defense map and rehearse interruptions. A useful opening is a claim with scope, not an architecture inventory. Then show the decisive comparison, the strongest competing explanation and the next informative test. If you do not know an answer, distinguish what you measured from what you infer.
Hypothetical case: a new module raises average accuracy
Suppose a fictional method adds module M to a training recipe. Evaluate three configurations using the same held-out task IDs and three matched seed labels. Each seed's evaluation has 900 ordinary tasks and 100 long-context tasks. The latter is a declared critical slice.
All percentages and compute budgets below are supplied hypothetical values. They were not obtained by training a model. The exercise rule requires mean critical-slice accuracy of at least 90% before considering a rollout, regardless of the aggregate score.
| Configuration | Ordinary accuracy, seeds 1/2/3 | Critical accuracy, seeds 1/2/3 | Training hours per seed |
|---|---|---|---|
| Baseline recipe | 90%, 91%, 89% | 92%, 93%, 91% | 6 |
| Candidate recipe + M | 94%, 95%, 93% | 84%, 85%, 83% | 9 |
| Candidate recipe without M | 91%, 92%, 90% | 90%, 91%, 89% | 9 |
The ablation keeps the candidate's other recipe choices and training budget while removing M. That makes it a more informative module comparison than the six-hour baseline alone. Record identical data versions, evaluation code, tuning procedure and relevant hyperparameters; a table cannot establish those controls by itself.
Compute the result before defending it
Aggregate accuracy is 0.9 × ordinary + 0.1 × critical, because the slice counts are 900 and 100. Do not average the two percentages equally.
| Configuration | Aggregate accuracy by seed | Mean aggregate | Sample SD across seeds | Mean critical |
|---|---|---|---|---|
| Baseline | 90.2%, 91.2%, 89.2% | 90.2% | 1.0 percentage point | 92% |
| Candidate + M | 93%, 94%, 92% | 93% | 1.0 percentage point | 84% |
| Without M | 90.9%, 91.9%, 89.9% | 90.9% | 1.0 percentage point | 90% |
For seed 1, the baseline answers 810 + 92 = 902 of 1,000 tasks correctly. The candidate answers 846 + 84 = 930. Its 2.8-point aggregate gain masks an 8-point critical-slice loss, while using 50% more training hours per seed.
Compared with the equal-budget ablation, M is associated with a 2.1-point aggregate gain and 6-point critical loss in this fixture. That is a scoped comparison under the supplied controls, not proof of a general causal effect. The candidate fails the declared critical mean floor. The ablation meets that mean floor at exactly 90%, but one seed is 89%; that visible risk deserves further evaluation rather than an automatic launch.
Variance, claim limits and competing explanations
The sample SD is computed across the three seed-level aggregate percentages with the sample denominator. It describes the supplied run variation. It is not a confidence interval, not uncertainty over unseen tasks, and not evidence that a 2.8-point difference is statistically significant.
Because the same evaluation tasks are reused across seeds, you do not have 3,000 independent task observations. For real work, inspect paired per-task outcomes and choose an uncertainty method that respects task dependencies, grouping and the question being asked. Three invented seeds cannot settle that design.
The defensible statement is: “Under this fixture, the candidate raises mean aggregate accuracy from 90.2% to 93%, but critical accuracy falls from 92% to 84% and training budget increases. The equal-budget ablation suggests a module trade-off; the candidate does not meet the predeclared slice floor.”
Keep several explanations alive. M may favor ordinary examples at the expense of long-context behavior. A padding or masking bug might corrupt only the critical path. A recipe or compute change may explain part of the baseline comparison. The slice might contain duplicated or mislabeled tasks. Choose diagnostics that separate those explanations, rather than immediately proposing a larger model.
Choose the next experiment under a 12-hour budget
Start with a CPU-level audit of task IDs, labels, masks, lengths and per-example outputs. It consumes no reserved accelerator training hours in this hypothetical plan. Compare candidate and ablation failures on the same tasks. If the evaluation is wrong, repair it and re-evaluate the existing artifacts before using training budget.
If that audit is clean, spend the supplied 12 accelerator-hours on a small matched-budget candidate-versus-ablation probe: two configurations × two matched seeds × three hours per run. Keep data, optimizer schedule, evaluation and other settings fixed; toggle only M. This short-schedule experiment tests whether the trade-off persists early. It does not reproduce the nine-hour result or establish full-training superiority.
Predeclare the primary comparison and critical-slice check. Inspect whether aggregate and critical changes have the same direction for both matched seeds. If results disagree sharply, investigate instability instead of selecting the best seed. If the regression persists, stop rollout consideration and test a specific mechanism with a new budget. If it disappears, treat that as a reason to investigate schedule dependence, not proof the original regression was harmless.
Budget alternatives should be explicit. One twelve-hour run gives more training depth but no matched ablation or seed comparison. Four three-hour runs sacrifice depth to reduce ambiguity about M. The useful choice depends on the uncertainty you need to resolve; here the critical regression makes the matched diagnostic more informative.
Small ML coding check: masked softmax
A padding bug is a concrete competing explanation worth checking. Use a one-row function with finite real logits and a boolean mask, where True means the position is allowed. Excluded positions receive zero probability. Reject an all-masked row rather than silently inventing a distribution.
import math
def masked_softmax(logits, allowed):
"""One finite real-valued row; True permits a position."""
if not logits or len(logits) != len(allowed):
raise ValueError("nonempty matching lengths required")
if any(type(v) not in (int, float) or not math.isfinite(v) for v in logits):
raise ValueError("finite real logits required")
if any(type(v) is not bool for v in allowed) or not any(allowed):
raise ValueError("boolean mask with an allowed position required")
maximum = max(v for v, keep in zip(logits, allowed) if keep)
weights = [math.exp(v - maximum) if keep else 0.0
for v, keep in zip(logits, allowed)]
total = math.fsum(weights)
return [weight / total for weight in weights]
For logits [1000, 1001, 999] and mask [True, True, False], the expected probabilities are approximately [0.2689414214, 0.7310585786, 0]. Subtracting the maximum allowed logit avoids overflow from directly exponentiating 1000 and 1001. The same allowed differences in [0, 1, -1] produce the same output.
This helper runs in O(N) time and O(N) output/intermediate space. It is an explanatory Python implementation, not a vectorized tensor kernel. A real batched implementation must specify the normalization axis, broadcasting, causal/padding mask combination, dtype, gradients and all-masked-row policy. Use tested library operations where appropriate and verify the surrounding contract.
The local suite passed 24 checks across hypothetical-table arithmetic and this helper: weighted means, sample SD, slice deltas, budget multiplication, expected probabilities, shift invariance, exact mask zeros, large finite values and rejection of nonfinite, mismatched or invalid input. No model training, gradient check, tensor-library test, benchmark or statistical inference was performed.
The fixture check can reveal a primitive bug; it cannot demonstrate that a real candidate's long-context regression came from softmax. That requires inspecting the actual implementation and controlled evidence.
Connect research validity to ML systems
Trace a run from data snapshot through preprocessing, training, checkpoint, evaluation and result publication. Record code, dependencies, configuration, model and transform versions, task manifests, seeds and execution attempts. Prevent a retry from silently changing data or replacing a failed result with an untraceable successful one.
For checkpoint recovery, identify model, optimizer, scheduler, data position and random state. Explain the promised recovery semantics and expected nondeterminism. For distributed training, introduce parallelism only after defining model size, sequence length, memory and communication constraints.
For evaluation infrastructure, separate critical slices from the average, preserve per-example outcomes and keep an audit trail of changes to metrics or labels. A process that changes its evaluator after seeing a result must distinguish exploratory findings from the original held-out claim.
For serving, discuss quality and safety gates alongside latency, throughput, cost, canaries, monitoring and rollback. An offline aggregate gain cannot authorize ignoring a known critical failure. State who reviews the evidence and which concrete signal reverses the decision.
Present research and collaboration with evidence
If your invitation includes a presentation, organize it around problem, hypothesis, decisive comparison, failure and next experiment. Prepare backup details on data, baselines, tuning and personal ownership. Ask the recruiter about the presentation format and expected length; do not assume one universal talk requirement.
For a real collaboration story, name the disagreement and the observation that resolved it. If you designed the evaluator but another person proposed M, say so. If the result caused you to stop a launch, explain the actual guardrail and review decision. Do not present the fictional numbers here as your own accomplishments.
OpenAI's research page is a starting point for team-relevant reading. Select a small number of relevant works, identify their claims and limitations, and prepare a follow-up experiment you can justify. Reading breadth should support research judgment rather than substitute for depth.
A seven-day preparation plan
| Day | Focus | Deliverable |
|---|---|---|
| 1 | Confirm team and assessments | Round/tool map and relevant reading |
| 2 | Defend one real research project | Claim, controls and strongest limitation |
| 3 | Critique the hypothetical table | Weighted metrics and slice decision |
| 4 | Implement numerical checks | Mask, shape and stability tests |
| 5 | Design the next experiment | Fixed budget and reversal criteria |
| 6 | Trace ML infrastructure | Reproducibility and recovery boundaries |
| 7 | Rehearse interrupted presentation | Direct answers and ownership evidence |
Frequently asked questions
Does every Research Scientist candidate receive the same rounds?
No. The official guide describes team-dependent assessment formats. Confirm research presentation, coding and systems expectations in your invitation.
What does the hypothetical case establish?
It establishes arithmetic and a decision under supplied rules. The candidate improves the aggregate but fails the critical-slice floor. It provides no real trained-model result or significance claim.
Why is the ablation more useful than the baseline alone?
It holds the candidate recipe and nine-hour budget fixed while removing M. The six-hour baseline comparison changes compute too. Real controls still need verification.
What should I report about variance?
Identify the unit of variation and method. Here sample SD is across three seed-level aggregate values. It is not uncertainty over independent unseen tasks.
How much coding should I prepare?
Practice both ordinary implementation and ML numerical contracts relevant to your team. Be ready to explain shapes, masks, stability, tests and debugging, with permitted tools confirmed by recruiting.
Sources and scope
Reviewed October 8, 2026. Official hiring and role pages provide context. The experiment table, budgets, module M and code exercise are original hypothetical material; local checks validate arithmetic and the helper only.
- OpenAI interview guide — assessment formats, engineering signals and tool permissions.
- RSI scientist/engineer role — current research-workflow and evaluation context for one team.
- OpenAI research overview — starting point for team-relevant research reading.
- SciPy softmax documentation — normalization and shifting to avoid overflow.
- Python statistics documentation — sample standard deviation used for the supplied table.