← Back to Directory

OpenAI interview notes, page 39 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

May 2026
OpenAI software engineer interview with a multi-part algorithmic problem built around grid-based infection spread. The question kept evolving with each follow-up and by part four I was pretty much improvising.
  • Given an m x n grid with empty cells, healthy people, and infected people, find the minimum number of minutes for all healthy people to become infected via 4-directional spread each minute. Return -1 if it's impossible.
  • Follow-up: some cells are immune and cannot be infected. How does your solution change, and when should you return -1?
  • Follow-up: multiple infection sources spread at different rates or with different infection probabilities. How would you model and solve this?
  • Follow-up: the grid receives streaming updates where new infected cells appear over time. How do you maintain the answer incrementally without recomputing from scratch?

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

View Post

OpenAI·Software Engineer·Technical Phone Screen

May 2026
Went through a technical phone screen for a SWE role at OpenAI centered entirely on implementing a cd command from scratch. The problem kept escalating in complexity across four parts, from basic path normalization all the way to symlink resolution and systems theory. Pretty intense for what sounds like a string problem on the surface.
  • Implement a cd() function that takes a current directory and a relative destination path, and returns the final normalized absolute path. It should handle .., ., repeated slashes, and trailing slashes.
  • Extend the cd() function to also support absolute destination paths (starting with '/') and the ~ home directory shorthand.
  • Further extend cd() to resolve symbolic links given a dictionary mapping symlink paths to their targets. Make sure symlink cycles are detected.
  • Why does cd have to be a shell built-in command rather than a standalone executable? And how does Linux resolve file paths at the OS level using inodes?

“I went with a stack pretty quickly, split both strings on '/' and processed tokens one by one.”

View Post

OpenAI·Software Engineer·Onsite - System Design / Architecture

May 2026
System design round at OpenAI for a backend/infrastructure role. The question was essentially 'build Stripe from scratch' and it went about as well as you'd expect if you haven't thought deeply about ledger consistency before.
  • Design a payment and order processing system that handles the full order lifecycle, integrates with external payment providers, maintains a double-entry ledger, supports multi-currency, and scales to high transaction volume without data loss or inconsistency.

“This question ate me alive for the first ten minutes.”

View Post

OpenAI·Software Engineer·Technical Phone Screen

May 2026
Got a coding round for a Software Engineer role at OpenAI that was basically a mini compiler/type-system problem. Not your typical leetcode grind, more like a design-plus-implementation hybrid that caught me off guard in a good way.
  • Implement a small type system for a toy language, including Node and Function classes with string formatting methods. Nodes can be primitives, generic type variables, or nested tuples. Functions have parameter types and a return type.
  • Given a Function with generic type variables in its parameter signature and a list of concrete argument types, implement a function that resolves the generics and returns the concrete return type. Must handle nested tuples, conflict detection when a generic is bound to two different types, and unresolved generics in the output.

“I spent way too long on the to_str formatting for nested tuples before even touching the Function class.”

View Post

OpenAI·Software Engineer·Onsite - System Design / Architecture

May 2026
Interviewed for a software engineering role at OpenAI and got a system design round focused on building a payment processor. Pretty classic infrastructure problem but the scope they expected was broader than I anticipated.
  • Design a payment processing system.

“Spent the first few minutes just trying to nail down scope because payment processors can mean a hundred different things.”

View Post

OpenAI·Machine Learning Engineer·Technical Phone Screen

May 2026
OpenAI ML engineer interview, technical round focused on transformer internals. They gave you a class skeleton and expected working code plus a real discussion about memory tradeoffs. Not a vibe check at all.
  • You're given a Transformer and attention layer skeleton. Implement a KV cache for autoregressive inference: cache K and V tensors per layer, append new token's K/V each step, run attention over the full cache, and make sure position embeddings reflect the correct offsets. Then discuss memory cost and how batched generation changes things.

“This was the bulk of the interview.”

View Post

OpenAI·Software Engineer·Onsite - System Design / Architecture

May 2026
System design round at OpenAI, staff-level vibes, the kind of question where you think you know the topic and then realize halfway through you've only ever thought about one layer of it. Multi-tenant SaaS is deceptively broad and they really did want all of it.
  • Design a multi-tenant SaaS platform. Walk through your approach to tenant isolation, auth, per-tenant config, noisy-neighbor problems, data residency, observability, billing, schema evolution, and onboarding and offboarding. Discuss the trade-offs between cost, isolation strength, and operational complexity.

“I started with the silo vs pool debate and felt pretty confident there, talked through separate databases vs shared schema with a tenant_id column and when you'd actually pick hybrid.”

View Post

OpenAI·Software Engineer·Onsite - Behavioral / Leadership

May 2026
Behavioral round at OpenAI for a software engineer role. The interviewer was thorough and kept digging into every answer with follow-ups, which made even the straightforward questions feel like a lot.
  • Tell me about a time you gave or received constructive feedback.

“The follow-ups were relentless.”

View Post

OpenAI·Software Engineer·Technical Phone Screen

May 2026
Interviewed for a Research Scientist role at OpenAI and got hit with a pretty gnarly backprop derivation question that required more matrix calculus than I'd touched in a while. The kind of question where you know the concept but the notation trips you up under pressure.
  • Consider a neural network where each layer's weight matrix is defined as the product of all preceding weight matrices. Given an input vector and a scalar loss, derive the gradient of the loss with respect to each individual weight matrix in the product chain, and implement the backward pass while minimizing redundant matrix multiplications.

“This wrecked me a little.”

View Post

OpenAI·Software Engineer·Onsite - System Design / Architecture

May 2026
OpenAI system design round for a software engineer role, one meaty question about building a memory allocator from scratch. The kind of problem where you think you know what they want and then realize halfway through you're missing something fundamental.
  • Design and implement a memory allocator that supports allocate(size) and free(pointer) operations, both running in O(log N) time where N is the number of free intervals. The allocator manages a fixed memory region and must merge adjacent free intervals on free.

“I started with a sorted list of free intervals keyed by start address, which is the obvious move, but then they pushed on how you'd find a free block of a given size efficiently without scanning the whole thing.”

View Post