Game Programming Assessment

Started by
7 comments, last by Nicholas Kong 10 years, 5 months ago

Anybody know what do game companies test their applicants on?

I like to get a general overview or feel of what they can potentially ask.

Is it just mainly discrete structures and data structures type questions? Anything hardware related?

Is it impossible to prepare for it because they test a broad range of knowledge?

I just want to know how broad the testing range is.

I remember being interviewed at a GameLoft and they required applicants to take an assessment. Since the position was already filled, I never got to take the test.

I programmed 4 simple games in Java. An arcade shooter game written in Java and a Zelda prototype that handle link's 4 directional movements and attack state and collision with a monster being my top project that really tested my programing abilities.

I am just curious.

Advertisement

It really depends on the type of studio you are interviewing with and the position you are interviewing for.

If it's a AAA studio you will likely be asked about things like memory management, improving cache performance, which a lot of social/flash/Java companies might not care about. Either one though would ask you to write pseudo-code for simple algorithms (such as determining if a string is a palindrome), explain how you would solve problems they give you (i.e. how would you detect when a ball hits the ground?).

The more experienced the position the more in-depth and targetted the questions will be.

When I interview people I generally like to ask a few simple 3D math problems, a few simple algorithmic problems. I don't personally ask about data structures unless they say something weird in their problem solving and I'm trying to figure out if they know what they're talking about. I then like to ask about things on their resume to make sure they're legit. So for instance, in your post you described your Zelda clone as a project you are proud of. I would ask you to describe the project, and then I'd ask you to explain implementation details about that.

With that said, every interviewer is different and has a different idea of what is important to them. Some people will focus heavily on math, some people will focus heavily on performance, some people will focus heavily on data structures and algorithms, some people just like to ask tricky questions they downloaded from the internet.

Not every question is always expected to be solvable by all candidates. Often interviewers ask questions to see where the bounds of the candidate's knowledge are so they can recommend them for the appropriate position. For example, front end programmers VS rendering programmers VS gameplay programmers all have different requirements and some candidates would be better suited to one more than the others.

I've been asked twice about how to detect if a linked list has a loop in it. Something to do with advancing pointers at different rates and seeing if they coincide.

In 17 years of programming professionally I've never seen any code to check whether a linked list has a loop in it (hint: the program will hang accessing the linked list and you can diagnose the problem using a debugger). I've never heard of anyone say "let's use that check to see if a linked list has a loop in it". You would add debug code to see if the pointer you were adding is the same as another one referenced in the list. It's a contrived situation (I mentioned that last interview I had and they admitted they should probably change the question in future).

"Most people think, great God will come from the sky, take away everything, and make everybody feel high" - Bob Marley

I have done tons of interviews over the phone, with AAA game companies, that led nowhere. In my experience they always ask project related questions. That other stuff meant to trick you, is for recent grads or someone with zero experience. If you are just out of school or have no job experience, then I would recommend brushing up on every facet of game programming.

Some questions I was asked:

-Tell me about a project you have worked on in the past.

-Walk me through how you would fix a bug in the project.

-How can you ensure a previous release is not broken with a future release scheduled.

-How do you protect a server from DDos.

-Log into collabedit.com and sign in under a name I give you. I will post a few thousand lines of code for you, find all errors in it and generate a diff patch with all corrections. Email the patch within one hour of this interview.

Every company is different because developers asking the questions all have different ideas about what makes a good developer and how to judge that. It's best to just google the company you are going to, chances are someone has posted online what their interview process is like.

Two companies in the same industry might have completely different focuses on what they think is important. It's often driven by the top tech managers and their personal opinions, right or wrong. If you don't do well on an interview, don't sweat it too much.

The main thing is that you love what you are doing and are expanding your knowledge on your own time. There is always a shortage of good developers, and this is one of those careers where you can learn a lot off the job. Go work on an open source project, get your own projects up on github. Go learn another language.

Chris


The main thing is that you love what you are doing and are expanding your knowledge on your own time. There is always a shortage of good developers, and this is one of those careers where you can learn a lot off the job. Go work on an open source project, get your own projects up on github. Go learn another language.

Good idea!


If you are just out of school or have no job experience, then I would recommend brushing up on every facet of game programming.


Thanks for the recommendations!


It's a contrived situation (I mentioned that last interview I had and they admitted they should probably change the question in future).

Yeahj that question is a strange one.


Not every question is always expected to be solvable by all candidates. Often interviewers ask questions to see where the bounds of the candidate's knowledge are so they can recommend them for the appropriate position. For example, front end programmers VS rendering programmers VS gameplay programmers all have different requirements and some candidates would be better suited to one more than the others.

I see. I guess I would give it a shot.

This topic is closed to new replies.

Advertisement