Hiring for this role?

Start free with this plan

Free for your first open role.

Why Hirezen?
  • Every interviewer runs the same script and marks the same signals.
  • AI drafts the write-ups, and the debrief puts every read side by side.
  • No ATS to set up first, and no bot in the call.

Game Developer interview questionsTechnical Interview round

A 60 min interview plan with a time-boxed script, what each question is for, and the signals to score against. Key skills: Game performance and profiling from a real frame capture: telling a GPU-bound frame from a CPU-bound one, grouping hitches by cause — garbage collection, shader pipeline compilation, a blocking load, physics catching up — proving a fix on the minimum-spec PC rather than a workstation, and spending the last millisecond with art and design instead of around them.

Opening

Who is interviewing, how the round will run, and a question to settle the candidate in. The standard opening

Where the median frame went

18 min
What this part is for

Purpose

Runs over a one-page capture summary you build yourself, handed over at the start and read in silence for three minutes. Write it to this composition so every candidate reads the same frame. The machine is the minimum-spec PC from the store page — six CPU cores, an 8 GB GPU, 16 GB of RAM — at the Medium preset, with a 60 fps target (16.7 ms), vsync and dynamic resolution off for the capture, in a development build with profiling markers; gameplay scripts run on a garbage-collected runtime. The scene is the market square, the busiest in the game: four players and 180 NPCs, each NPC with a world-space nameplate. Sixty seconds, 3,175 frames: median 18.4 ms, p99 23.4 ms, maximum 96 ms, 16 frames over 33.3 ms. The median frame by thread: the game thread does 12.1 ms of work — animation 3.4 (all 180 NPCs updated every frame), physics 2.4 (one step at a fixed 60 Hz, at most four steps per frame), AI 1.9, gameplay scripts 1.5, UI 1.1, other 1.8 — and then waits 6.0 ms on the render thread and GPU; the render thread does 7.4 ms, 4.1 of it submitting 4,850 draw calls; the GPU takes 17.9 ms — base pass 5.4, shadows 3.6, volumetric fog 3.1, transparency and particles 2.2, post-processing 1.9, other 1.7. A spike table lists the 16 long frames: eleven of 38–46 ms, one every five to six seconds, each holding a 21–28 ms garbage collection on the game thread; two of 52 ms at 0:18 and 0:33, each a 33 ms blocking load of the same `market_props` package, which the log shows being unloaded at 0:27; three of 58, 71 and 96 ms on the render thread at 0:41, 0:44 and 0:52, marked as pipeline state compilation — the first two when the camera first turns toward the fountain, the third on the first firework. One line under the table: in the one or two frames after each spike, physics runs two to four steps and takes 4.8–9.6 ms. Managed allocations average 162 KB per frame — nameplate text formatting 96 KB, AI target-query lists 51 KB, other 15 KB. Memory: 9.8 of 16 GB system and 6.9 of 8 GB video, both flat for the minute. Plant nothing else. The draw-call count is the red herring — the render thread is inside its budget and waiting too — and the flat memory is deliberately correct for sixty seconds while saying nothing about three hours. Reserve 70 minutes of calendar; the questions at the end are not part of the 60.

•

I'm [YOUR_NAME], and I work on game performance at [COMPANY_NAME]. This is a technical interview without a whiteboard or trivia: you get one page from a profiler, captured on the slowest PC we support, and we spend the hour on what it says.

What this line is for

Purpose

Tells a candidate who prepared for engine trivia that the hour is about reading evidence, so the first minutes go into the page rather than into recalling definitions.

•

Take three minutes with it before you say anything. It is our busiest scene and the target is 60 frames a second. Not everything on the page is a problem.

What this line is for

Purpose

Gives permission to read quietly, and says without pointing that some lines are fine — so setting the draw-call count aside is the candidate's call rather than the interviewer's.

•

Start with the median frame. Where did the 18.4 milliseconds go, what is setting the frame rate, and what would you change first to get under 16.7 on this machine at this preset?

What this question is for, and what to listen for

Purpose

The separator is whether the candidate reads the wait. Every thread's work fits inside 16.7 ms except the GPU's, and the game thread spends a third of the frame waiting for it — so the largest CPU number on the page, animation, is the one that changes nothing today.

