← Back to Directory

OpenAI interview notes, page 50 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·Onsite - System Design / Architecture

Jun 2026
System design round at OpenAI for a software engineering role, focused entirely on building an async video generation orchestration system. Pretty intense scope, lots of follow-ups that pushed into edge cases I hadn't fully thought through.
  • Design a scalable system to orchestrate AI text-to-video generation. Users submit prompts, need to track job status throughout the day, and get notified when a job finishes or fails.
  • The generation backend calls a webhook on completion, but webhooks can be lost or duplicated. How do you guarantee a job eventually reaches a terminal state without relying solely on the webhook?
  • GPU capacity suddenly drops by half. How does your system handle the load fairly, keep paid users served, and prevent the queue from growing unbounded?
  • A user submits the same prompt three times in quick succession due to a flaky connection and double-clicks. Walk through exactly how your system avoids generating the video three times, and where the idempotency check happens.
  • You're seeing many jobs stuck in the running state well beyond the p99 generation time. How do you detect them, figure out what's wrong, and recover without double-charging or double-notifying the user?

“This is the main question and it ate the whole session.”

View Post

OpenAI·Software Engineer·Technical Phone Screen

Jun 2026
Interviewed at OpenAI for a software engineering role and got hit with a grid simulation problem that looked straightforward but had a few edge cases that tripped me up.
  • Given a 2D grid where each cell is either healthy (0), infected (1), or immune (-1), simulate infection spreading to adjacent healthy cells each minute. Return the minimum number of minutes to infect all healthy cells, or -1 if it's not possible.

“My first instinct was BFS and I got that part right.”

View Post

OpenAI·Machine Learning Engineer·Technical Phone Screen

Jun 2026
OpenAI ML Engineer interview that was basically a mini language implementation challenge. You build a tiny interpreter from scratch, handle variable assignment, arithmetic, and some control flow, then show what state the program ends up in. More CS fundamentals than ML, which threw me a bit.
  • Build a small interpreter for a toy language: support variable assignment, arithmetic expressions, and basic control flow, then return the resulting program state or output.

“Spent the first few minutes overthinking the parser design when I should've just started with a simple recursive descent approach.”

View Post

OpenAI·Data Scientist·Technical Phone Screen

Jun 2026
SQL-heavy technical screen for a DS role at OpenAI. One question, but it was dense enough to chew on for a while. The kind of problem where you think you're done and then realize you forgot to handle the multi-trial-start edge case.
  • You're analyzing an A/B test for a free trial campaign. Given tables for experiment assignments, trial starts, and user sessions, write a single SQL query that returns per-variant counts of assigned users, converted users, signup rate, retained users, and retention rate among converters. Conversion is defined as starting a trial within 7 days of assignment, and D30 retention means having at least one session in the window 30 to 37 days after the trial started. Use the earliest qualifying trial start if a user has multiple.

“The multi-trial-start rule is where I got tripped up.”

View Post

OpenAI·Software Engineer·Onsite - Coding / Algorithms

Jun 2026
Two pretty dense coding problems for an OpenAI SWE loop, one graph simulation and one snapshot data structure. The problems kept growing with follow-ups so it felt less like two questions and more like six.
  • Given a contact graph of n people and an initial set of infected individuals, find the minimum number of days until everyone is infected, or return -1 if some people can never be infected.
  • Extend the disease spread model so that some people are initially immune. Immune people can't be infected and don't transmit. Return the number of days until no new infection can occur, and be ready to report which susceptible people were never infected.
  • Further extend the model so infected people recover and become immune after a fixed number of days. Return the first day when the system is stable, meaning no infected people remain and no future infections are possible.
  • Add a Dead state to the disease model. Each person either recovers or dies after a fixed number of days. Dead people can't be infected or transmit. Return the day the system stabilizes and the final count of people in each state.
  • Design and implement a FriendCircle class supporting follow, unfollow, snapshot, and getFriends operations where snapshots are immutable captures of the follow graph at a point in time.
  • Add a recommendFriends operation to the FriendCircle class that, given a snapshot and a user, returns up to k recommended users ranked by number of mutual intermediate followers (two-hop candidates).
  • Add a diffFriends operation that compares two snapshots for a given user and returns which users were added to and removed from their follow list between the two snapshots.

“BFS from all initially infected nodes at once, basically a multi-source BFS.”

View Post

OpenAI·AI Engineer·Technical Phone Screen

Jun 2026
OpenAI AI Engineer interview with a pretty gnarly math/probability question about optimal restart strategies for LLM inference. The whole thing was centered on one problem with layered sub-questions, and it got deep fast.
  • You have an LLM solving a math problem where the time to a correct answer follows a known heavy-tailed distribution. You can abort and restart at any time, with each attempt drawing independently from the same distribution. Can you design a restart strategy that achieves a lower expected total time than just letting a single attempt run to completion?
  • For a single-threshold restart strategy where you abort and restart whenever elapsed time exceeds a fixed threshold T, derive the expected total time as a function of T and find the value of T that minimizes it.
  • Design a strategy that strictly outperforms the best single-threshold policy in terms of worst-case performance. You can consider a deterministic schedule of multiple restart thresholds or a randomized restart policy.

