Candidates who interviewed at OpenAI in 2025 describe a recruiter screen, a live coding screen on a practical build problem, a system design round, and a final round of two to four interviews that includes one behavioral session. Reported design prompts were Slack and GitHub Actions; reported coding prompts were an in-memory database and a problem with many cases to handle rather than a known algorithm. The one new grad report describes a two-hour online assessment with two very hard problems.
Outcomes in these reports were mixed. Two US software engineers received offers in mid-2025, while the August 2025 San Francisco candidate, the January 2025 San Francisco candidate and the April 2025 senior iOS candidate did not.
OpenAI interview process round by round
| Round | Duration | What it tests |
|---|---|---|
| Recruiter screen | ~30 min | Background, why OpenAI; sometimes a technical question |
| Online assessment (new grad) | ~2 hours | Two hard problems |
| Technical screen | ~60 min | Practical coding with a growing set of requirements |
| System design | ~60 min | A real product such as Slack or GitHub Actions |
| Final round | 3+ interviews | More coding and design, plus behavioral |
OpenAI interview process in 2025: reports by role
These come from self-reported 2025 write-ups on Taro (jointaro.com). Each is one candidate’s account.
- Software engineer, US (July 2025, offer). Recruiter screen, a live coding challenge, a system design round to design GitHub Actions from scratch, and a final round of two technical interviews and one behavioral interview. The candidate called it a standard process with questions that were a little tough, and advised LeetCode practice plus architecture fundamentals.
- Software engineer, US (June 2025, offer). The only question the candidate listed was a LeetCode problem. Their advice was to think it through yourself and use ChatGPT for prep if needed.
- Software engineer, San Francisco (August 2025, no offer). Two one-hour rounds: system design on Slack with a detailed architecture review, then a coding problem that was not algorithm-heavy but required covering many use cases.
- Software engineer, San Francisco (January 2025, no offer). A 30-minute recruiter call that included a technical question: build an in-memory database in any language. The candidate thought it was fair and practical but was unsure what the interviewer wanted.
- Software engineer new grad, US (November 2025, no offer). An online assessment of two very hard problems over about two hours. The candidate could not see how either was meant to be solved.
- Senior iOS engineer, San Francisco (April 2025, no offer). Recruiter screen, a technical screen with an engineer, then two full-length coding and system design interviews. Prompts: implement a chat feature in an existing app, design usage limits, and refactor chatbot code. Two hiring manager interviews were scheduled, but an automated rejection arrived first.
Detailed interview experiences
Experience 1: Software engineer, US (offer, July 2025)
Recruiter screen: First step; the candidate gave no details of the questions.
Live coding challenge: The candidate did not share the problem, but said the questions overall were a little tough and that LeetCode practice helped.
System design: Design GitHub Actions from scratch. A strong answer covers the event intake from webhooks, a scheduler that turns a workflow file into a job graph, isolated runners, log streaming, and retries when a runner dies.
Final round: Three interviews, two technical and one behavioral.
Result: Offer.
Takeaways
- What decided it: Getting through both technical styles, a timed coding problem and a design round on a developer tool.
- How to practice: Mix timed algorithm problems with one design prompt on a developer tool each week.
Experience 2: Software engineer, San Francisco (no offer, August 2025)
Round 1, system design (60 min): Design Slack, followed by a detailed review of the architecture the candidate drew.
Round 2, coding (60 min): A generic problem that was not LeetCode-style, where the work was handling many use cases correctly.
Result: No offer.
Takeaways
- Common fail: Running out of time on case coverage. List the cases before coding and build the simple path first.
- How to practice: Take a messaging system design and go two levels deeper than the first diagram: fan-out for large channels, message ordering, offline catch-up.
Experience 3: Software engineer, San Francisco (no offer, January 2025)
Recruiter call (30 min): Asked to build an in-memory database in any language during the call.
Result: No offer. The candidate said the question was fair and more practical than LeetCode but was unsure what the interviewer was looking for.
Takeaway: When a prompt is open-ended, ask what operations matter (get, set, delete, transactions, counts) and confirm before coding.
Experience 4: New grad, US (no offer, November 2025)
Online assessment (~2 hours): Two very hard problems, which the candidate did not disclose. They could not solve either and noted that an AI tool also failed on them afterward.
Result: No offer.
Takeaway: New grad OAs at OpenAI, when they happen, are harder than most big-tech OAs. Practice hard graph, design and simulation problems under a two-hour limit.
Experience 5: Senior iOS engineer, San Francisco (no offer, April 2025)
Recruiter screen, then a technical screen with an engineer, then two full-length interviews on coding and system design.
Questions: Implement a chat feature in an existing application; how you would design a system to enforce usage limits; refactor some chatbot code.
Result: Rejected by automated email before the two scheduled hiring manager interviews; follow-up emails went unanswered.
Takeaway: Mobile loops still include backend design. Prepare a usage-limit design that covers tokens, windows, and what the app shows the user when a limit hits.
OpenAI interview questions that come up often
Coding
- Build an in-memory database (then add transactions)
- A spreadsheet with cell formulas, recalculation and caching
- Implement a chat feature in an existing app
- Refactor existing chatbot code
- Design SQL, Flatten Nested List Iterator, Design Excel Sum Formula (listed against OpenAI on Taro)
System design
- Design Slack
- Design GitHub Actions from scratch
- Design a system to enforce usage limits
Behavioral
- Why OpenAI?
- Why are you looking for a new role?
- Tell me about a time you disagreed with your manager
OpenAI interview tips from these candidates
- Expect practical problems. Two of the three 2025 coding reports describe build tasks, not known algorithms.
- Still practice timed algorithms. The July 2025 offer holder and the new grad OA both point to hard problems under time pressure.
- Prepare one messaging design (Slack) and one developer-tool design (GitHub Actions) in detail.
- Follow up in writing after the final round, and expect that some teams reply slowly or not at all.
OpenAI behavioral round in these reports
The July 2025 offer holder’s final round had one behavioral interview next to two technical ones, and the senior iOS loop had two hiring manager interviews planned at the end. Questions center on why OpenAI, disagreement and failure. Sample answers are on the OpenAI behavioral interview questions page, and round-by-round prep is on the OpenAI interview questions hub.
Sample answers for high-frequency questions
Q. Build an in-memory database.
A. Start with a hash map for get, set and delete. Add transactions as a stack of layers, each holding pending writes and deletes; reads check layers from the top down, ROLLBACK pops a layer, COMMIT merges it downward. If counts by value are asked, keep a value-to-count map updated on every write so the query is O(1). Confirm nested transaction behavior before coding.
Q. Design Slack.
A. Clients hold WebSockets to a gateway tier. A sent message is written to a store partitioned by channel with a per-channel sequence number, then published to a fan-out service that pushes it to the gateways holding members’ connections. Offline members get push notifications and catch up from history using the sequence number. For very large channels, switch to a pull model, and run search as a separate indexing pipeline.
Q. Design a system to enforce usage limits.
A. A token bucket per API key in Redis, updated with one atomic script at the gateway, handles per-minute limits. For costs known only after the request, such as output tokens, reserve an estimate and settle afterward. A billing pipeline is the source of truth for monthly caps. Return 429 with Retry-After and expose remaining quota in headers.
OpenAI interview tips from these reports
Coding rounds
- A January 2025 candidate built an in-memory database during a 30-minute call.
- An August 2025 candidate said the hard part was covering many use cases, not the algorithm.
Design rounds
- Reported prompts: Slack, GitHub Actions, usage limits.
- Interviewers review your architecture in detail after the first pass.
Final round
- The July 2025 offer came after two technical interviews and one behavioral interview.
- Some candidates heard nothing after finals, so follow up.
Sources
- Taro: software engineer, US, July 2025
- Taro: SWE, US, June 2025
- Taro: software engineer, San Francisco, August 2025
- Taro: software engineer, San Francisco, January 2025
- Taro: new grad, US, November 2025
- Taro: senior iOS engineer, San Francisco, April 2025
Similar companies
Palantir · Tesla · SpaceX · TikTok · NVIDIA · Google · Stripe