Signals to score

  • Calls the frame GPU-bound from the 6.0 ms the game thread spends waiting, before proposing any change
  • Says that cutting animation or AI time will not move the median until the GPU is under budget, and explains why
  • Works out how much the GPU has to give back — at least 1.2 ms, and more as headroom for heavier moments — instead of "as much as possible"
  • Goes through the GPU passes by cost with a mechanism for each: a coarser fog volume leaning on temporal reprojection, shorter or fewer shadow cascades, distant cascades updated less often, transparency at reduced resolution
  • Places the 4,850 draw calls on the render thread, and notes that thread has headroom and is waiting as well
  • Asks whether dynamic resolution ships on, and treats it as a floor under the frame rate rather than the fix
  • Says what the development build and the markers add, and that they inflate CPU timings more than GPU ones
  • Names the next limit once the GPU fits — the game thread at 12.1 ms with every NPC animated every frame — and what they would change there
  • Checks the result with a second capture of the same scene on the same machine, not with a number from their own PC

Follow-up questions

  • The game thread spends 6.0 ms doing nothing. What is it waiting for?
  • Animation is the biggest number on the game thread. Halve it tomorrow — what happens to the median?
  • 4,850 draw calls sounds like a lot. Is it your problem this week?
  • How much does the GPU have to give back, and why not exactly 1.2 ms?
  • Once the GPU is under budget, which thread do you expect to be the limit next?

The frames players notice

18 min
What this part is for

Purpose

Moves from the median to the spikes, which are what a player calls stutter. Sixteen frames out of 3,175 are the whole section: three causes on two threads, and each of them drags the frame after it.

•

Leave the median for now. Players don't write reviews about 18 milliseconds; they write them about the frames in that spike table.

What this line is for

Purpose

Turns the candidate toward the frames players feel without saying how many causes the table holds.

•

Take the sixteen frames over 33 milliseconds. Group them by cause, tell me what you would capture next to be sure of each group and what the fix is — and tell me about the frames straight after them.

What this question is for, and what to listen for

Purpose

Tests whether the candidate groups hitches by mechanism and thread rather than by size, and whether they know which hitches recur and which happen once a session.

Signals to score

  • Sorts the sixteen into garbage collection and a blocking load on the game thread and pipeline state compilation on the render thread, and treats the slow physics frames after them as a consequence rather than a fourth cause
  • Ties the five-to-six-second rhythm to 162 KB allocated per frame, and points at nameplate text and query lists rather than at the collector
  • Removes the allocations — text rebuilt only when its value changes, query buffers reused — and treats an incremental collector as spreading the pause, not removing it
  • Notices that `market_props` loads, unloads at 0:27 and loads again, and proposes loading it ahead of the market and holding it while the district is loaded
  • Names pipeline states compiled on first use and proposes compiling them during loading from a list recorded in playtests
  • Says the compile hitch is worst on a player's first session and that a warm driver cache hides it, so the reproduction clears the cache
  • Explains the frames after each spike: the fixed-step accumulator owes the simulation the lost time, runs extra physics steps and makes the next frame long too; names the four-step cap and the slow motion it trades for
  • Separates what recurs every few seconds from what happens once a session, and orders the work by what players feel
  • Says what to capture next for each group — allocations with callstacks, a load log naming who requested the package, a list of states compiled at runtime

Follow-up questions

  • Eleven spikes, five to six seconds apart. What sets that rhythm?
  • Would switching on an incremental collector fix this?
  • The same package loads twice in fifteen seconds. Why would it?
  • You run the route again and the fountain hitch is gone. Fixed?
  • Why are the frames right after a spike slow as well?

Proving it on the machine players have

12 min
What this part is for

Purpose

Measurement discipline. A fix shown on a developer's workstation, or on one sixty-second run, is an opinion about the frame rather than a measurement of it.

•

Say your changes are in. How do you show me the frame is fixed on the minimum-spec PC — not only on this route and not only today — and what stops it coming back next month?

What this question is for, and what to listen for

Purpose

Separates candidates who compare distributions across repeated runs on target hardware from candidates who quote one median, and asks for the gate that keeps a fix fixed.

Signals to score

  • Captures on the minimum-spec machine in a build configuration close to shipping, not in the editor or on a workstation
  • Repeats a scripted route several times and compares distributions — median, p99, frames over 33.3 ms — rather than one run's median
  • States the run-to-run spread before calling a difference real
  • Measures with the conditions players get: vsync and dynamic resolution as they ship, and a cleared shader cache for the first-session case
  • Adds a long run for what a minute cannot show — memory over hours, collections growing more frequent as the heap fills
  • Looks at frame pacing, the gaps between presented frames, and not only at average cost
  • Turns the capture into per-system budgets for this scene, checked by an automated run on target hardware every night
  • Says who hears about a failed nightly run and what happens to the change that caused it

