According to WhiteHat Security Website Stats Report, .NET is the most widely used language with 28.1 percent of the Web applications using this technology. .NET is scalable and has grown over time in terms of ready libraries and easy to use tools. So has grown the need to hire qualified .NET developers.
While there is no shortage of .NET developers around, but to find the right developer for your company still remains a challenge. You need to validate whether the candidate actually has worked on .NET technology and has a strong understanding of the framework.
To help you assess your candidates in a better way, here are some of the best .net technical interview tips:
How to interview a .NET developer?
A .NET developer is responsible for developing a variety of online programs, applications, and interfaces.
Any .NET developer must know -
- Object-Oriented Programming concepts
- .NET Programming concepts
- .NET framework
- Windows Controls
- Windows Workflow foundation
Depending upon your requirement of a back-end developer or a UI Developer or a candidate with both the skills, you may look for the below skills:
Frameworks for Back-end developers:
- .NET MVC
- .NET Web API
- Signal R
Frameworks for Front–end development
- Angular JS
The list of frameworks does not stop here. Actually, there are a lot many other popular frameworks that are evolving and the techies are using. So apart from the .NET concepts, you can ask questions on ASP.NET, MVC, MVMM, and any framework such as angular, bootstrap based on the candidate’s experience.
You can start with any topic in the interview with a conceptual question and then slowly take the conversation to how the candidate has applied that knowledge practically in his previous work.
How a candidate answers these open-ended questions may tell you a lot more than the technical questions. You can assess the candidate's passion, performance, and culture fit through these questions.
.NET interview questions for experienced:
1. Describe what an Interface is and how it’s different from a Class. When would you want to use an abstract class and interface?
2. Why would anyone need to implement their own hashtable or linked list?
3. Can you prevent your class from being inherited by another class? How?
4. When do you absolutely have to declare a class as abstract?
5. Can static constructors use optional arguments?
6. What is Reflection?
7. What is the difference between XML Web Services using ASMX and .NET Remoting using SOAP?
8. Name design patterns and principles you know and how they are utilized in .NET Framework?
9. What are boxing and unboxing? What are the performance implications?
10. What is shadowing and overriding, when do you prefer to use one over the other?
11. What are the 3 approaches to handling exceptions in a Web application?
12. How can error events be used to handle exceptions?
13. How many catch statements can be associated with a single try statement?
14. What is Marshalling?
15. How to create a shared assembly or add an assembly to GAC?
16. How was XML handled during COM times?
17. Can you explain why your project needed XML?
18. How does the XmlSerializer work? What ACL permissions does a process using it require?
19. What is the significance of the "PropertySpecified" pattern used by the XmlSerializer? What problem does it attempt to solve?
20. How is the using() pattern useful? What is IDisposable? How does it support deterministic finalization?
21. How do short-circuited operators work?
22. How do you read in configuration settings from the application config file?
23. Why Session states work on some web servers but not on others?
24. How the execution process takes place for the managed code?
25. How does windows service lifecycle differ from a "standard" EXE?
26. How is the development of a Windows service different from a Windows Forms application?
27. How do you give Windows service-specific permissions?
28. If I’m developing an application that must accommodate multiple security levels through a secure login and my ASP.NET web application is spanned across three web servers (using round-robin load balancing) what would be the best approach to maintain a login-in state for the users?
29. Explain the Event Lifecycle of ASP.net 2.0?
30. How do you secure connection strings in ASP.net?
31. Are the standard library generic collection classes thread-safe?
32. What's an extension method?
33. What's the difference between XmlDocument and XmlReader?
34. How do you read in configuration settings from the application config file?
35. Which of the ASP: whatever controls would you ever use in production and why?
36. How does an App domain get created?
37. When would using Assembly.LoadFrom or Assembly.LoadFile be appropriate?
38. What is an Assembly Qualified Name? Is it a filename? How is it different?
39. What is Inversion of Control? How does that relate to dependency injection?
40. How does a 3 tier application differ from a 2 tier one?
41. What are some alternate ways to store data other than a relational database? Why would you do that, and what are the trade-offs?
42. What's the difference between a web server, web farm, and web garden? How would your web application need to change for each?
43. What do you think is good about .NET?
44. What do you think is bad about .NET?
You can also ask some open-ended questions to gauge the knowledge, passion, and interest of the candidate:
45. What is something substantive that you've done to improve as a developer in your career?
46. Show me a portfolio of all the applications you worked on, and tell me how you contributed to design them.
47. You've just been assigned to a project in a new technology how would you get started?
48. What value do daily builds, automated testing and peer reviews add to a project? What disadvantages are there?
49. What elements of OO design are most prone to abuse? How would you mitigate that?
50. When do you know your code is ready for production?
51. Describe to me some bad code you've read or inherited lately.
So, these are some of the best .net technical interview questions which would help you choose the best candidate for your company.
Moving ahead, if you are looking for an easier way to assess the candidate's skills, using reliable AI-powered online skills assessment software - iMocha for .NET skills. It will help you screen candidates for you and save you a lot of time (that you would otherwise spend on telephonic interviews of so many non-competent candidates). Check out a few of Interview Mocha’s latest & quality .Net & C# online tests below -
- MVC online test for experienced
- C# Programming online test
- C# .Net OOPs test
- .Net Design Patterns Test Online
iMocha is super easy to use and provides a good candidate experience as well.
You can also check out the pre-employment aptitude test which can also give a good idea about the candidate's attitude.
To know more about iMocha, schedule a free demo now!