What to expect in an interview for a .NET job

DevToolsGuy / Friday, February 6, 2015

Around the world there is an urgent need for skilled developers. Even Barack Obama told us that the world needs developers and that kids should start learning programming skills as soon as possible. However, attending a job interview can be a nerve wracking experience and so in this post, we’ll look at what a .NET developer can expect in an interview and how they can prepare.

Many talented developers find they have difficulties with job interviews because they tend to be too focused on what they are passionate about - that is, technology and development - and not on the preparation of their interview skills. Preparing for a job interview can really help boost your career by giving you opportunities you wouldn't get otherwise.

Make your CV stand out

Generally speaking, your biggest chance of getting job interview starts when employers scan your resume. This is an opportunity you simply can’t afford to slip up on. A skilled developer is not a professional resume writer, so to get the largest number of possible opportunities for an interview it is fair to spend some money having your resume improved by an expert. This is a small investment to make for the potential gain of landing a much better job.

Know your CV!

Many interviews begin with a discussion of your CV and experiences. However, a common mistake employers report is that interviewees often seem not to know their own resume. Nothing will make alarm bells ring like a candidate who has a lot of trouble explaining what they’ve done previously. So, make sure you know what you wrote and can speak about what you did when and where.

It’s also essential to be able to provide examples about specific situations, problems or issues. Interviewers often want to know how you’ve dealt with difficult moments, communication problems, heavy workloads and want to hear examples of your successful projects. Think about your experiences before the interview and think how you would explain what you did and what the result of your actions were.

Besides describing your professional and academic successes, it’s also good practice to research the interviewer. It takes only a few minutes to Google this person and read a few blog posts he or she wrote. Show interest in the interviewer by mentioning a blogpost or an article they’ve written or shared. The easiest way to get someone interested in you is to show a genuine interest in them.

A testing experience

In most interviews, the developer needs to solve some algorithm based problems like explaining a sorting algorithm, solving an exercise with arrays or optimising a routine. These questions are intended to test your problem solving skills. It doesn't matter what programming language or technology you use, if you can solve problems, you will be a good developer. Problem solving is the base skill of good software development.

There are some basic steps in solving these kind of problems:

  • Identify the problem
  • List the possible solutions or actions
  • Weigh the possible solutions
  • Choose one solution to try
  • Put the solution into practice
  • Evaluate the solution

What’s your motivation?

During your conversation, the interviewer will check if you can answer questions with passion. Showing a real interest in what you do is important in every job. A carpenter that hates cutting wood is a bad carpenter. A developer should love doing their job and this must be clear when answering questions.

Questions you can expect will be like "why are you a developer?" or "why would you write a web application". Rather than giving a straight technical answer, emphasise that you what you love doing is developing and writing code. Speak about the satisfaction you get from a good build and about how it’s been your dream since you first begun playing with computers.

Getting technical 

Most developer interviews will involve a technical section. You can expect this to check your knowledge of design patterns and practices. Design patterns are general reusable solutions to a commonly occurring problem within a given context in software design. You’re likely to hear questions like:

  • What is an interface?
  • Explain the Facade pattern.
  • Write a singleton class

These questions are programming language independent and gives the developer the chance to show that he or she know the developer basics. Spend some time thinking about how you’d answer this kind of question and remember your answers; your interviewer will be impressed if you can reel off correct explanations without thinking too much.

Besides the general development questions like algorithms and patterns the interviewer will also check your knowledge of the .NET architecture. Questions might include:

  • What is the garbage collector?
  • What is the difference between Webforms and MVC?
  • Explain the lifecycle of an aspx page.

These questions are programming language independent also so try to answer them in an independant way to show the interviewer that you really know the complete framework. When asked you can go language specific by using C# (or any other language) to explain your solution.

Any good developer solves problems in a language independent way and knows that a language can be easily adapted. Of course it is an advantage to be a real expert in, for example, C# but do not get hung up on it. Know that there are other languages out there and know how to use them and show willing to learn them.

Preparation, preparation, preparation

Doing a job interview as a developer need not be a nerve wracking experience. 90% of the interview can be prepared in advance. Make sure you know the company, the job description and the interviewer. Refresh your problem solving algorithmic skills, list the common patterns you know and try to explain them and at last learn the ins and outs of the .NET framework.

Good luck!