End Google Ads 201810 - BS.net 01 --> Hi All

I've been doing interviews for a large multi national company for a number of C# contractors to work on a greenfield winforms application. In the last month I've interviewed 28 candidates and only 6 have passed our first technical test which is a 1/2 hour telephone screening. What I'm wondering is if our basic questions are viewed by the community as not fair game. Our basic premise is that if you can't answer four out of five of these basic questions (first ten minutes of interview) there is little point in pursuing things further.

1) What is the base object in C#.NET, its public instance methods and when would you use them? - I'm astonished how few people get this. I generally forgive forgetting GetHashCode but Equals?! - only maybe 25% of people get 3 out of the 4 methods (or 5 if you count Finalize which in general we don't).
2) What is a delegate? What is the difference between delegate.Invoke and delegate.BeginInvoke? - Really asking do you know the difference between synchronous and asynchronous programming. - maybe 20% get this.
3) Give a two minute overview of how the garbage collector works? (Looking for what makes an object eligible for collection, when it runs, concept of generations, implications of having a finalizer etc) - very poor understanding out there - I've had 1 good explanation so far.
4) Explain the OO concept of polymorphism and how you can take advantage of it in C#? Why do you think Microsoft didn't make all methods virtual by default? - I.e. whats a virtual function and to understand the performance implications of them. - most get the first, nobody so far the second.
5) Is ArrayList a thread safe collection? If not how would you make it thread safe? - most get its not, only some really have any idea how to make it thread safe.

I just don't think these are hard questions, especially given the daily rates we are offering, but maybe I'm being too hard? What do you think?

Whats really strange is we're doing a lot of Java interviews for the server side of things as well and we've seen plenty of great candidates. Maybe there are just lots and lots of very poor C# candidates out there and I'm getting my fair share of them!

Cheers!

modified on Friday, October 2, 2009 4:32 PM