Skip to main content

dot net interview questions for tech lead


Discuss the difference between constants and read-only variables.
While constants and read-only variable share many similarities, there are some important differences:
  • Constants are evaluated at compile time, while the read-only variables are evaluated at run time.
  • Constants support only value-type variables (the only exception being strings), while read-only variables can hold reference-type variables.
  • Constants should be used when the value is not changing during run time, and read-only variables are used mostly when their actual value is unknown before run time.
  • Read-only variables can only be initialised at the time of declaration or in a constructor.
Explain what LINQ is.
LINQ is an acronym for Language Integrated Query, and was introduced with Visual Studio 2008. LINQ is a set of features that extends query capabilities to the .NET language syntax by adding sets of new standard query operators that allow data manipulation, regardless of the data source. Supported data sources are: .NET Framework collections, SQL Server databases, ADO.NET Datasets, XML documents, and any collection of objects that support IEnumerable or the generic IEnumerable<T> interface, in both C# and Visual Basic. In short, LINQ bridges the gap between the world of objects and the world of data.
Discuss what garbage collection is and how it works. Provide a code example of how you can enforce garbage collection in .NET.
Garbage collection is a low-priority process that serves as an automatic memory manager which manages the allocation and release of memory for the applications. Each time a new object is created, the common language runtime allocates memory for that object from the managed Heap. As long as free memory space is available in the managed Heap, the runtime continues to allocate space for new objects. However, memory is not infinite, and once an application fills the Heap memory space, garbage collection comes into play to free some memory. When the garbage collector performs a collection, it checks for objects in the managed Heap that are no longer being used by the application and performs the necessary operations to reclaim the memory. Garbage collection will stop all running threads, it will find all objects in the Heap that are not being accessed by the main program and delete them. It will then reorganize all the objects left in the Heap to make space and adjust all the Pointers to these objects in both the Stack and the Heap.
To enforce garbage collection in your code manually, you can run the following command (written in C#):
System.GC.Collect();

Explain deferred execution vs. immediate execution in LINQ. Provide examples.
In LINQ, deferred execution simply means that the query is not executed at the time it is specified. Specifically, this is accomplished by assigning the query to a variable. When this is done, the query definition is stored in the variable but the query is not executed until the query variable is iterated over. For example:
DataContext productContext = new DataContext();

var productQuery = from product in productContext.Products
        where product.Type == "SOAPS"
        select product;   // Query is NOT executed here

foreach (var product in productQuery)   // Query executes HERE
{
  Console.WriteLine(product.Name);
}
You can also force immediate execution of a query. This can be useful, for example, if the database is being updated frequently, and it is important in the logic of your program to ensure that the results you’re accessing are those returned at the point in your code where the query was specified. Immediate execution is often forced using a method such as AverageSumCountListToList, or ToArray. For example:
DataContext productContext = new DataContext();

var productCountQuery = (from product in productContext.Products
        where product.Type == "SOAPS"
        select product).Count();   // Query executes HERE\




Comments

Popular posts from this blog

Asp.net grid CRUD with ADO.NET

Asp.net grid CRUD with ADO.NET A GridView is a graphical control element that presents a tabular view of data. A typical Grid View also supports some or all of the following: Clicking a column header to change the sort order of the Grid. Dragging column headers to change their size and their order. The GridView control displays the values of a data source in a table. Each column represents a field, while each row represents a record. Support to data source controls, such as SqlDataSource. Support sort capabilities. Support update and delete capabilities. Support paging capabilities. Support row selection capabilities. Code behind feature access to the GridView object model to dynamically set properties, handle events, and so on. Many key fields. Many data fields for the hyperlink columns. Customized style layout through themes and styles using css and javascript. The following operations can be performed using GridView control in ASP.NET using C# code behind. Fea...

MVC Action Filters using log4net

Add log4net dll reference to your MVC project ------------------------------------------------------------------------------ Create following  model inside your models folder ------------------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Web; using System.Web.Mvc; namespace MVCWebApp.Models {     public class LoggingFilterAttribute : ActionFilterAttribute     {         #region Logging         /// <summary>         /// Access to the log4Net logging object         /// </summary>         protected static readonly log4net.ILog log =           log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);         pri...

Asp.net MVC Grrid with search add update and delete

CRUD Operations Using jqGrid In ASP.NET MVC 1. Create a new MVC Project and give the name for your project. To create a new MVC  project, Click File > New > Project or press CTRL + SHIFT + N.     2. Select MVC as a project Template with Individual Authentication.     3. Now for creating the table into the database using Code First Approach, I am creating a folder with name "Entities". For creating the folder inside the project right click on the folder and click on Add then click on  New Folder .     Now give the name for the folder as "Entities" .   4.  Add a class inside  Entities  folder with Name "StudentMaster.cs". You can follow the below figure to add class:   Now one dialog box will be open give the name for that class as "StudentMaster.cs".     5. Now write the following code into "StudentMaster". using  System;   using  System....