Strawhatsheik said:
As an example one job asked for fluency in C# or C++. I have worked in both those languages, more so in C++ with Unreal engine. I understand all the basics. Do you think they mean several years plus? Has anyone been in an interview and could give me an idea what skills I need to sharpen?
As another mentioned, that's really something done by recruiters, not by people who interview you. “Three years with language” doesn't really help much, nor is it particularly meaningful to assess your skill.
Every company has their own practice. Many will give you a programming test, either as something they email to you and expect you to complete, or as something where you write code during an interview. They may have you write code in an editor of your choice, a web interface that records everything, or a whiteboard in a conference room. They will also ask you questions about your understanding of the language.
While it might be useful to brush up on data structures and algorithms, generally during interviews people ask about simple, standard tasks. Show you can work with pointers by reversing a string in place, following a linked list chain. Show you can manipulate data by building or working with a container class, sorting data, or otherwise doing something simple. Either you're comfortable doing basic programming tasks or you aren't, there isn't much of an in-between.
Interviewers are not out to trick you or deceive you. They aren't trying to ask trick questions. They're trying to understand if you can do the job or not.
Any questions they ask should be related to doing the job. Sometimes people who are unskilled at interviewing will miss the focus and ask about things that are theoretical or completely unrelated. If you're not comfortable with a question, or don't think it's something you'd be doing, feel free to ask the interviewer back, “Oh, how often will I be asked to do that kind of work?” A question like that should straighten out an interviewer and bring them back around to the proper topics. If you don't know the answer, tell them you don't know, then suggest a modification of the question into something you do know and ask to solve it instead. Or ask for clarification, maybe they're describing a problem in a way you aren't familiar and rephrasing will help something click.
Strawhatsheik said:
Also, a little unrelated, but the same job wanted “Suggest, design and implement improvements to the inner workings of game engines.” As I said I worked in Unreal engine quite a bit, including plugin’s and APIs, but don’t know the ‘inside’ of an engine well. Any suggested tutorials or workthroughs to give me better understanding of that?
That can mean radically different things depending on the company and people involved. You can't know it in advance what they're looking for. Present yourself as who you are with your current background and experience. When you get to the interview, ask them what they mean exactly. They'll probably bring it up first, but if they don't, you should ask. The interview process is not just them interviewing you, it is also you interviewing them. You need to understand what work they're looking for, and you need to understand that you will be comfortable doing it. As you discuss it, figure out if it is something you're comfortable with, something you're unsure about, or even something you've never touched before and have no idea how to approach it. It will help both you and them.
Just like understanding your skills with a language, nobody is trying to trip you up or trick you. They just want to understand if you can do the job. If the honest answer is that you can do the job but it will take some learning curve, most companies are okay with that. This is extra true if they're hiring at the entry level because they know you will need hand-holding and training. Even at senior levels studios know it takes several months before senior workers are up to speed on the code base, and it can take a year or more for industry veterans to reach similar speeds as their peers.
It is impossible to know in advance what companies are looking for, and every company is looking for different things. So just be yourself, don't worry about it. You might happen to be exactly what they wanted. You might happen to be an incomplete fit but still the best match of the people they're interviewing. You might happen to not match any of their current needs, but that doesn't mean you won't match with another company. Just keep applying at companies until you find a match.