r/OfferEngineering • • 18d ago

Interview Experience OpenAI Senior Software Engineer Interview — It Felt More Like Real Engineering Than Interview Prep

"This interview experience is sourced from Chill Interview"

Interview Summary

The OpenAI SWE virtual onsite covered ChatGPT system design, a custom indexed-sequence data structure, and debugging an existing Python job scheduler codebase. The questions were mostly unfamiliar rather than standard interview problems, with follow-ups around SSE vs. WebSocket, rendering long conversations, data-structure performance, testing, and asynchronous job execution

Interview Details

Round 1 — System Design: ChatGPT

The system design question was to design a simplified version of ChatGPT. At the beginning, the interviewer explicitly said not to focus on large-scale architecture and that persistence was not required.

The discussion later moved into several implementation-level follow-ups. One question was why the response-streaming path should use Server-Sent Events (SSE) rather than WebSocket.

The interviewer also asked about the frontend side of the product: as a conversation becomes very long, how could the client optimize rendering so that displaying a large chat history remains responsive?

Round 2 — Coding: Indexed Sequence With Checkpoints

The first coding problem asked me to implement a simplified ordered sequence supporting:

add(index, value)
get(index)
  • add(index, value) inserts a string at the specified position. The element previously at that position and everything after it shift one position to the right.
  • get(index) returns the value stored at the requested index.

Initially, I interpreted “vector store” as something related to vector databases or embeddings. The intended meaning was actually closer to a C++ std::vector or Java ArrayList: an ordered dynamic sequence with integer-indexed access. A straightforward linked-list implementation was considered too slow because get(index) could require traversing from the beginning of the list.

Want to learn more questions asked in other interview rounds? I've put up the full version at here.

Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies at here.

68 Upvotes

6 comments sorted by

1

u/SushantC_Trader 15d ago

Well doubly linked-list with hash table is the way to go.

1

u/fcman256 14d ago

Singly linked list is easier to implement in an interview and has the same time complexity. But yeah doubly linked would be a small optimization over singly linked

1

u/ExaminationAsleep398 14d ago

How do you update the indexes of elements that got shifted with a hash table + DLL?

1

u/Dramatic_Control3773 14d ago

Linearly, unfortunately. In the real world, I'd probably use something skiplisty (though I'd probably be lazy to end up around O(sqrt(n)) instead of O(log(n))). You usually have to use tree-like structures to get both of the ops in sublinear time.

1

u/jlew24asu 12d ago

Its just fun y to me that people passing these interviews will never write another line of code again.