I've recently been asked to come up with a list of questions to interview a junior Dev for my current project and wanted to know what you think about it.
The project is a Web App that organizes workflow of a call center \ out of office agents for a large financial institution. ASP.NET
MVC on the server, Angular JS single page APP as the client.
Interview had 4 sections: C# and ASP.NET
, general software development, JS, AngularJS. Here I will post the JS part.
Questions come from my practical experience of what is important to know when developing an MV... app with JS. They are split into 5 topics (easy to hard) and one bonus questions (for the curious \ smart devs). Each topic gives 1 point if the candidate has general understanding of it, so does answer to a bonus question. For a junior JS Dev I would like someone who could get 4 points, but would accept someone with 3 I think.
-What data types does JS have?
-What does ‘typeof’ do?
-What is the difference between the ‘if’ statement in JS and languages like C# and JAVA?
-What are truthy \ falsy values?
-Which values will be falsy?
-What is short-circuiting?
-What is the difference between prototypical and classical inheritance models?
-What is a constructor function?
-What does instanceof do?
-What does calling a function with the ‘new’ keyword do?
-What can ‘this’ be equal to inside a function?
-How do we enumerate object properties in JS?
-How can we differentiate between objects own properties and inherited ones?
-During the enumeration, will functions be enumerated?
-When we add a property to an object, how do we make the ‘for’ enumeration cycle skip it?
-What is a ‘getter’ and a ‘setter’ and how do we create them?
-How are code modules typically created in JS?
-How are classes typically created in JS?
-For a class in JS, how do we create an equivalent of static methods from languages with classical inheritance model like C# and JAVA?
Bonus practical question – how can we tell a property of an object that was assigned a value of undefined from the one that newer existed on an object?
What do you guys think of this question list?