Code tests/samples for jobs - How to get "large company" level C++ skills?

unreal-cpp
#1

Hi, I’m getting much better at all parts of the job search. My key issue now seems to be code quality and code/technical tests.

  1. What kind of questions can I expect in technical interviews about C++, 3D maths, etc?

  2. My code tests/samples keep getting rejected. I’ve already worked for 1.5 years as a programmer, so I know I can make working (small) games. What do big companies expect from my code tests/samples that they don’t see? How do I get it to “big company production level” code?

Is there any chance Ben would be able to help me out and answer my questions?

I can comfortably make games with UE4 and C++ now. I’ve done C++ stuff at University too. Familiarized myself with 11/14/17 standards. I haven’t done all of the UnrealCourse actually, just finished the battle tanks section. It was getting very repetitive for me. But if you tell me that’s the answer to my problems, I’ll go do it again.

Thanks

1 Like
#2

Asked Ben for help with this:

  1. No I can’t help with the interview quesitons at this stage, but will ask our corporate client next month.
  2. We’d need to see the details of what’s failing and why, and I’m happy to look at that.
#3

Hi Dan, thanks for the reply and for being so helpful :slight_smile:

  1. Thanks, that would be great. I think its a resource other people would appreciate too.

  2. I’m not completely sure what I can share with you to ask for advice. This is a UE4 project I’m working on right now. Maybe you could take a look at the code and suggest a direction I can move in to improve further? https://github.com/Dyonisian/3rdRPG/tree/master/ThirdRPG/Source/ThirdRPG

Let me know if that works, thanks.

#4

Maybe if we had an event or special challenge where we create our own code based on technical problem questions. Its all really about trial and error and continuing to beat on your craft until its too good to ignore.

Do you have a youtube video showing off your Third RPG?

#5

Good day,
Here are some quick advices.

I work in the game / interactive / simulator industry as a C++ programmer.
Most of the big companies, during the interviews asked me these kinds of questions:

  • What is a pure function
  • Give 5 programming patterns and explain them
  • How do you determine the normal of a triangle
  • What is a cross-product, why would you use that
  • What is a dot product, why would use that
  • In function what is the difference between a pointer and a reference parameters
  • The difference between small-endian and big endian. How do you convert one to another
  • Difference between interface and parent class
  • Network protocol, UDP vs TCP, when to use them
  • Bitwise operator
  • What is a bitfield, when and how to use it.

I can’t tell why your code is being rejected, but one of the first thing I know they look is how the parameters are set in function.

  • In C++, if the parameter is greater than 4 bytes, do not pass it as a copy use a reference if possible (or a pointer)
  • If the input parameter will not change inside the function, use const.

Do not use magic number

If a cast need to be done, and the type is known, use static_cast<>() instead of Cast<>() or dynamic_cast<>()

In class, static functions (and members) is a good thing.

If multiple action can be toggled together, (ex, press_up, press_down,press_right,press_left), instead of using a bool variable for each of them, use a bitfield

4 Likes
#6

This is so helpful! Thank you!

#7

So from what I know is that it really depends on the kind of position (junior? or intermediate?), for a smaller games company (there are quite a lot out there, even some that made some recognizable games), it is often enough to have an interesting portfolio and instead of asking you arbitrary technical questions that often times give little insight in your ability to make stuff work, they give you a certain task, like program a simple game in a quite short amount of time. can’t say much about big companies, but I would be surprised if the above mentioned questions are aimed towards a junior level position, but on the other side, big companies get many applications and often times don’t even offer junior positions, since it doesn’t pay out.