Follow-up questions

  • You measured 16.2 ms on your own PC. What does that tell me?
  • One run, median 16.4 ms. Ship it?
  • What would a two-hour run find that a one-minute run cannot?
  • Who notices, three weeks from now, if someone adds a second fog volume to the market?

The last millisecond

12 min
What this part is for

Purpose

The frame budget is shared with people who do not write code. This section reads how the candidate spends a cost that belongs to someone else's work — in a game team, one of the places where disciplines most often have to agree on something measurable.

•

Suppose every change that needed nobody's permission is in, and the median GPU frame is at 16.9 ms. What's left is content: the volumetric fog at 3.1 ms, which the art lead calls the look of the market, and the crowd of 180, which the level designer built the finale around.

What this line is for

Purpose

Puts the remaining cost on work owned by two named disciplines, so the round cannot close on a purely technical answer.

•

You're in a room with the art lead and the level designer tomorrow. What do you bring, what do you ask them, and what do you offer?

What this question is for, and what to listen for

Purpose

Reads collaboration over a budget. The strongest candidates arrive with options priced in milliseconds and pictures, ask what a feature is for before proposing a cheaper version of it, and leave with an agreed number rather than a cut.

Signals to score

  • Brings the costs in a form both people can use — milliseconds per feature on the minimum-spec machine, and screenshots of cheaper versions taken on that machine
  • Asks what the fog does for the market before proposing how to make it cheaper
  • Asks the designer what the finale needs from 180 NPCs, and whether the ones far from the camera need to be full characters
  • Offers priced options: a coarser fog volume, fog tuned for the Medium preset, distant NPCs animated less often or drawn as impostors, nameplates only within range
  • Does not quietly downgrade either feature, and does not pass the decision up without options
  • Proposes a written budget for the scene that both agree to and the nightly capture enforces
  • Says who decides if neither person will move, and what they bring to that person

Follow-up questions

  • The art lead says the fog is not negotiable. What next?
  • Why not turn the fog down at the Medium preset and tell nobody?
  • What does the designer need from the crowd, and how do you find out?
  • Who makes the call if neither of them will move?

Closing

That's the capture. Now it's your turn to ask — about anything in how performance is looked after here: who owns the minimum-spec machine, what runs every night, the last hitch that reached players.

What this line is for

Purpose

Candidates who have shipped against a frame budget ask who owns it and what catches a regression; candidates who have not ask which engine version the team uses. Naming the topics makes their choice the signal.

One more thing, said plainly: [state one true, current weakness in your own performance practice — no automated capture on target hardware, a budget nobody enforces, a known stutter with no one assigned to it]. Whoever takes this job works on that, and you should hear it from me first.

What this line is for

Purpose

A specific, true admission is the pitch that reaches the candidate this round exists to find, and it puts off one who expected the problem solved. Check it is still true on the day.

Their questions for you, and what happens next. The standard closing

Game Developer interviews — common questions

Who is this Game Developer interview plan for?
It is written for the interviewer, not the candidate: the hiring manager, engineer or panel member running the Technical Interview round for a Game Developer role. It gives you a 60 min script to follow in the conversation — 4 questions with what each one is for and the signals to score against — so you are not writing the round from scratch the night before.
What does the Technical Interview round assess?
This round is focused on: Game performance and profiling from a real frame capture: telling a GPU-bound frame from a CPU-bound one, grouping hitches by cause — garbage collection, shader pipeline compilation, a blocking load, physics catching up — proving a fix on the minimum-spec PC rather than a workstation, and spending the last millisecond with art and design instead of around them. It works through Where the median frame went, The frames players notice, Proving it on the machine players have and The last millisecond, scoring against 33 observable signals, with follow-up prompts on all 4 questions for going deeper where an answer is thin.
How is the 60 min split up?
60 min on 4 questions. The questions take in Where the median frame went (18 min), The frames players notice (18 min), Proving it on the machine players have (12 min) and The last millisecond (12 min). The timings are there so the round stays on schedule and every candidate gets the same shape of interview — which is what makes two candidates comparable afterwards.

Hiring for this role?

Open this plan in Hirezen and make it a position in one click.

  • Every interviewer runs the same script and marks the same signals.
  • AI drafts the write-ups, and the debrief puts every read side by side.
  • No ATS to set up first, and no bot in the call.
Start free with this plan

Free for your first open role.