The ASP.NET developer is in high demand as more companies look to carve out a competitive advantage through better custom software programming.
However, businesses on the lookout for an ASP.NET developer should be mindful of two things that can happen in an increasingly specialised economy where technology professionals with in-demand skill sets are more heavily targeted by employers.
First, the most experienced candidates can be more exacting about the types of companies they work for, the projects they select, and the level of remuneration they will accept. Second, the market can be flooded with less-experienced professionals hoping an employer in need of IT talent will be willing to give them a chance — and the opportunity to gain experience and training.
To help ensure you hire the right qualified ASP.NET developer for your business — and show prospective hires that you have an appreciation for the nuances of their technology specialisation — consider asking these seven questions during the interview process:
1. How does .NET support multiple languages?
Although this question sounds basic (and it is), it can be deceptively hard to answer. It can help to separate candidates who just know the fact of .NET multi-language support from the professionals who understand and can articulate the how (and why). A strong response to this question might be: "To be classified as a .NET language, a language has to comply with the Common Language Runtime standard. Code in .NET is compiled to the Microsoft Intermediate Language. After it's compiled to the Intermediate Language, language is not a barrier. Code can use or call functions written in other languages."
2. What are page directives? Can you provide specific examples?
This question targets technical knowledge that any ASP.NET developer should have. Page directives are the first lines of an ASP.NET page. They provide instructions and settings for both ASP.NET web forms pages and user control files. Expecting an exhaustive list is unreasonable, but knowledge of a few can indicate that the candidate is comfortable working with page directives. Some of the more popular page directives are:
- CodeBehind: Provides the name of the compiled class associated with the page
- EnableTheming: Indicates whether the page uses themes
- Language: Shows which language is used for compiling inline code on the page
- Trace: Indicates whether tracing is enabled
- Page Language: Declares which page language you are using (ASP or ASP.NET)
3. What are the advantages and disadvantages of user controls and custom controls?
This question targets two key areas: The interviewee's knowledge, as well as his or her approach to design. It's important not to concentrate too much on factual questions that can be easily Googled. Gauging the candidate's ability to apply what he or she learns is much more beneficial. Some key differences between user and custom controls are:
- User controls are easier to create, but provide limited support for consumers using visual design tools. They're best suited for static layouts.
- Custom controls take more time to build but offer full visual design tool support. They're good for a dynamic layout.
4. What are some of the page events in the life cycle of an ASP.NET page?
The life cycle of an ASP.NET page travels through several different events as the page runs. This question is of an applied technical nature for the ASP.NET developer, as it demands familiarity with the entire ASP.NET life cycle, as well as the process of implementing and maintaining the correct code and controls for each stage. Common page events include:
- PreInit, which occurs after the completion of the start stage but before the initialization stage begins. During this event, the developer can create dynamic controls, set the master page and Theme property dynamically, and read the profile property values.
- InitCompete, which occurs toward the end of the initialization stage. During this event, changes to the ViewState can be applied past the next postback.
- Control events, which occur during the Load stage. During this stage, the ASP.NET developer handles specific control events, such as the TextChanged event in the TextBox control or the Click event in the Button control.
5. What versions of IIS have you worked with?
Internet Information Services (IIS) is an extensible web server that supports a variety of common Microsoft transfer protocols. There are several versions of IIS (the current one is 8.5), with a range of design configurations and processing capabilities. The slow-changing nature of many enterprise web server systems means that a potential candidate may not have worked with the latest version of IIS at a previous position. You must ensure your applicant either has experience working with the IIS version you use or has enough familiarity with similar ones to make the transition.
6. What is the concept of Postback in ASP.NET?
Postback is an important facet of web development, and is a concept the ASP.NET developer should know if that person is working on a project with multiple users. A postback is a client request to a server from a page that another user is currently working with. It is a key part of the edit form. ASP.NET has a mechanism that updates an HTTP POST request with a complete page back from server to client, effectively refreshing the whole page.
7. What is the concept of view state in ASP.NET?
ViewState is a mechanism that maintains the application's state between postbacks. On the client side, hidden form fields store the state of objects, returning them to the server during postback as subsequent requests. This question is another example of a technical question that ensures the ASP.NET developer has a thorough understanding of the software development life cycle (SDLC).
Effective questions balance an assessment of acumen with the ASP.NET developer candidate's understanding of the framework. It can also help to ask about past projects of which the candidate is particularly proud, or the kinds of work that person would like to do going forward. This can help you gain insight into a prospective hire's approach to his or her coding career, and shows that you're committed to combining the candidate's goals with your company's objectives.
What interview questions do you ask ASP.NET developers to assess these skills?