← Back to Directory

OpenAI interview notes, page 56 of 67

Mid-sized

Most of these OpenAI write-ups come from Software Engineers (460), then Machine Learning Engineers (137) and Backend Engineers (23). The most reported rounds are the technical phone screen (335), the system design round (229), the onsite coding round (32) and the behavioral / leadership round (22).

667 interview notes · updated Jul 2026

OpenAI·Software Engineer·Technical Phone Screen

Jun 2026
OpenAI software engineer interview that went deep into probability theory and numerical simulation. Not your typical coding round. They wanted both the math derivation and working code to verify it, which I was not fully prepared for.
  • Model a point light source emitting particles at uniformly random angles toward an infinite vertical screen. Derive mathematically why the x-coordinates where particles hit the screen follow a Cauchy distribution.
  • Now simulate the particle emission process numerically: sample uniform random angles, compute the screen impact x-coordinates, and verify your derivation by comparing a histogram of the simulated values against the theoretical Cauchy PDF.

“The setup sounds like a physics problem but it's really a probability derivation.”

View Post

OpenAI·Software Engineer·Technical Phone Screen

Jun 2026
Interviewed with OpenAI's Infra Inference team for a software engineering role. It was a 75-minute technical phone screen focused entirely on implementing malloc from scratch, which was more involved than I expected but went well enough to pass.
  • Implement malloc and free from scratch, then optimize your solution.

“Started with a linear scan first-fit approach, which took me maybe 25 minutes.”

View Post

OpenAI·Software Engineer·Technical Phone Screen

Jun 2026
OpenAI software engineer interview with a low-level systems problem. The kind of question that feels deceptively manageable until you're twenty minutes in and realizing you forgot about fragmentation.
  • Implement a simplified memory allocator over a fixed contiguous memory region. Support malloc(size) returning a pointer to an allocated block, and free(pointer) releasing it. Handle coalescing of adjacent free blocks and aim for better-than-linear performance per operation.

“I started with a free list and a simple first-fit scan, which they were fine with as a baseline, but then they pushed on fragmentation pretty quickly.”

View Post

OpenAI·Backend Engineer·Onsite - System Design / Architecture

Jun 2026
System design round at OpenAI for a backend role, basically one big question about building YouTube from scratch. The scope was massive and I felt like I was constantly playing catch-up across components.
  • Design a large-scale video sharing and streaming platform similar to YouTube, covering upload, transcoding, storage, adaptive bitrate delivery, view counts, comments, recommendations, and search.

“This question swallowed the entire session.”

View Post

OpenAI·Software Engineer·Technical Phone Screen

Jun 2026
OpenAI SWE interview where they handed me a broken PyTorch GRPO training loop and told me to find what was wrong and fix it. Definitely the most domain-specific coding round I've sat through, you really need to know RL fine-tuning internals cold.
  • Given a partially implemented PyTorch GRPO training loop for a language model, identify the bugs and correctness issues, then fix them. The implementation covers group sampling, advantage normalization, KL penalty against a reference policy, and the policy gradient update.

“This was a live debugging exercise, not a design question.”

View Post

OpenAI·Mobile Engineer·Technical Phone Screen

Jun 2026
Round 2 for a Mobile Engineer role at OpenAI was an Android coding round. The task was building a rating card in Kotlin with Jetpack Compose, and it had a few gotchas that made it more interesting than a typical form implementation.
  • Build a rating card component in Kotlin with Jetpack Compose. The card requires both a star rating and a written comment before the submit button becomes active. On successful submission, display a confirmation message. Note: Compose has no built-in rating bar, so you need to implement one from scratch.

“The form validation part was fine, pretty standard state management stuff.”

View Post

OpenAI·Machine Learning Engineer·Technical Phone Screen

Jun 2026
ML Engineer interview at OpenAI focused entirely on a dataset denoising problem. It was more rigorous than I expected for a single technical round, covering everything from noise characterization to evaluation protocol design.
  • Given a dataset you suspect has mislabeled examples, how would you characterize the noise? Walk through how you'd estimate per-class noise rates.
  • What denoising strategies would you consider, and what are the trade-offs between removing mislabeled examples versus relabeling them?
  • How would you design an evaluation protocol that gives you a reliable read on model quality when your test set may also contain label noise?
  • How do you assess data quality beyond label noise, such as detecting duplicates, class imbalance, or distribution issues?
  • Walk through how you'd use cross-validation predictions to identify likely mislabeled examples.

“This is where I spent most of my mental energy.”

View Post

OpenAI·Software Engineer·Onsite - System Design / Architecture

Jun 2026
Got a system design question at OpenAI for a software engineer role that was basically a full compiler/parser design problem. It was one of the most technically dense questions I've ever faced in an interview, covering everything from BNF grammar parsing to AST construction to incremental parsing. Left feeling like I only got through maybe 60% of what they were looking for.
  • You are given a set of syntax rules for a hypothetical programming language in BNF/EBNF format. Design the data structures and algorithms to parse that grammar into an internal representation, detect issues like left recursion and ambiguity, apply transformations to enable efficient parsing, compute FIRST/FOLLOW sets, implement a lexer and parser that builds an AST, support error recovery with expected-token hints, handle operator precedence and associativity, analyze time/space complexity, and optionally support incremental or streaming parsing.

“I stared at this for a solid 30 seconds before saying anything.”

View Post

OpenAI·Machine Learning Engineer·Technical Phone Screen

Jun 2026
Research presentation round at OpenAI for an ML engineer role. Walked through a paper I'd worked on and got grilled pretty hard on the reasoning behind every design choice.
  • What motivated you to pursue this particular research direction, and why did you frame the problem the way you did?
  • How did you arrive at this experimental design, and what alternatives did you consider before settling on it?
  • Why did you make specific implementation choices in the methodology, and what would change if you were to redo it now?

“This was the one I felt least prepared for even though it's about my own work.”

View Post

OpenAI·Software Engineer·Technical Phone Screen

Jun 2026
OpenAI software engineering interview that was basically one big design problem: build a GPU credit manager from scratch with expiry logic, atomicity, and clean complexity guarantees. The kind of question where you can tell pretty quickly if you've thought about resource scheduling before or not.
  • Design and implement a GPU credit manager where users have grants with expiration timestamps. It needs to support adding grants, consuming credits using earliest-expiry-first ordering, checking balance at a given time, and optionally refunding the most recently consumed credits. All operations should run in O(log n) time, and consuming more than the available balance should leave state unchanged.

“This is a meaty one.”

View Post