.Net is a very wide subject to prepare for. Even if you have experience and are good at your job it doesn't mean you'll do well in a .net interview. The main reason of this is you'll use only some sections of the .net in your work and in that too you'll have the assistance of the IDE such as visual studio which you'll have to do without in the interview. Following are some tips that'll help you prepare for the .Net interview.
- Refresh Your Knowledge
Even if you have worked with .Net for a long time there would be areas where your knowledge would be rusty. You must refresh your knowledge. Don't be overconfident. Experience count much less where .Net interviews are concerned compared to Java, C, C++ or other programming languages.
- Divide and Conquer
.Net is a vast area and you have to cover most of the important parts of it in a short time for the interview. Divide and conquer is the best strategy here. Split it in to following sections. These divisions are not absolute, if something else makes more sense to you, follow your instinct.
- Concepts and Definitions: You must have some understanding of the .Net architecture. First you must understand how the .net works what does the terms like CLR, IL, Assembly etc mean and their definitions. In this phase you should focus on what and not on how.
- Syntax / Language Level: This is concerned with basic syntaxes of the .Net this can be further divided in to following three parts. You should focus on them in sequence.
- C#: It's the bread and butter of a .Net programmer. Most of the programming in .Net is done using the C#. This is the first thing you should focus on.
- ASP.net: ASP.net is the next important part. This is especially important for web developers but a must for all .Net programmers.
- SQL Server: It is a DBMS commonly used with .Net applications. You must be familiar with and able to write complex queries as well as be aware of different versions of SQL server and their differences.
- ADO.net: This is used to communicate with the database and is also a must.
- Class libraries: The above mentioned parts are the commonly used once and every .Net programmer should have some knowledge of them. Beside there are several system libraries and other lane or domain specific stuff. You can't possibly learn all of them so it's better to focus on the parts that you have worked with and leave the rest alone
- Focus Your Efforts
As I have mentioned before .net is a vast collection of subjects. You should focus on areas that you are already familiar with and do not try to learn new things just before interview. If you have worked with C# only for the most part make sure that you have good command over it before diverting your efforts to architecture and ASP.net.
- Make Notes
Make notes while studying for future references and refreshing your memory before interview. The notes should be as short as possible while being understandable. You can use a diary or word file for making notes. I recommend that you save a copy of it to Google Docs as well this way you can access and update them from anywhere and there is no chance of their getting lost. You can always download them in desired format when need for offline editing. Create separate docs for different subjects for the sake of better organization and access.
- Certifications
.Net certification exams can be best handled by reading dumps. I know this; you know this and the interviewer most definitely knows this; so unless you really know your stuff, don't bring undue attention to your .Net certification if you have them. Mention them in the resume but don't focus them as it will be very easy to find out if you have real knowledge or you have used dumps to pass it. The certifications are not useless but focusing them when you don't have enough knowledge would be considered as misrepresentation of your skill level at best and lying at worst.
- Show Experience
As it's very difficult to have knowledge of all areas covered by .Net, focus on the works you have done and parts of .Net you are familiar with.
- Programming Practices
Compared to the den of evil that is .Net programming practices such as OOP and design patterns are child's play. You should have very good understanding of OOP concepts such as Inheritance, Dynamic Polymorphism etc along with their advantages, when to and when not to use them etc. You should also be able to implement them using C#.
You expected understanding of design pattern would depend on your experience. For a fresher it's enough to know what they are and knowledge of some major design patterns. An experienced candidate should be aware of their advantages and able to decide which design pattern to use in which situation.
- Interview Question
Reading books is a good thing. They'll give you a more complete and through understanding compared to online articles or other shortcuts. But for the purpose of interview reading a collection of interview questions is best. Make sure that all the relevant areas are covered by the questions. Use the books only as a reference and clarifying some point.
- When Answering
When answering .Net questions remember that few people, including the interviewer, can answer all .Net questions. If you do not know the answer of a question, say so and do not beat around the bush. Try to focus on your past works / experiences and stay positive. Do not answer in monosyllables. Don't deviate from the subject but otherwise give multi statement answers that show your understanding and depth of knowledge.
The interview tips above are in addition to the usual personal interview preparation tips. You should have some knowledge of the company, its mission statement major products, services, competitors, its role in market, future plans etc. You should also have some questions prepared to ask the interview if given an opportunity, as well as answers to the common expected interview questions. .Net interviews are not easy but you should take comfortably as there are hard for other candidates too and with a little hard work and good planning you can significantly improve your chances of getting selected.