← Back to Directory

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

May 2026
System design round at OpenAI for a software engineer role. The core problem was building an image-sharing service with deduplication, and it went pretty deep pretty fast.
  • Design an image-sharing service where users upload and retrieve images by their own user/image ID, but the system stores only one physical copy when two users upload byte-identical images.

“This is a meaty one.”

View Post

OpenAI·Software Engineer·Technical Phone Screen

May 2026
OpenAI SWE interview with a distributed systems problem that had almost no constraints given upfront. You had to implement a message handler and basically define the problem yourself as you went.
  • You're given a distributed system with a known machine count and a network topology. Implement a receiveMessage function that updates local state when a machine receives a message and delivers it according to appropriate semantics. No constraints or examples are provided.

“The part that tripped me up was there were no delivery semantics specified, no examples, nothing.”

View Post

OpenAI·Software Engineer·Technical Phone Screen

May 2026
OpenAI SWE coding round built around a single cellular automaton problem that expands across five increasingly brutal sub-parts. The core pattern is multi-source BFS on a grid, but the later parts layer in per-cell state tracking that breaks the clean BFS skeleton. Passing bar is reportedly finishing the first three parts cleanly within the hour.
  • Given an M×N grid with some initially infected cells and the rest healthy, simulate infection spreading to all 4-directional neighbors simultaneously each day. Return the number of days until every cell is infected, or -1 if full infection is impossible.
  • Extend the infection simulation to include immune cells that can never be infected and never propagate. Return days until all reachable healthy cells are infected, or -1 if any healthy cell is permanently walled off by immune cells.
  • Add a recovery mechanic: after being infected for D days, a cell becomes permanently immune and stops spreading. Return the number of days until no active infections remain anywhere in the grid.
  • Further extend the simulation with threshold-based infection: a healthy cell only becomes infected if it has at least K infected neighbors. Alternatively, add a death mechanic where infected cells with K or more infected neighbors begin a death countdown. Return relevant counts or timings depending on the variant.
  • Each day you can choose one row or column and eliminate all cells in it. Design a strategy to minimize total deaths across the grid.

“This is basically rotting oranges with a coat of paint.”

View Post

OpenAI·Machine Learning Engineer·Technical Phone Screen

May 2026
Interviewed for an ML Engineer role at OpenAI and got hit with a full Transformer block implementation question. Not a conceptual walkthrough, they wanted actual code plus a real conversation about why each piece exists. Pretty intense for a single session.
  • Implement a full Transformer encoder block from scratch in PyTorch or NumPy, including scaled dot-product attention, multi-head attention with Q/K/V and output projections, positional encoding, residual connections, LayerNorm, and the feed-forward sublayer. Be prepared to discuss time/space complexity and explain the role of each component.

“This is the kind of question where you think you know Transformers until you have to actually write them line by line under pressure.”

View Post

OpenAI·Software Engineer·Technical Phone Screen

May 2026
OpenAI SWE interview with a meaty system design coding problem around task scheduling. The problem had a lot of moving parts and the fairness/balancing angle made it trickier than a standard scheduler question.
  • Design and implement an incremental task scheduler for a data-labeling platform. Tasks arrive in daily batches and must be assigned to (task, model, human) triples. Each human can only take one task per day, no task gets assigned twice in a day, and a human can never be assigned the same task they labeled before. Assignments should stay balanced across humans and models over time, and the scheduler must support incremental updates using maintained state rather than recomputing from scratch each day.

“This one took me a while to even parse.”

View Post

OpenAI·Software Engineer·Onsite - Behavioral / Leadership

May 2026
Behavioral round at OpenAI for a software engineering role, and it was almost entirely about AI safety views rather than anything technical. Four big questions, all interconnected, and the interviewer clearly wanted to see whether you'd actually thought about this stuff or were just reciting talking points.
  • What does AI safety mean to you, and which risks concern you most across both current systems and more capable future ones?
  • How do you think AI will affect human work, and what responsibilities do people building these systems have toward workers who get displaced?
  • What do you see as the broader economic and societal effects of AI, both positive and negative?
  • How would your views on AI safety actually change the way you build and ship things day to day as an engineer here?

“This is the kind of question where saying something vague like 'I care about responsible AI' will absolutely not land.”

View Post

OpenAI·Software Engineer·Technical Phone Screen

May 2026
Interviewed for a software engineer role at OpenAI and got a coding question around IP address handling, specifically extending an IPv4 validator to support CIDR notation.
  • Given a function that validates IPv4 addresses, extend it to also handle CIDR notation (e.g. 192.168.1.0/24).

“Felt fine about the base IPv4 part but the CIDR extension tripped me up a bit.”

View Post

OpenAI·Software Engineer·Recruiter / HR Screen

May 2026
Short OpenAI SWE screen, basically just the one motivational question from what I can tell.
  • Why do you want to work at OpenAI?

“Pretty standard opener but I still fumbled it a bit.”

View Post

OpenAI·Software Engineer·Onsite - System Design / Architecture

May 2026
System design round at OpenAI for a software engineer role. The whole session was basically one big question about building a GPU credit management system, which sounds straightforward until you start pulling on the concurrency and expiration threads.
  • Design a GPU credit manager for a compute cluster. It needs to support granting, consuming, and refunding credits per user, querying a user's balance, and retrieving the top K users by balance. Also enforce per-user caps, optional org-level aggregate caps, optional credit expiration, no negative balances, and thread safety. Target O(log n) per operation. Walk through data structures, pseudocode for each API, and complexity analysis.

“This one took me a second to scope properly.”

View Post

OpenAI·Software Engineer·Onsite - System Design / Architecture

May 2026
System design round at OpenAI for a software engineer role. The core problem was around shard rebalancing across overlapping ranges, which sounds manageable until you're twenty minutes in and questioning every data structure you've ever learned.
  • Given a collection of ranges each with a start and end, design an algorithm to assign or rebalance shards across those ranges so that the number of overlapping assignments within any single range stays within a given limit. Walk through your data structures, handle edge cases like fully nested ranges and identical endpoints, and analyze time and space complexity.

“I went straight to a sweep-line approach and started talking through a sorted event list, open events, active shard counts.”

View Post