Also note that the bigger the studio is the more likely it is that they almost only hire “specialist”. So you might want to specialize in AI, 3D programming, physics, vehicles, sound etc. etc. etc.
There is also a trend that in the big big studios they are hiring less or no gameplay programmers, but instead use technical gamedesigners, to implement the core game logic, while the programming department is responsible for technology expansion, optimization and tool development. Therefore, if you actually want to develop the game and in the best case, develop many different parts of it, the big tripple A studios might not be the ones you want to apply to. In a studio with several hundreds employees, it might very well be the case that you are in a feature team that is only responsible, for - lets say - hovercraft behavior and will see very little of the complete project since you are only woring on fractions of it. I just want to throw that in as a side note.

Oh and btw, my source for these infos are that I am working in the industry - just not as a programmer YET!! But therefore I have some people who I contacted, since I want to grab a programmer job myself :wink:

1 Like
#8

How likely is it, for someone with no experience in the game industry, to get a game tester job?

#9

More likely than getting other jobs in the industry, but still not super easy (at least if you want to get in a studio with a “real” QA, that has impact on the product)

You need to make clear to an employer that you are a “gamer” and love games on the one hand side but are very structured and analytical on the other hand side. Degrees as always don’t really matter. I saw many completely overqualified people (at least on paper) apply to a position not getting the job. Depending on your studio it can be a great entry point in the industry. Having technical knowledge and being able to program is desirable but for most positions not mandatory. Also do some research on how a studio is treating a tester job as an entry position. Some studios are not liking if you walk in the door with the attitude “look, I am only doing this to get a foot in the door”, since they treat QA as a career path like any other. Also keep in mind that you will not be part of the actual creation of the game. You will not design features, you will not write code to make features work. You will only validate and test what others have designed and programmed and make sure it makes sense, works and fulfills certain standards. For me, it is a great starting point since you learn the workflow and how the whole process of creating a game is looking. And while for some people it is a valid career path, it is only an entrance point for me, since I am a programmer. And this is also something that I made clear pretty early, since I learned that if you want to get somewhere it is very important to communicate your goals.
But in the end, the games industry in general is a very open place where your skills matter and not where you come from or if you got the right piece of paper therefore getting ANY entrance point you can is always a good idea. In the industry you can honestly transition to every career path you like as long as you can showcase the necessary skills.

1 Like
#10

Awesome I appreciate the answer. I am learning all aspects of game development but put my area of expertise on Game Design. I want to be a Game Designer. That is my end goal. I am learning different testing methodologies so I can get my foot in the door as a game tester and really excel at the testing aspect so I can better improve my overall understand of game development and to interact with other developers as I move my way up in the industry.

#11

Hi @Dyonisian and everyone else :slight_smile: I asked a senior C++ engineer recruiter for you guys, and this is what I got…

Example question: “How would you implement climbing in a town environment?” Here they are looking to see that you ask for clarification, for example “what can you climb”, “what happens if”, rather than diving directly into the technical details.

As for shorter questions, here’s an example from his long list that he typically picks from, trying to weave organically into the conversation…

  • What’s the “stack” vs the “heap”?
  • Explain dot and cross products
  • What’s a pointer exactly?
  • Tell me about patterns, e.g. factory vs abstract factory

Then there are “domain questions”. For example for Unreal maybe “What’s a UPROPERTY?”

If you’re applying for mobile development, know about performance, “fill-rate”, etc.

I hope this helps a little, and sorry it was a while coming, I had to hunt and pin-down the right person.

Regards

Ben

1 Like
#12

Thank you so much for this Ben! We appreciate it!

1 Like
#13

Wow! That is really really helpful. Thanks @ben

1 Like
#14

That second question would ruin me, I think I’ve used those concepts in databases, but it’s so rare that the last time I understood the difference was about fifteen years ago. The rest of those questions, no problem, though. Thanks for the insight, it appears that when going for a job, I should brush up on obscure math concepts so I can jump through stupid hoops better :wink:

closed #15

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.

#16

You’ll be needing the upcoming “Maths For Games” course :wink:

These won’t mean too much without my explanation, but as an example of my recent notes working towards Dot products…





Enjoy trying to decode!

2 Likes