“The setup took me a minute to internalize.”

View Post

OpenAI·Software Engineer·Onsite - Coding / Algorithms

Jun 2026
OpenAI SWE interview with a debugging-heavy coding round. They handed you a broken distributed job scheduler in Python and told you to fix it, write tests proving it was broken, then measure performance. Not your typical leetcode session.
  • You're given a buggy Python distributed job scheduler with concurrency issues. Find and fix the bugs, including data races, deadlocks, lock contention, and rate limiting failures.
  • Write tests that reproduce the original bugs in the scheduler, then verify those bugs are gone after your fixes.
  • Measure and report execution metrics for the scheduler: per-job start and end times, total runtime, and success rate across a given job set.

“This is the kind of question where reading the code carefully matters way more than knowing some clever algorithm.”

View Post

OpenAI·Software Engineer·Onsite - Coding / Algorithms

Jun 2026
OpenAI SWE interview with a meaty systems question: build a real async message bus from scratch, not just sketch one on a whiteboard. The kind of problem where the details actually matter and hand-waving gets you nowhere.
  • Implement a runnable async message bus: support registering multiple nodes with receiveMessage callbacks, ensure delivery is asynchronous via a queue and dispatch loop or thread pool, then use it to simulate a full distributed workflow like node counting or topology reconstruction. Write tests for correctness, concurrency with multiple in-flight requests, and optionally deduplication under duplicate deliveries.

“This one took me a while to even scope properly.”

View Post

OpenAI·Software Engineer·Onsite - System Design / Architecture

Jun 2026
System design round at OpenAI for a software engineer role, focused entirely on building a payment processing service sitting between merchants and payment providers. Four parts covering architecture, data modeling, consistency, and scaling. Pretty intense for a single session.
  • Sketch the end-to-end architecture for a payment processing service that sits between merchants and upstream payment providers. Walk through a single successful charge from the merchant's API call to the response, including where authentication and validation happen, how the request reaches the provider, what state transitions occur, and what the merchant sees synchronously versus what's deferred.
  • Define the core API (create charge, capture, refund, get status) and the underlying data model. Specifically, how do you ensure a retried or duplicated request never results in a double charge?
  • A provider call times out and you don't know whether the card was actually charged. How do you keep the system consistent? Describe your source of truth, how you resolve unknown outcomes, and how async capture, settlement, and reconciliation work.
  • How do you scale this service to thousands of charge requests per second, isolate a slow or failing upstream provider from affecting the rest of the system, deliver webhooks reliably, and maintain visibility into system health and financial correctness?
  • How would you support separate authorization and delayed capture, where funds are held at order time and captured later at shipment? Include how you'd handle authorization expiry.
  • A merchant resubmits a request using the same idempotency key but with a different amount. What do you return and why?
  • Walk through end-of-day reconciliation where the provider's settlement file lists a charge your system has no record of. What happens?

“This is the kind of question where you can spend 20 minutes just on the intro and still feel like you haven't said anything.”

View Post

OpenAI·Software Engineer·Onsite - System Design / Architecture

Jun 2026
System design round at OpenAI for a software engineering role. One massive question covering basically every layer of CI/CD you can imagine, from source control all the way down to cost and on-call playbooks. Felt like they wanted to see how far you could go before you started handwaving.
  • Design a production-grade CI/CD pipeline for a large engineering org running dozens of microservices in a monorepo. Walk through the full architecture layer by layer, including source control strategy, build orchestration, testing, deployment, rollback, security, scheduling, scalability, cost, and KPIs.
  • How would you handle monorepo path filtering and change detection to avoid rebuilding every service on every commit?
  • Walk through how you'd design the job scheduler that orchestrates pipeline steps, including DAG modeling, concurrency limits, retries, and the supporting data stores and APIs.
  • How do you handle flaky or nondeterministic tests in a large CI system, and what's your strategy for keeping them from blocking deployments?
  • Compare blue-green, canary, and rolling deployment strategies. When would you choose each, and how do you handle database migrations across them?
  • How would you implement automated metric-gated rollback and what observability signals would you use to trigger it?
  • What security controls would you build into the pipeline, covering things like secret scanning, artifact signing, SBOM generation, and policy gates?
  • How do you approach multi-tenant isolation and fairness in a shared CI platform, and how do you prevent one team's workload from starving others?
  • What KPIs and SLOs would you define for a CI/CD platform, and what does your on-call runbook look like for a failed production deployment?

“This question is basically a gauntlet.”

View Post