What is Dot Net (.NET)?
.Net: .Net is a free, cross-platform, open source developer platform for building many different types of applications. With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, gaming, and IoT. .NET apps in C#, F#, or Visual Basic.
C#: It is a simple, modern, object-oriented, and type-safe programming language.
F#: It is a cross-platform, open-source, functional programming language for .NET. It also includes object-oriented and imperative programming.
Visual Basic It is an approachable language with a simple syntax for building type-safe, object-oriented apps.
How many languages .NET is supporting now?
There are many languages are supported by .Net
VB.NET, C#, COBOL and Perl, etc.
Present 44 languages are supported by .NET.
What are the .NET implementations?
Each implementation of .NET includes the following components:
Ex: CLR for .NET Framework, CoreCLR and CoreRT for .NET Core.
- A class library that implements the .NET Standard and may implement additional APIs.
Ex: .NET Framework Base Class Library, .NET Core Base Class Library.
- Optionally, one or more application frameworks.
Ex: ASP.NET, Windows Forms, and Windows Presentation Foundation (WPF) are included in the .NET Framework.
- Optionally, development tools. Some development tools are shared among multiple implementations.
There are four primary .NET implementations that Microsoft actively develops and maintains: .NET Core, .NET Framework, Mono, and UWP.
What is .NET Core?
.NET Core is a cross-platform implementation of .NET and designed to handle server and
cloud workloads at scale. It runs on Windows, macOS and Linux. It implements the .NET Standard, so code that targets the .NET Standard can run on .NET Core. ASP.NET Core runs on .NET Core.
What is .NET Framework?
The .NET Framework is a managed execution environment for Windows that provides a variety of services to its running apps. It consists of two major components: the common language runtime (CLR), which is the execution engine that handles running apps, and the .NET Framework Class Library, which provides a library of tested, reusable code that developers can call from their own apps.
Microsoft officially definition of .NET Framework:
(The .NET Framework is the heart of Microsoft .NET. The .NET Framework is a software development platform of Microsoft .NET. Like any platform, it provides a runtime, defines functionality in some libraries, and supports a set of programming languages. The .NET Framework provides the necessary compile-time and run-time foundation to build and run .NET-based applications)
What is .NET Mono?
Mono is an open source implementation of Microsoft’s .NET Framework based on the ECMA standards for C# and the Common Language Runtime. A growing family of solutions and an active and enthusiastic contributing community is helping position Mono to become the leading choice for development of cross platform applications.
What is .NET UWP?
The Universal Windows Platform (UWP) is the app platform for Windows 10. You can develop apps for UWP with just one API set, one app package, and one store to reach all Windows 10 devices – PC, tablet, phone, Xbox, HoloLens, Surface Hub and more. It’s easier to support a number of screen sizes, and also a variety of interaction models, whether it be touch, mouse and keyboard, a game controller, or a pen. At the core of UWP apps is the idea that users want their experiences to be mobile across ALL their devices, and they want to use whatever device is most convenient or productive for the task at hand. The API is implemented in C++, and supported in C++, VB.NET, C#, F# and JavaScript.
What languages does the .NET Framework support?
The .NET Framework was developed so that it could support a theoretically infinite number of development languages. Currently, more than 20 development languages work with the .NET Framework. C# is the programming language specifically designed for the .NET platform, but C++ and Visual Basic have also been upgraded to fully support the .NET framework. The following are the commonly used languages provided by the Microsoft:
- C#
- VC++
- NET
- J#
- JScript .NET
What are the Advantages of .NET?
The .NET Framework provides the following advantages:
A consistent, object-oriented programming environment.
A code-execution environment that:
- Promotes safe execution of code.
- Eliminates the performance problems of scripted or interpreted environments.
- Minimizes software deployment and versioning conflicts.
A consistent experience for both developers and users across various types of Windows-based and Web-based applications on multiple devices.
Communication built on the industry standards to ensure that code based on the .NET Framework can integrate with any other code.
.NET is based on open Internet standards, which include Hypertext Transfer Protocol (HTTP), Extensible Markup Language (XML), and Simple Object Access Protocol (SOAP).
What is Microsoft Intermediate Language (MSIL)?
A .NET programming language (C#, VB.NET, J# etc.) does not compile into executable code; instead it compiles into an intermediate code called Microsoft Intermediate Language (MSIL). As a programmer one need not worry about the syntax of MSIL – since our source code in automatically converted to MSIL.
What is Common Language Specification (CLS)?
One of the obvious themes of .NET is unification and interoperability between various programming languages. In order to achieve this; certain rules must be laid and all the languages must follow these rules. In other words we cannot have languages running around creating their own extensions and their own fancy new data types. CLS is the collection of the rules and constraints that every language (that seeks to achieve .NET compatibility) must follow. Microsoft have defined three level of CLS compatibility/compliance. The goals and objectives of each compliance level has been set aside.
What is Common Language Runtime (CLR)?
Common Language Runtime (CLR) is .NET equivalent of Java Virtual Machine (JVM). It is the runtime that converts a MSIL code into the host machine language code, which is then executed appropriately. Â
What is Common Type System (CTS)?
The Common Type System (CTS) is a standard for defining and using data types in the .NET framework. CTS defines a collection of data types, which are used and managed by the run time to facilitate cross-language integration. CTS provides the types in the .NET Framework with which .NET applications, components and controls are built in different programming languages so information is shared easily. In contrast to low-level languages like C and C++ where classes/struts have to be used for defining types often used (like date or time), CTS provides a rich hierarchy of such types without the need for any inclusion of header files or libraries in the code.
What is Inheritance?
Inheritance is one of the fundamental attributes of object-oriented programming. It allows you to define a child class that reuses (inherits), extends, or modifies the behavior of a parent class. The class whose members are inherited is called the base class. The class that inherits the members of the base class is called the derived class.C# and .NET support single inheritance only. That is, a class can only inherit from a single class.
What are the benefits of using Inheritance?
- Once a behavior (method) or property is defined in a super class (base class), that behavior or property is automatically inherited by all subclasses (derived class).
- Code reusability increased through inheritance
- Inheritance provide a clear model structure which is easy to understand without much complexity
- Using inheritance, classes become grouped together in a hierarchical tree structure
- Code are easy to manage and divided into parent and child classes.
How do you prevent a class from being inherited?
 In VB.NET you use the Not Inheritable modifier to prevent programmers from using the class as a base class. In C#, use the sealed keyword.
How does .NET support multiple languages?
 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.”
For More :
What are the uses of .NET Framework applications?
.NET Framework used to developers for develop, run and deploy the following applications:
- 64-bit applications
- Console
- Windows form
- WPF
- Web applications
- Web Services
- Windows Services
- WCF service-oriented applications
- WF workflow-enabled applications
What are the .NET framework Remoting Objects?
There are 3 types of objects that can be configured to serve as .NET remote objects. You can choose the type of object depending on the requirement of your application.
Single Call: Single Call objects service one and only one request coming in. Single Call objects are useful in scenarios where the objects are required to do a finite amount of work. Single Call objects are usually not required to store state information, and they cannot hold state information between method calls. However, Single Call objects can be configured in a load-balanced fashion.
Singleton Objects: Singleton objects are those objects that service multiple clients and hence share data by storing state information between client invocations. They are useful in cases in which data needs to be shared explicitly between clients and also in which the overhead of creating and maintaining objects is substantial.
Client-Activated Objects (CAO): Client-activated objects (CAO) are server-side objects that are activated upon request from the client. This way of activating server objects is very similar to the classic COM coclass activation. When the client submits a request for a server object using “new” operator, an activation request message is sent to the remote application. The server then creates an instance of the requested class and returns an ObjRef back to the client application that invoked it. A proxy is then created on the client side using the ObjRef. The client’s method calls will be executed on the proxy. Client-activated objects can store state information between method calls for its specific client and not across different client objects. Each invocation of “new” returns a proxy to an independent instance of the server type.
What is relationship between a Process, Application Domain, and Application?
 Each process is allocated its own block of available RAM space, no process can access another process’ code or data. If the process crashes, it dies alone without taking the entire OS or a bunch of other applications down. A process is an instance of a running application. An application is an executable on the hard drive or network. There can be numerous processes launched of the same application (5 copies of Word running), but 1 process can run just 1 application.
What is a Satellite Assembly?
.NET Framework assembly containing resources specific to a given language. Using satellite assemblies, you can place the resources for different languages in different assemblies, and the correct assembly is loaded into memory only if the user selects to view the application in that language. In general, assemblies should contain culture-neutral resources. If you want to localize your assembly (for example use different strings for different locales) you should use satellite assemblies.
What is .Net Framework Metadata?
Metadata in .Net is binary information which describes the characteristics of a resource. This information includes Description of the Assembly, Data Types and members with their declarations and implementations, references to other types and members, Security permissions etc. A module’s metadata contains everything that needed to interact with another module.
What is the .NET Framework Class Library (FCL)?
The .NET Framework Class Library (FCL) .NET has an extensive library, offering literally thousands of reusable types. Organized into namespaces, the FCL contains code supporting all the .NET technologies, such as Windows Forms, Windows Presentation Foundation, ASP.NET, ADO.NET, Windows Workflow, and Windows Communication Foundation. In addition, the FCL has numerous cross-language technologies, including file I/O, networking, text management, and diagnostics. As mentioned earlier, the FCL has CLR support in the areas of built-in types, exception handling, security, and threading.
What is .Net threading?
Thread in computer science means a sequence of execution instructions that can run independently, that is a single flow of execution in a process. Thread is like a process, at least one thread exists within each process. Single Thread (normal programs) in computer science means that only one task can execute and at the same time the other tasks have to wait for the completion of the current task like in a queue. Single thread resulted in systems idle time and application performance. Multithreading allows multiple process to execute concurrently within a single program. That is more than one task in a program can execute at the same time and each thread run independently of its own. If multiple threads can exist within a process, typically share the state information of a process, and share memory and other resources directly. Each thread maintains exception handlers, a scheduling priority, and a set of structures the system uses to save the thread context until it is scheduled.
What is the difference between a namespace and assembly name?
Namespace:
A namespace provides a fundamental unit of logical code grouping.
It is a Collection of names wherein each name is Unique.
They form the logical boundary for a Group of classes.
Namespace must be specified in Project-Properties.
Assembly name:
An assembly provides a fundamental unit of physical code grouping.
It is an Output Unit. It is a unit of Deployment & a unit of versioning. Assemblies contain MSIL code.
What is the difference between int and int32?
No difference between int and int32. System.Int32 is a .NET Class and int is an alias name for System.Int32.
What is shadowing?
Shadowing is either through scope or through inheritance. Shadowing through inheritance is hiding a method of a base class and providing a new implementation for the same. This is the default when a derived class writes an implementation of a method of base class which is not declared as overridden in the base class. This also serves the purpose of protecting an implementation of a new method against subsequent addition of a method with the same name in the base class. ‘Shadows’ keyword is recommended although not necessary since it is the default.
What is the differences between dataset.clone and dataset.copy?
Dataset.Clone: Copies the structure of the DataSet, including all DataTable schemas, relations, and constraints. Does not copy any data.
Dataset.Copy: Copies both the structure and data for this DataSet.
What does a .NET Developer Do?
Developers tackle several tasks depending on a project’s requirements. If you want a web presence and want to customize a web application without an out-of-the-box solution such as WordPress, then a .NET programmer can take your ideas and turn them into a tangible product. .NET developers also write desktop applications, but many of them specialize in either cloud or web programming. When you search for .NET developers, make sure you’re looking for ones that specialize in the environment you’re looking to build an application for. Cloud applications would be anything that runs in a web browser, while desktop applications are any software that is installed on the local desktop machine.
What is tuple?
A tuple is a data structure that provides an easy way to represent a single set of data. The System. Tuple class provides static methods to create tuple objects.
Tuples allow us to,
Create, access, and manipulate a data set
Return a data set from a method without using out parameter
Pass multiple values to a method through a single parameter.
What are different types of authentication techniques that are used in connection strings to connect .NET applications with Microsoft SQL Server?
There are two types:
The Windows Authentication option
The SQL Server Authentication option.
Which is the parent class of the Web server control?
The System.Web.Ul.Control class is the parent class for all Web server controls.
What is Internet Information Services (IIS)? Why is it used?
Internet Information Services (IIS) is created by Microsoft to provide Internet-based services to ASP.NET Web applications. It makes your computer to work as a Web server and provides the functionality to develop and deploy Web applications on the server. IIS handles the request and response cycle on the Web server. It also offers the services of SMTP and FrontPage server extensions. The SMTP is used to send emails and use FrontPage server extensions to get the dynamic features of IIS, such as form handler.
What is the global assembly cache?
 GAC is a machine-wide cache of assemblies that allows .NET applications to share libraries. GAC solves some of the problems associated with dll’s (DLL Hell).
What is .Net application?
.Net Application Domain: An application domain is a virtual process and is used to isolate applications from one another. Each application domain has their own virtual address space which scopes the resources for the application domain using that address space. Each application running within its main process boundaries and its application domain boundaries. All objects created within the same application scope are created within the same application domain. Multiple application domains can exist in a single operating system process. An application running inside one application domain cannot directly access the code running inside another application domain.
What is the difference between Globalization and Localization?
Globalization is design technique which is based on the idea that application might have to run under different cultures. You make decisions in code which act upon some known properties of cultures – for example, you may right-align controls if you find out that current culture is RightToLeft; otherwise leave controls left-aligned. Another examples are to take current culture settings to determine currency, numbers format, date/time format etc. rather than hard-coding them.
Localization is the process of creating actual content which takes current culture into account. It means, for example, writing content with specific currency sign or formatting numbers with specific thousands delimiter. It may become more difficult to represent labels and parts of text. That is typically done by creating string resources that represent particular labels and scribblings on the interface (or Web page). Then, instead of filling controls texts with fixed labels, you rather pick the string from resources, but for the desired culture.
Some .Net developer interview questions.
Why do you think you would be a good fit for this opportunity?
What would you do if you didn’t think you could meet a project deadline?
What do you mean by authentication and authorization?
Why do you prefer to use .NET over other frameworks? What do you like/not like about working with it?
What was the most enjoyable project you’ve worked on?
Which do you prefer: the analysis, design, and deployment phases of an IT project, or the development phase of a specific, individual task?
What is the concept of view state in ASP.NET?
Describe some bad code you’ve read, or fixed.
Â