# 230

Game Programmer interview questions shared by candidates

## Top Interview Questions

Sort: Relevance|Popular|Date
Game Programmer was asked...February 8, 2012

### How do you find the max depth of a binary tree?

breadth first search will be better than the recursion method for min-depth searching, but works same as recursive in the case of finding max depth problem Less

public static int maxDepth(TreeNode root) { if (root == null) return 0; //base case return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1; } Less

This entirely depends on the implementation. It can be calculated as the integer log base 2 of the highest index of the tree. This would prevent quite a few cache misses from traversing the tree each time, and would be a fairly quick calculation using bitwise operations. int val;// the value int result;// the result int tmp; result = (val &gt; 0xFFFF ? 0 : 1) &gt;= result; tmp= (val &gt; 0xFF ? 0 : 1) &gt;= tmp; result |= tmp; tmp= (val &gt; 0xF ? 0 : 1) &gt;= tmp; result |= tmp; tmp= (val &gt; 0x3 ? 0 : 1) &gt;= tmp; result |= tmp; result |= (val &gt;&gt; 1); While this may seem like a lot, assuming the tree is small, these calculations are actually quite fast, don't involve branching, and don't require arbitrary pointers to sub-tree members. This works best for trees that are either complete or nearly complete, however, since otherwise there will be a lot of wasted memory for indices that contain nothing. Less

### What is negative 2 in hex?

0xFE

For a 32 bit, 0xFFFFFFFE (or 0xFE if sign extension is guaranteed)

-0x2

### Given several cities and their mutual distance, find an algorithm to find the minimum time to spread a message throughout all cities.

Dijkstra's algorithm will make more sense

Dijkstra's algorithm will make more sense

use Prim's algorithm

### Told to code a small 2d game.

Hello - thanks for your feedback. Because of the many perks we offer to our team members (flexible working hours, ability to work from home, the opportunity to have a positive impact on the world with their work, etc.), we tend to get around 120 applications on average for every open position that we have in Learning Yogi. This means that our recruitment process necessarily needs to be extremely rigorous and selective, and only a handful of candidates are able to clear the initial technical tests that we ask all potential team members to do. We are sorry that we were unable to offer you the position because of this, and wish you all the best for your career in the future. You are of course welcome to apply again after a few years :-) Thank you. Less

### How do you represent rotation in 3D and why?

Quaternion, Smoother interpolation ( SLERP ) , Relatively compact ( vec4 ) Euler Angle, Gimbal lock, but compact. ( vec3 ) Matrix, All transformation will finally come to matrices. Less

Quternions instead of Vector3 because of gimbal lock.

### Portfolio

By showing it

In these sorts of interviews you really need to drill down and understand what the interviewer is looking for. A good way to simulate a real interview experience is to do a mock with one of the Ubisoft Game Programmer experts on Prepfully, rated super strongly on TrustPilot... prepfully.com/practice-interviews Less

### What do you thing about overtime?

This is one of those questions that I hate because that assumes you are ok working unpaid hours. I said that I do it if we need to, because I undertand that a small company has a tight schedule and budget and every project can be the last. However I expected this overtime being moderate and not usual as it became in my previous job. Less