1. Tell us what is the Native Image Generator?

It is a tool that compiles the .Net assemblies to machine code for a specific processor. In this way, it improves its performance since the JIT no longer intervenes.

2. Tell us what is a sealed class?

It is a class that is not inheritable. A sealed class comes in use for a super specialized class, by design, and prevents modification by overwriting.

3. Please explain what is Reflection and what is it for?

It is the ability to read, instantiate, and invoke the properties & methods of an assembly's classes. It is especially useful when we do not have the source code for classes, only their assembly.

4. Please explain is the JIT an interpreter?

No, the JIT is not an interpreter. It is a compiler at runtime that improves performance compiling method by method only once. If the method is called a new account, the native code already compiled is used. However, an interpreter executes the same every block of code.

5. Tell us what is a variable of implicit type and what is its scope?

It is a variable that doesn't require type declaration since the compiler automatically determines its type. Its scope is local, within a method. It only allows inferring the kind the first time it assigns a value to the second. However, if the type is different, it throws an error.

6. Please explain what is a delegate?

It is the definition of a method that encapsulates certain arguments and type of return. It allows passing a method as an argument of a function, as long as it matches its specific signature.

7. Please explain what is the difference between a class and an object?

In short, a class is the definition of an object, and an object is instance of a class.

We can look at the class as a template of the object: it describes all the properties, methods, states and behaviors that the implementing object will have. As mentioned, an object is an instance of a class, and a class does not become an object until it is instantiated. There can be more instances of objects based on the one class, each with different properties.

8. Explain me difference between public and static modifiers?

To invoke a method, field, or static property, you don't need to instantiate the class.

On the other hand, to invoke a public method, you need an instance of a class.

9. What is the concept of inheritance and how it works in .NET?

In general OOP terms, inheritance means that a class can be based on another class, with the child class taking on the attributes of the parent class. For example, coders can create a class called Vehicle, and then child classes called Truck, Car and Motorcycle - all of which inherit the attributes of Vehicle.

To demonstrate their understanding of the interview question and the framework, candidates may bring up how .NET supports single inheritance only, which means that a class can inherit only from one other class. Their answer may also touch on the transitive nature of inheritance - for example, the Ford class inherits from Car, which inherits from Vehicle.

10. Please explain what are an object and a class?

An object is an instance of a class, and a class is a template for creating objects. Class is the definition of an object, the description of its characteristics and operations, its properties and its methods. An object has an identity because its characteristics have values.

Download Interview PDF