How to Approach a .NET Interview

Introduction

The Technical Interview process for a .NET job is often like a spot on a game show. You are the contestant and you get to answer questions about your favorite topic - .NET technology. The more answers you know, the better your chance of landing the job. And the grand prize: job, salary, paid vacation, benefits. If you lose, just like a game show, you don't get to play again. So how do you become a winner against the 100 people competing for your desired position? Read on to find out:

Prepare

It helps to become familiar with the company who is going to interview you. If you walk into the interview with a working knowledge of the product line, you will demonstrate your value to them with your technical skills. To prepare for the technical interview, you'll need to have a good idea of what you will be quizzed on. You can usually get this from the job description. The job descriptions are often bloated with a skill set that far surpasses what you will actually use on the job, so you'll need to infer from the skillset what you will actually be asked in the interview. For example, if the skillset asks for ASP.NET MVC, JQuery, Java, Unix, and CSS. It is probably a job that is client side html and javascript supporting two server technologies: Microsoft and Linux. If you are a Microsoft programmer, you are not going to learn Java and Unix in a day, so concentrate your preparation on ASP.NET and MVC. If you have no experience in certain technologies, then try to skim through a book or website on the topic. Don't try to learn them in depth overnight just to get through the interview; chances are that the questions won't reflect what you crammed into your head.

Use one Interview to Prepare for Another

When working on Wall Street, I found that a lot of interview questions focused on the day to day challenges of programming in financial-centric applications, regardless of the company. In other words, they all ask similar questions on the interview. If you find a job that you really want, try to go on an interview with a job you are less interested in first if it is in the same field. Then, you can learn the questions that are most often asked.

Act Interested

This may sound obvious, and that is because it is, but I've seen programmers look almost bored at an interview. Ask a lot of questions about what you would be doing. If it sounds interesting, let the interviewer know. Also ask the interviewer what he or she does (people like to talk about themselves) and look for an angle on how you could contribute to the project. Remember that very often the reason the employer is looking to hire is because they are swamped and need bodies to help. The employer will be evaluating you to see a) if you have the skills to do the job and b) if your personality is compatible with the boss's and if he or she can work with you 8 hours a day. Demonstrate that you are excited about the opportunity; cite your enthusiasm about working on a particular aspect of the project. Say "I'd really like to work on this front end design. I can already see ways in which I can improve your existing product." The boss will appreciate your enthusiasm.

Dress Appropriately

These days, you don't need to dress up for a job interview in the technical field. By dress up, I mean, you don't need a suit, tie and briefcase. In fact, if the employer sees you with a suit, they'll assume you aren't currently working (unless somehow you were able to take a day off for the interview). That is not to say you shouldn't dress neatly. Make sure you're hair is combed, you have good hygiene, and you are wearing a nice work outfit. Don't show up in torn jeans, a sleeveless shirt, and flip-flops because the employer will assume you don't care about the position. It can't hurt to have your clothes pressed or dry cleaned for the occasion. The key word here is neat.

Be Polite

Upon sitting down for the interview, thank them for having you here today, you were excited to hear about the opportunity. This shows good character and manners which are critical to success. If you pass the technical part with flying colors, you will be a strong candidate.

Don't Act Stuffy

Feel free to smile on the interview - remember, you want to appear easy going and happy about the prospect of working with them. Try to engage the employer in conversation before the technical questions start coming. If you are not great at small talk, just ask them about the work they do. Be careful not to tell any inappropriate jokes and steer clear of politics, religion, and anything sexual. All of these topics can torpedo the interview if the interviewer does not share you opinions or sense of humor.

Handling Technical Questions

Well you've gotten past the small talk and now the employer or interviewer is ready to interrogate you on your techie knowledge. Below is some advice to keep in mind during the onslaught of questions:

Acknowledge When You Don't Know the Answer

l can't tell you how many times I've seen a candidate answer a question definitively, with feigned confidence, when they clearly did not know the answer. If you are way off the mark, you risk looking like you are making things up. Even I was guilty of this in my early days. Technical people sometimes like to show off their knowledge; their downfall is presenting educated guesses as fact. It is always better to say you don't know; often the interviewer will guide you in the right direction. If you are caught outright bluffing, the employer may perceive this as dishonesty and you won't be invited on board.

If You Don't Know It, Don't Put it on Your Resume

Another thing I've seen job applicants do is list a myriad of skills on their resume. When I asked them about a particular skill, they wouldn't even know what it meant. I followed with, "Why did you put it on the resume if you don't know it?" That is not a fun question to answer. If you have no experience in a particular technology other than reading a book on it, don't put it on your resume; if the employer is an expert in the technology, he will ask you all about it, and you'll be giving him a blank stare.

Tackling Complex Questions

Sometimes an employer will give you a large scenario and ask you how you solve it. They typically don't expect you to solve the entire problem, but they do want to understand what kind of strategy or approach you would use. Try to break the problem up in your head into more manageable tasks. Talk about how you would solve each smaller task and how it relates to the other tasks. For example: "Tell me how you would design this system for managing our customer database and how you would optimize it for taking orders across several different domain servers." You might initially think about overall design, strategies for communicating between servers and your database.  You may think about how you would enter and update customers.  Try to present your ideas in an organized fashion and don't be afraid to ask the use the white board to describe your ideas visually.  Ideally, you want to communicate to the employer that you are confident and knowledgeable on how to tackle the problem.

Conclusion

You will not always be successful in a technical interview.  There may be 40 other people standing in line trying to prove that they are better.  If you follow the suggestions above, it will give you an advantage over other candidates who don't follow them.  In any case, put your best foot forward when interviewing for the job, whether the interview is over the phone, via e-mail or in person.  Don't be discouraged by rejection, because you can always go on another interview with another company seeking .NET talent and experience.