Are you looking for a job as a Software Engineer (.NET)? Or are you thinking of leaving your current position for a new job as a software developer with a new company in the dot NET environment?

If you answered yes to either of those questions, then this article is for you and any of the described technologies and questions may be asked of you during the interview!

An Introduction with .NET Software Engineer’s roles and responsibilities:

Every business that requires its own computer programs or third-party software to conduct business with ease of functionality needs software engineers to write, edit and test programs per the business/client’s requirements. There are many computer programming languages to develop that kind of computer program but Microsoft Dot NET is one of the widely used for software/web development.

A software engineer (Dot NET) is responsible for performing the following functions:

  • Design, code, test and debug new .NET applications and modifications
  • Develop and maintain user documentations
  • Code reviews and write high quality coding that meets customer requirements
  • Review and debug application’s issues
  • Define project scope and objectives
  • Develop and maintain problem solutions for .NET applications
  • Research and learn new technologies adopted by the clients
  • Conduct performance, unit and stress testing for .NET applications
  • Gather customer software requirements
  • Create software documentation and update existing documentation
  • Ensure compliance with the documented software processes and procedures throughout the life cycle of software products

Required Key Skills for a Dot NET Software Engineer:

Strong analytical skills and the ability to pay careful attention to detail are keys to success in software engineering. A Software Engineer (Dot NET) must have the following technical skills:

  • Understanding of .Net framework and .Net compact framework (for mobile applications)
  • Features of .NET
  • Sound knowledge of the software development life cycle
  • General understanding of OOP (Object Oriented Programing) concepts
  • General understanding of C,C++ and C#
  • Hands-on knowledge in code development, modification, testing of VB.NET, ASP.NET, C#.NET, XML , AJAX
  • Knowledge about the DBMS e.g. Oracle Database, Microsoft SQL Server etc. and ADO.NET
  • General understanding of rollback and failovers handling
  • A software engineer should have the ability to handle multiple projects with deadlines

My Best Questions for an Interview of a Software Engineer (.NET): All of the questions below are very common and must be well prepared for before facing any interview for the Software Developer position in .NET environment.

Q: What is .NET Framework?

A: .NET Framework is a complete environment that allows developers to develop, run, and deploy the following applications:

  • Console applications
  • Windows Forms applications
  • Windows Presentation Foundation (WPF) applications
  • Web applications (ASP.NET applications)
  • Web services
  • Windows services
  • Service-oriented applications using Windows Communication Foundation (WCF)
  • Workflow-enabled applications using Windows Workflow Foundation (WF)

Q: What is object-oriented programming (OOP)? Which languages are supported by .NET framework?

A: OOP is a technique to develop logical modules, such as classes that contain properties, methods, fields, and events. For example, an object is created in the program to represent a class. OOP allows developers to develop modular programs and assemble them as software.

.NET Framework supports only OOP languages, such as Visual Basic .NET, Visual C#, and Visual C++.

Q: Describe the main components of .NET Framework.

A: .NET Framework provides enormous advantages to software developers in comparison to the advantages provided by other platforms. The following are the key components of .NET Framework:

  • .NET Framework Class Library
  • Common Language Runtime
  • Dynamic Language Runtimes (DLR)
  • Application Domains
  • Runtime Host
  • Common Type System
  • Metadata and Self-Describing Components
  • Cross-Language Interoperability
  • .NET Framework Security
  • Profiling
  • Side-by-Side Execution

Q: What is an IL?

A: Intermediate Language is also known as MSIL (Microsoft Intermediate Language) or CIL (Common Intermediate Language). All .NET source code is compiled to IL. IL is then converted to machine code at the point where the software is installed, or at run-time by a Just-In-Time (JIT) compiler.

Q: What are the main roles of CLR in .NET Framework?

A: CLR provides common runtime environment for all .NET code irrespective of their programming language, as the compilers of respective language in .NET Framework converts every source code into a common language known as MSIL or IL (Intermediate Language).

CLR performs various tasks to manage the execution process of .NET applications. The responsibilities of CLR are listed as follows:

  • Automatic memory management
  • Garbage Collection
  • Code Access Security
  • Code verification
  • JIT compilation of .NET code

Q: What is the relationship between a class and an object?

A: A class defines the properties, states and behaviors that is common to a number of objects where an object is an instance of the class.

Q: Explain the basic features of OOPs.

A: The following are the four basic features of OOP:

  • Abstraction – Refers to the process of exposing only the relevant and essential data to the users without showing unnecessary information.
  • Polymorphism – Allows you to use an entity in multiple forms.
  • Encapsulation – Prevents the data from unwanted access by binding of code and data in a single unit called object.
  • Inheritance – Promotes the reusability of code and eliminates the use of redundant code.

Q: What is ASP.NET? What is the main difference between ASP and ASP.NET?

A: ASP.NET is Microsoft’s server-side technology for creating dynamic and user-friendly Web applications, Web sites and Web services. You can create ASP.NET applications in most of the .NET compatible languages, such as VB, C#, and J#. The ASP.NET compiles the Web pages and provides much better performance than scripting languages. The main difference between ASP and ASP.NET is that ASP is interpreted; whereas, ASP.NET is compiled.

