Working once again on hiring developer talent I am again amazed at the number of candidates who come my way who have little or no understanding of object oriented fundamentals. As many of us end up doing interviewing even when we're not managers I figured I'd share some of the questions on my technical .NET developer interview that I expect any developer with experience to get right. Feel free to suggest more questions and critique the ones I have!
-
Describe inheritence, give examples of when you would use it.
-
Describe what an interface is, how is its usage different from inheritance?
-
There are many ways of working with multiple related items in code, such as an array. Name some of the other options and how they are used.
-
What is the difference between a value type and a reference type?
-
What is serialization? How do you implement it in .NET?
-
If you were going to read a text file from the disk, how would you go about it?
-
In .NET, you can modify class and method access with modifiers like public and private, what are some others and what impact do they have?
-
Describe as many objects as you can that are used with ADO .NET
When I design a question set, I try to avoid pure definition questions in favor of open ended questions. Basically I'm trying to get the candidate to go into an essay style dialogue and just tell me as much as they know in a given category. I find it is harder for people to fake knowledge with such open ended questions, and unlike your yes/no pure definition style questions I think the above requires them to actually have used and be aware of the concepts. Pure definition questions can be memorized and don't really show true understanding. Open-ended ones tend to give the candidate enough freedom to show their knowledge or lack of depth.
I generally don't expect everyone to get all the questions right. If your'e junior level I'd expect 30-50%, mid-level 50-80%, and a senior/lead should be able to answer them all without difficulty.
Print
posted @ Monday, December 31, 2007 10:21 AM