How to interview a Unity developer

Introduction and personal observations

There are basically three parts to a unit developer interview. The process looks almost one-to-one, like any other technical specialty in IT. First, an interview with an HR or recruiter, then a technical interview with the Team Leader of the development team. At the end, if the previous stages are successfully completed, the final boss is waiting for you - Project Manager (or Product Owner). This article will be useful for Juns and Midles, as well as people who are new to Unity. Bearded seniors and leads - I will be glad to see your experience from you in the comments.





Acknowledgments

Thanks to Nikita and Denis for their help in designing and compiling a list of questions.





The first part is an interview with a recruiter

It usually takes 10 to 30 minutes. On it, the recruiter's task is to give a preliminary assessment of the candidate. Usually they ask you to tell about yourself. 





The goal is to check the adequacy of the person, match the keywords of the vacancy, and also check the English language if necessary. It is customary to check English by talking on a free topic for 5-10 minutes (talking about hobbies, favorite games, why they left their previous job or modeling communication with the customer). It is important to understand that the availability of an English language test is highly dependent on the type of company and the position for which the selection is being made.





From personal experience, I came to the conclusion that you need to learn to briefly summarize your experience in 3 minutes, highlight the most important thing and confidently present yourself to another person. This information should only concern your developer journey. The fact that you know how to skate, paint with oil or jump with a parachute is of little interest to anyone at this stage. It is expected that you will be paid money to complete the tasks described in the job, so maximize the interest of the recruiter by talking only about the skills that are relevant to the position. This will be more than enough. You will be asked for more details about your hobbies and other things, if necessary.





An example of an answer to β€œ Tell us about your experience. ”: 





β€œ , . - . Unity C# Lens Studio JavaScript. , .. ....    , . … ….    … … ... , ...”





-

. , , - , β€œ ” . ! !





- . , . , . , , , . , , , , .





:





  • (OOP, algorithms, DI, SOLID, etc.).





  • C# (boxing/unboxing, GC, async/await, reference types, etc.).





  • Unity (match 3, slots, AAA, FPS, etc.) (mobile, PC, consoles, AR/VR, etc.).





  • . . C#?  ?





  • SOLID. ?





  • . ? .





  • array List? 





  • -? -? ?





  • . , , . 2 3 ?





  • . Big O notation.





  • . (MVC, MVP, MVVM, , ECS). (GoF, GRASP, Game Programming Patterns).





  • Dependency Injection. Zenject?





  • . UniRx?





  • - . - ? ?





  • CI/CD . ? ?





C#

  • .NET? CLR? IL?





  • ?





  • . ref, out.





  • Boxing unboxing. ?





  • . , StringBuilder.





  • ? ? ?





  • .





  • ? ?





  • .





  • Upcasting, downcasting.





  • . try, catch, finally. .





  • ? , .





  • ? .





  • ?





  • ? ?





  • ? ?





  • LINQ. Extension syntax, query syntax.





  • ? ?





  • - -?





Unity

  • . ?





  • . ? ? C# ? MonoBehaviour? yield ? ?





  • Game Object? ? 





  • MonoBehaviour? ? Component?





  • MonoBehaviour.





  • Event runtime Unity.





  • . . rigid body? ? ?





  • NavMesh. .





  • UI ? ? ? ? ? LayoutGroup?





  • . , . , occlusion culling.





  • deltaTime fixedDeltaTime? .





  • . ? Timeline ?





  • , , .





  • . ?





  • Draw calls. ?   ?





  • mesh? 3 ?





  • . ?





  • . (profiler, deep profiling, frame debugger, memory profiling, profiling on device)?





  • Unity Web Requests. ? - ?





  • ? Android Studio, XCode.





  • SDK(, , , , ).





  • Test Runner. .





. . . , . , . , , . , . . , .





-

, . (aka PO). , . . , . - , . . , . -, - . -, .





  • ? ?





  • ?





  • .





  • ?





  • ? ?





  • ?





  • ?





  • (agile, scrum, kanban)?





, - , , . , . , , , , . … 





Like any other skill, interviewing is built, surprisingly, by interviewing! The main thing is to show the maximum those skills that you already possess. And remember, if you fail an interview or get a refusal, this can mean two things: either you need to learn more, or you simply do not fit this company, this project, this vacancy ... This is IT, I heard it happens here. Good luck with your interview!








All Articles