Q: What is the concept of Postback in ASP.NET? How can we identify that the Page is Post Back?

A: A postback is a request sent from a client to the server from the same page where a user is already working. It’s basically posting a complete page back to server (i.e. sending all of its data) on the same page. So, the whole page is refreshed.

Page object has an “IsPostBack” property, which can be checked to know that is the page posted back.

Q: What is an assembly?

A: An assembly is one of the elements of a .NET application and is termed as a primary unit of all .NET applications. This assembly can be either a DLL or an executable file.

Q: How can we auto size a button to fit its text?

A: The button control has the AutoSize property, which can be set to true or false. If we set the value of the AutoSize property to true, then the button control automatically alters its size according to the content displayed on it.

Q: What is the difference between method overriding and method overloading?

A: Overriding involves the creation of two or more methods with the same name and same signature in different classes.

Overloading is a concept of using a method at different places with the same name and different signatures within the same class.

Q: What is constructor and why we use constructor?

A: Constructor is a special method of a class, which is called automatically when the instance of a class is created. It is created with the same name as the class and initializes all class members, whenever you access the class.

The main features of a constructor are as follows:

  • Constructors do not have any return type
  • Constructors are always public
  • It is not mandatory to declare a constructor; it is invoked automatically by .NET Framework

Q: What is a delegate and multicast delegates?

A: A delegate is similar to a class, used for storing the reference to a method and invoking that method at runtime, if required. Some of the examples of delegates are type-safe functions, pointers or callbacks.

A delegate object is to hold references of and invoke multiple methods. Such delegate objects are called multicast delegates or combinable delegates.

Q: What is a namespace?

A: Namespace is considered as a container that contains a functionally related group of classes and other types.

Q: Can you declare a private class in a namespace?

A: The classes in a namespace are internal, by default. However, you can explicitly declare them as public only and not as private, protected, or protected internal.

Q: What is garbage collection?

A: Garbage collection prevents memory leaks during execution of programs. Garbage collection is a low-priority process that manages the allocation and de-allocation of memory for your application. If GC finds any object that is no longer used by the application, it frees up the memory from that object.

Q: What is Extensible Mark-up Language (XML)?

A: XML is a simple and flexible mark-up language in the text format. Nowadays, it is widely used to exchange a large variety of data over the Internet. XML consists of data as text in well-defined customized layouts by using self-defining tags. These user-defined tags are user friendly and make the information easily understandable to a user.

Q: What are the main differences between XML and HTML?

A: Following are themain differences;

  • HTML is about displaying information while XML is about describing information.
  • XML supports user-defined tags while HTML provides pre-defined tags.
  • XML is a case-sensitive language while HTML language is not case-sensitive.
  • In XML, all tags must be closed; while in HTML, it is not necessary to close each tag.

Q: Difference between Response.Redirect and Server.Transfer?

A: In case of Response.Redirect, a new request is generated from client-side for redirected page. It’s a kind of additional round trip. As a new request is generated from the client, the new URL is visible to users in the browser after redirection.

While in the case of Server.Transfer, a request is transferred from one page to another without making a round trip from the client. For the end user, the URL remains the same in the browser even after transferring to another page.

Q: Briefly explain the use of Global.asax.

A: Global.asax is basically ASP.NET Application file. It’s a place to write code for Application-level events such as Application start, Application end, Session start and end, Application error etc. raised by ASP.NET.

Q: Which namespaces are used for XML in the .NET environment?

A: Namespace System.xml.dll is the real physical file, which contains the XML implementation. Some of the other namespaces that allow .NET to use XML are as follows:

  • System.Xml
  • System.Xml.Schema
  • System.Xml.XPath
  • System.Xml.Xsl

Q: What is an XML schema?

A: An XML schema provides the definition of an XML document. It defines the following in an XML document:

  • The elements that can appear in an XML document
  • The attributes that can appear in an XML document
  • The elements that are child elements
  • The order of child elements
  • The number of child elements
  • Whether an element is empty or it includes some text
  • The data types for elements and attributes

The questions above are very important from the standpoint of clearing any interview for a software engineer position in a .NET environment. It is not possible for anyone to explain all kinds of questions, but you can get more frequently asked interview questions for Software Engineering (.NET) Jobs from the download link posted here. If you find any difficulty in answering any questions, then you can write me @ Comment section.

Tips for Preparing for an Interview

  • Study: Before an interview, take a quick recap of relevant technologies.
  • Updated Resume: Read your resume through; don’t copy and paste your resume. You must be aware of your strengths and weaknesses.
  • Professional Certifications: One of the best ways to prove the technical skills mentioned in your resume is through certifications. This gives a new employer an easy way to understand your knowledge level.
  • Updated LinkedIn Profile: Update your LinkedIn profile regularly; make sure that your work experience, qualifications, and project details match with your resume.

Don’t forget to post your queries and feedback in the comment section. You can join our Facebook group, http://www.facebook.com/intenseschool, to get updates on new posts and technologies.