← Back to Directory

OpenAI interview notes, page 28 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·Machine Learning Engineer·Online Assessment (OA)

May 2026
OpenAI MLE interview with a contagion/infectious disease simulation problem that kept adding layers. The later sub-questions got genuinely tricky and my solutions did not hold up under the test cases.
  • Simulate an infectious disease spreading through a grid of plants. The first three parts follow a standard contagion model (matching problems described in other posts). In part four, a non-dead plant dies after D days if it has at least K infected neighbors at any moment, but if it has between T and K infected neighbors (T <= K), it instead enters a recovery countdown and recovers after D days. How do you model these competing state transitions correctly?
  • Extending the simulation: starting from day 1, you can choose to burn one entire row or one entire column per day. Design a strategy to minimize the total number of dead plants by the end of the simulation.

“The first three parts were manageable since there are existing writeups floating around.”

View Post

OpenAI·Software Engineer·Technical Phone Screen

May 2026
TypeScript type-system deep dive at OpenAI. The whole session basically revolved around conditional types and inference mechanics, which I thought I knew well enough until they started asking about edge cases.
  • Implement a utility type that extracts the return type of a given function type using the `infer` keyword, similar to how the built-in `ReturnType<T>` works.
  • How does TypeScript handle `ReturnType` when applied to overloaded functions, and what does the inference actually resolve to?
  • What does your `ReturnType` utility produce when the input is a generic function, and what are the limitations of that inference?
  • If you apply your `ReturnType` utility to an async function, what type do you get back, and how would you unwrap the inner type?

“I wrote out `type MyReturnType<T> = T extends (...args: any[]) => infer R ?”

View Post

OpenAI·Software Engineer·Technical Phone Screen

May 2026
Interviewed for a software engineering role at OpenAI and got hit with a multi-part grid problem that escalated pretty fast. Parts 1 and 2 were manageable BFS territory but part 3 had a timing edge case that genuinely tripped me up.
  • Given a grid where cells are empty, healthy, or infected, find the minimum number of minutes until all healthy units are infected via 4-directional spread. Return -1 if any healthy unit can never be reached.
  • Using the same grid, count how many healthy units can never be reached by the infection regardless of how much time passes.
  • Extend the grid infection simulation so that any healthy unit still uninfected after exactly x minutes of spreading gains permanent immunity and cannot be infected afterward. Return the count of surviving healthy units at steady state.

“Classic multi-source BFS and I knew it immediately.”

View Post

OpenAI·Software Engineer·Technical Phone Screen

May 2026
OpenAI SWE interview that centered on a file deduplication coding problem, then kept going into optimization and distributed systems territory. The follow-ups were the real meat of it.
  • Given a collection of files represented as paths with content or metadata, find and return all groups of duplicate files.
  • How would you optimize this for time and space, especially when dealing with large files?
  • How would you design this deduplication system to work at scale across a distributed environment, handling partitioning, skew, fault tolerance, and consistency?

“Started with a hash map keyed by content, which works but I didn't immediately think about the cost of hashing large files.”

View Post

OpenAI·Software Engineer·Online Assessment (OA)

May 2026
Got an OA for a SWE role at OpenAI and it was basically a straightforward key-value store implementation. Nothing too crazy, but the constraints meant you had to actually think about efficiency rather than just brute-forcing it.
  • Build an in-memory key-value store from scratch that supports PUT, GET, DEL, and COUNT operations, reading from stdin and printing results to stdout within roughly linear time overall.

“Looks dead simple until you actually sit down and think about COUNT.”

View Post

OpenAI·Software Engineer·Technical Phone Screen

May 2026
OpenAI SWE interview with a filesystem path resolution problem that started straightforward and then got progressively messier with the symlink follow-up. The kind of question that feels deceptively simple until you're thirty minutes in and suddenly dealing with cycle detection.
  • Implement a simplified Unix-style cd command: given a current working directory and a target path, return the resolved absolute path. Must handle absolute and relative paths, dot and double-dot segments, and redundant slashes.
  • Follow-up: extend the cd implementation to support symbolic links. A symlink map provides src-to-dst mappings. How do you handle symlinks in the middle of a path, multi-hop chains, and cycles?

“The base version felt manageable.”

View Post

OpenAI·Machine Learning Engineer·Technical Phone Screen

May 2026
Interviewed for an MLE role at OpenAI. The core problem was around data mining at scale, specifically how you'd surface novel or useful examples from a massive unlabeled dataset. Pretty open-ended, which I wasn't fully prepared for.
  • You have a very large unlabeled dataset. How would you design a system to extract novel or high-signal examples from it, for example to find images containing specific objects of interest?

“This is one of those questions where the scope is so wide you can talk yourself in circles.”

View Post

OpenAI·Software Engineer·Onsite - System Design / Architecture

May 2026
System design round at OpenAI for a software engineering role. The whole thing was one big open-ended question about video generation infrastructure, and it went deep fast. Walked away feeling like I'd covered maybe 60% of what they wanted.
  • Design the backend system for a video generation service similar to Sora. A user submits a request and you need to design the full scheduling and worker pipeline end to end, covering request queuing, worker assignment, GPU pool integration, progress tracking, failure handling with retry and resume, idempotency, cost and priority scheduling, and SLAs for long-running jobs. Each worker can only process one video at a time, the GPU pool size fluctuates, and workers can be terminated at any time.

“This is one of those questions that sounds like a single question but is actually eight questions stacked on top of each other.”

View Post

OpenAI·Data Scientist·Take-home Assignment

May 2026
Got a take-home style SQL problem for a Data Scientist role at OpenAI, centered on analyzing a free trial A/B test from raw event logs. The schema was realistic and messy in the way production tables actually are, which I appreciated even if it made the metric definitions trickier to implement cleanly.
  • Given raw event log tables for experiment assignments, offer exposures, subscription lifecycle events, and app sessions, write SQL that outputs one row per variant showing assigned users, 7-day trial signups, signup rate, D30 retained users, and retention rate.
  • What does an upstream data pipeline need to contain to make these A/B test metrics reliably computable?

“The metric definitions looked clean on paper but the SQL got complicated fast.”

View Post

OpenAI·Machine Learning Engineer·Technical Phone Screen

May 2026
Interviewed for an ML Engineer role at OpenAI and got a coding question that was basically 'build a key-value store from scratch.' Felt like a systems fundamentals check more than anything ML-specific, which I wasn't fully expecting.
  • Design and implement an in-memory key-value store supporting insert, get, and delete, with average O(1) time complexity for each operation. Explain your data structure choices and the time and space complexity of your approach.

“Pretty much a hash map question at its core, but they wanted me to actually talk through why, not just write the code.”

View Post