Prepping for an interview

Someone just posted on DotNetKicks about what to expect from an interview.  We're hiring an entry level position currently, so I recently spent some time thinking about interview questions and the whole interview process.  I've got some suggestions you might be interested in.

Obviously, the best source for interview questions is your vanilla interweb search engine.  Google is thick with 'em.  Browse, read and answer.  It will help highlight those areas where you aren't up to snuff.

If you find you suck at .NET, get you a copy of Jeffrey Richter's CLR Via C#.  If you program in .NET, you program the CLR.  Understanding the common language runtime is essential.  Also has tons of info on the ins and outs and implementations of C#. 

Back to interviewing... Of course, what youre asked will depend highly on the organization you're interviewing for. If you want to narrow your choices, look into their products and what technologies they use.  Ask your interviewer (before the interview) about the position you're being hired for.  What will you be working on?  What tools will you be using?  If they answer web app libraries and smart-client frontends, you know to brush up on ASP.NET and the compact framework.

Personally, there would be three areas that I would brush up on:  General programming skills, specific programming skills, and tool knowledge.

For general programming skills, I'm talking about techniques that cross language barriers.  For instance, know your patterns.  Understand that the event model in .NET is based on the publisher/subscriber model.  Know some legitimate uses for the Singleton pattern.  Be able to describe the Factory pattern without sounding like an idiot. 

For specific programming skills, concentrate on those areas where you are deficient and on those that you will be working on (remember what I said above).  Know common patterns in .NET, such as the dispose pattern, thread-safe event invoking, and the "using" pattern.  Don't get bogged down in syntax.  Any interviewer worth anything shouldn't expect you to be able to write a 100% syntactically correct program without using a developer tool.  If you are ever asked to write code on a whiteboard and you're not sure about a particular point in syntax, point it out and state that you are not 100% sure it is correct and would use intellisense to check syntax at this point.

For tool knowledge, review those tools the company uses.  These can include program development tools such as visual studio, source control tools like CVS, and database tools like Sql Server Enterprise Manager.  If you can, sit down and play with each for a few hours.  Open menus and look at what's inside.  Do you know what each does?  If not, find out.  You don't have to know it inside and out, but if they ask you, for instance, what Sql Server Profiler is, you can at least say, "I haven't used it, but it is a program you can use to see all communication between a SQL server and connected clients."  That's a hell of a lot better than "Uh, um... uh, er... I think, uh, its um..."

This brings up a final point--you don't know shit.  Not in the big scheme of things.  Nobody does.  You do know a small subset of the big picture.  That's okay.  Be confident in what you know.  If there is anything you're not sure about, don't be afraid to say so.  IRL, what would you do if you were faced with a situation where you were unsure of what something was?  You would research it.  When faced with something in an interview like this, state that you aren't sure about it or that you do not know.  Be clear; don't equivocate.  If appropriate, describe what your process would be in order to research the point.  For example, you might say, "I'm not exactly sure if you can null a struct; I'd have to check my copy of CLR Via C#."  Or you might say, "I actually have heard of that situation before, but I've never personally encountered it in my programming experience.  I'd definitely consult MSDN prior to making any decisions."

So that's my advice about prepping for an interview.  Don't forget:  Google "dotnet interview questions" and read/answer them.  Brush up on general programming skills.  Research the company you're interviewing with for specific programming skills you'll need to study.  Know your tools.  And don't be afraid not to know something; just be clear and honest about it.

Programming Post by: McGurk at 01:52 PM | Reply
Kick this post:

Press butan, recieve imagelet. Hover for preview. Imagelets are pasted at the end of your comment. Think ahead.


Post is locked.