Professional Documents
Culture Documents
How would you define an Anonymous Functions? What is the difference between
Anonymous Methods and Lambda Expressions?
What is the role of an Extension Method ? When would you use it ?
What is a Lambda Expression ? Where would you use it ?
How would you define a new custom event ?
How would you choose between a pure abstract base class and an interface.
What is MVC how does it differ from MVP ?
What is Dependency Injection / Inversion of Control ?
What Design Patterns are you familiar with ?
What is Garbage Collection ? How does it work ? What are generations in GC ?
WPF:
Mid-level
Whats the difference between an abstract class and interface? When would you want
to use them?
What's the difference between a left join and an inner join?
What's the difference between viewstate and sessionstate?
What's the difference between overriding and overloading a method? Explain how both
are done.
What's the difference between protected and internal? What about "protected
internal"?
How do short-circuited operators work?
Explain what the StringBuilder class is and why you'd want to use it?
What's the difference between a static method and a non-static method?
What does the "volatile" keyword in C# mean?
Explain what happens when you pass a "ref" or "out" parameter into a method. What's
the difference between those two keywords?
What's a weakreference? When would you want to use one?
What's the difference between a DataTable and a DataReader?
What's the difference between a value-type and a reference type?
What does the "readonly" keyword in C# mean?
I think it usually helps to ask your applicants to complete a simple coding
exercise such as:
Write your own linked list class without using the built-in classes.
Write your own hashtable class without using the built-in classes.
Write a class that represents a binary tree. Write a method that traverses all
nodes of the tree.
Write a method to perform a binary search on an array without using built-in
methods.
Draw a database schema for a blog. Each user only has one blog, each blog has many
categories, each category has many posts, and each post can belong to more than one
category. Ask your applicant to write queries to pull specific information out.
Next, look for specific technical know-how:
(Event handlers) Create a class with a custom event handler, create another class
which hooks onto the custom event handler.
(XML) Load an XML document and select all of the nodes with properties x, y, and z.
(Functional programming) Create a function that accepts another function as a
parameter. A Map or Fold function works really good for this.
(Reflection) Write a function which determines if a class has a particular
attribute.
(Regex) Write a regular expression which removes all tags from a block of HTML.
None of these are particularly difficult questions for a proficient C# programmer
to answe
How does an Enumerator (IEnumerable & IEnumerator) work ? How does an Iterator work
in C# 2.0 ?