Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have a possible C# dev job lined up but before I can interview, I need to pass a test with the employment agency.

Now even though I am a senior developer with over 10 years of programming experience and more than 3 of these years with c#, I am really not looking forward to this test and I think there is a good chance I will fail it.

In my experience these tests are unpredictable asking you stuff you seldom use in everyday work situations.

I need your best advice on what I should be revising on - a good book or website for example. I have less than 1 week to prepare and it is essential I pass this.

Thanks in advance.

EDIT: To further justify my concerns of writing such tests - Consider the following question:

12) An Event is :

   a) The result of a users action - correct answer
   b) The esult of a party
   c) code to force users action

The correct answer according to the test is A, but since I've been doing SOA development (often when events can be based on system events (not user actions) I'm 100% sure an event doesn't have to be driven by a user action. This was also a C# question (not an ASP.net question). Based on my understanding, I couldn't really spot a correct answer but B seems the best of the lot (if the definition of party is : any entity that can trigger an event. These kind of questions scare me.

share|improve this question
4  
If you're a 'senior developer', and you've been using C# day-to-day for three years, you should be ok. These tests are normally meant to weed out those people that don't know the language or its uses. If you've been using it day to day for 3 years, then you should have run into nearly all the pitfalls in a given test. – George Stocker Nov 3 '11 at 15:28
6  
@GeorgeStocker - actually, I had to take some of these tests (aimed more at the full .NET framework) and they were very detailed. I found them quite difficult because first they went into areas of the framework (like WCF) where I just didn't have much experience, plus you had to know stuff like what configuration option you'd use in a .config file to turn on some obscure option. It was stuff you'd rarely bother memorizing because you'd probably only ever use it once and Google it at that. I found the experience a bit frustrating. – Scott Whitlock Nov 3 '11 at 15:37
3  
Oh, and one of the questions I got wrong was, "in VB.NET, what is the keyword used for declaring a structure? a) struct b) Struct c) structure d) Structure". I was thinking "intellisense knows this so I don't have to!" Now, of course, the answer is seared into my memory. – Scott Whitlock Nov 3 '11 at 16:05
13  
@ScottWhitlock: There's no way you can adequately prepare for a poorly-designed interview. At some point you have to trust that they're competent enough to ask and judge based on the areas you actually claim to specialize in, as well as some conceptual ability. If they're not, then you'd probably have a miserable time working for them anyway. – Aaronaught Nov 3 '11 at 16:29
2  
Is this a C# language test, or a .NET Framework test? – Ants Nov 3 '11 at 16:55
show 6 more comments

7 Answers

up vote 11 down vote accepted

Altough somewhat old, maybe this blog post is useful for you: What Great .NET Developers Ought To Know (More .NET Interview Questions)

share|improve this answer
Every answer listed here was helpful and good, however I went through every question in your list (took me 4 hours), and wrote a sample test online and passed. I would encourage any .net developer to go through those questions at least once and make sure you understand the answers, and make sure you get 2nd and 3rd opinions. A lot of people answer the questions (found on Google), but a lot of the answers are not concise at at times even wrong. So be careful. Cross check what answers you find. – JL01 Nov 4 '11 at 10:35
Good link! I'm surprised how many of those I knew. this.Ego++; – justnS Nov 5 '11 at 18:14
@justnS: The same happened to me when I discovered the post. :-) – Konamiman Nov 5 '11 at 21:48
I went for an interview a couple of weeks ago, and they had this printed off for me to answer. which to me, reflected on the interviewer. – dbones Jul 20 '12 at 13:18

I was in a situation like yours last year. It had been so long that I've been in an interview that I was dreading it. I did a search for C# interview questions and found several sites (many of them listed by the other posters) and I studied them. Much to my surprise 90% of the interviews were from those very site, verbatim. I guess interviewers use Google as well to find questions :)

share|improve this answer

I totally agree with you on:

tests are unpredictable asking you stuff you seldom use in everyday work situations.

..but they are part of the process, so there's nothing we can really do about it. I am somthing like you with about 10 years experience of which about 5 in .NET C#. I found these that these two VERY good books:

C# in Depth

C# in a Nutshell

should cover everything you need to know about C#. The rest is your own skills and skills that you pick up on specific technologies based on C# like ASP.NET etc.

share|improve this answer
2  
but they are part of the process, so there's nothing we can really do about it. How about advocating not having silly programming tests at your place of work as part of the hiring process? Hiring processes should show your competence, not that you can memorize obscure trivia. – joshin4colours Nov 3 '11 at 15:46
@joshin4colours - that is why I believe in the good ol' long conversation on the interview...they are good for elimination though – Bojan Skrchevski Nov 3 '11 at 16:00
1  
I actually interviewed the author of one of the books and rejected him... – Sklivvz Nov 5 '11 at 17:37

If it's an employment agency test it shouldn't be that hard. It's not like they have language specialists to develop the test. Most likely all they will do is copy/paste questions from a website.

As long as you know how the framework works in general, and the most common namespaces/libraries for tasks, what stuff you have to use for certain tasks, you should be good.

share|improve this answer

These tests have increasingly become a part of pre-screening applicants by professional recruiting firms and some companies. They're designed to give non-technical interviewers a way to assess someone's technical abilities. However, they're essentially just trivia tests that won't say anything meaningful about the abilities of a programmer other than to weed out those who really don't know anything. Unfortunately, some companies/recruiters put far too much weight upon these results.

The way to study for them is to find interview question sites, legit sites and not those trying to sell you the answers, plastered with popup ads or other such nonsense, and cram on the answers. That way you'll get a decent score and leap over the hurdle. If the company is placing too much weight on these results, they probably aren't the best company to work for anyhow.

share|improve this answer

With interview tests, a lot depends on the corporate culture and test creator. If they are intent on asking obscure questions and trying to trip you up, I would move on to another firm or agency that is more interested in high quality individuals that are smart and can get the job done.

That said, as you use c# in your day job, I would concentrate you efforts of problem solving and logic and less on the book learning side of things.

Project Euler is a great place to practice and hone skills that most likely have become a bit rusty.

share|improve this answer

Just walk away, Renee

I've taken tests like this a couple of times. Now I just walk away. The tests measure the most trivial bits of programming knowledge. Do you want to work for someone who thinks these tests are a good way to evaluate programmers? I don't.

share|improve this answer
1  
They are a good way as a minimum standard, i.e. a necessary condition, but not a sufficient condition. – Sklivvz Nov 5 '11 at 17:38
@Sklivvz: maybe, if they were good tests. Most of the commercial tests are silly exercises in trivia: "Which class would you use to read a text file?" A good developer may be able to talk for ten minutes on the differences between byte streams and character streams, and the details of UTF encodings, and still miss this question. When information is readily accessible, there's no point in memorizing it. – kevin cline Nov 5 '11 at 22:23
I agree with Kevin. There is too much information irrelevant to your job that can be in the tests. That is why they invented Google and IntelliSense - when we need answers, we find them, on the need-to-use it basis – ADNow Nov 5 '11 at 23:34

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.