Good help is hard to find, and there is an art to finding a developer who fits well in your organization in terms of personality and work ethic. In terms of the basic interview, you probably prefer to ask open-ended questions where the candidate can explain concepts and how they would attack problems. Some companies like to give candidates tests which are good evaluation tools.
In this article by Nitin Pandit, we see 50 questions you might ask a typical developer, from a junior-level to an experienced level person. You can start collecting your own list of questions, which can help you gauge a candidates technical skill level.
- What is the execution entry point for a C# console application? The Main method.
- How do you initiate a string without escaping each backslash? You put an @ sign in front of the double-quoted string.
- What is the difference between a struct and a class? Structs cannot be inherited. Structs are passed by value and not by reference. Structs are stored on the stack not the heap. The result is better performance with Structs.
- What is boxing? Boxing is the process of explicitly converting a value type into a corresponding reference type. Basically, this involves creating a new object on the heap and placing the value there. Reversing the process is just as easy with unboxing, which converts the value in an object reference on the heap into a corresponding value type on the stack. The unboxing process begins by verifying that the recipient value type is equivalent to the boxed type. If the operation is permitted, the value is copied to the stack.
- Define Constructors? A constructor is a member function in a class that has the same name as its class. The constructor is automatically invoked whenever an object class is created. It constructs the values of data members while initializing the class.