I gave many interviews in the last few years and each time I found the interviewers are not satisfied with what I know. My first company only developed desktop Windows applications using .NET. They had nothing to do with features like: Remoting etc. We also had limited use of Generics, Reflection and Multi-threading.

When I appeared for the interviews, I was asked questions on above features even when I told them that I don't have real-life experience.

Now the .NET interviews are even more complex. Seeing my experience, the interviewers target the latest framework. I have no real-life exposure to the new features and technologies like WPF, WCF etc.

Please suggest me how to effectively prepare for the .NET interview. I have 3 years experience in .NET but I only developed Windows based applications. At present I work on .NET Framework 3.5. I never worked on ASP.NET, as in my present company I work on PHP for web-applications.


Even at a junior level, if someone has been using .net 3.5 then I would certainly expect them to be comfortable using generics. At a more intermediate level I would expect at least some knowledge of reflection and multi-threading.

So my first piece of advice is, if you want to progress your skills in programming then you must devote at least a little bit of your own time to learning and keeping up with current developments in the field. I'm not talking about cutting edge stuff here - if you're a good programmer and have been using .net 2+ for a significant amount of time if you're not comfortable with generics by now then it tells me you're not keeping your skills up to date at all. This applies if, as in your case, you don't have the opportunity to learn in the workplace but also if you're lucky enough to be somewhere where skills development is valued. You can get this knowledge by reading books, blogs and by supplementing that knowledge by applying it to some personal/open source projects.

My second piece of advice is, if you have a lot of experience with windows apps and you want to join a company that is doing web development then you should understand that you're looking at what is potentially a very different job despite it having .net in common. So, either apply for jobs where your current experience is going to be valuable, or gain the skills in those areas (see above) before applying, or accept that you're going to be applying for potentially more junior jobs than if you were applying for windows app development roles and treat it as a stepping stone to a more senior position.

  • Thanks for the nice advice. As far as the second advice is concerned, I want to jump into .NET web-development. My present company has nothing to do with web applications and I won't get any opportunity to dip hands in it. Even if I learn ASP.NET at home, the other company won't consider me as I don't have real-life web-development experience. What you say? – RPK Oct 23 '10 at 9:37
  • In that instance then there's nothing you can do about it (short of lying - which is likely to land you in trouble the moment they realise it). Most places will accept that different jobs will have focussed on different things and it's up to you to demonstrate that that will not be a problem. Solid performance in an interview plus some experience which they can check (sample project, open source project) can go a long way in doing this. – FinnNk Oct 23 '10 at 9:49
  • ASP.net is of course different from .net desktop stuff, but the transition is definitely one you should be able to make, at least to get through a junior level interview. – Morgan Herlocker Nov 12 '10 at 3:51

This is not meant to be a holistic answer, just to highlight a few points to get the ball rolling:

  1. Know the core e.g. CLR, GAC, GC, OO etc
  2. Familiar with the language, syntax and features (C#, VB.NET minimal and their respective features e.g. C#3.0 vs C#2.0)
  3. Understand what your future company is doing. My company is still am doing v2.0 for some years to come, so 3.5/4.0 are nice to have but not mandatory. Some might be at the cutting edge, WCF/WF/Silverlight/Lamda etc
  4. Convince them that though you might not have experience, you can pick up new stuff quickly

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