Interview Questions Part 1


Q 1) MVC Means ?
Ans)
ASP.NET MVC is a part of the ASP.NET Web application framework
MVC stands for multi view controller and this is a part of dot net framework. It has several versions.
MVC application is created by using following 3 attributes namely: Model, View and Controller.

Model: It tells the the core information of an application which includes data, validation rules and data access and aggregation logic.

View: The view is used to encapsulate the presentation of the application.

Controller: The controller contains of the control-flow logic. Controller interacts with the Model and View in order to control the flow and execution of the application.

--------------------------------------------------------------------------------------------------------------------
Q 2) Is it possible to implement an interface to a structure?
Is it possible to extend a struct?
Is it possible to inherit a class to struct?

Is it possible to implement an interface to a structure?
Ans: A struct can implement interfaces, and it does that  exactly 
 as classes do.
Is it possible to extend a struct? 
Ans: struct cannot extend another struct  
Is it possible to inherit a class to struct?
Ans:  A struct cannot inherit from another struct or class
--------------------------------------------------------------------
Q 3)  When static constructor is invoked?
A static constructor is used to initialize any static data, or to  
perform a Particular action that needs performed once only. It is
called automatically before the first instance is created or any
static members are referenced.
Static constructors have the following properties: 
• A static constructor does not take access modifiers or have 
 parameters.
• A static constructor is called automatically to initialize the class 
 before the first instance is created or any static members are referenced.
• A static constructor cannot be called directly.
• The user has no control on when the static constructor is executed in the program.
• A typical use of static constructors is when the class is using a log file and the
  constructor is used to write entries to this file.
• Static constructors are also useful when creating wrapper classes for unmanaged
  code, when the constructor can call the LoadLibrary method.
 public class Bus {    
 // Static constructor:    
 static Bus()   
  {    
     System.Console.WriteLine("The static constructor invoked.");  
   } 
 public static void Drive()  
 {    
     System.Console.WriteLine("The Drive method invoked.");  
 }
  }  
class TestBus {     
static void Main()  
{  Bus.Drive();  
}
 }
Tags : 
MVC,
Is it possible to implement an interface to a structure,
Is it possible to extend a struct,
Is it possible to inherit a class to struct,

Is it possible to implement an interface to a structure,
 

Getting column values as comma seperated list using XML PATH()



select tc.customerid,stuff((
select ',' + convert(nvarchar(30),tct.Customer_TripId)
from tollplus.TP_Customers tc
inner join tollplus.TP_Customer_Trips tct
on tc.customerid=tct.customerid and tc.customerid=60000252
for xml path('')),1,1,'')as usergroups
from tollplus.TP_Customers tc where tc.customerid=60000252


SqlServer - Ordering result set with null values after non-null values


Order by with null values in sql server is a tricky. Normally it puts the result set like: NULL, NULL, 1,2,3...etc

If your want the result set like: 1,2,3,NULL, NULL,......etc there is not direct method for this. You have to use the below script to get the required output.


declare @MaxId int
select @MaxId = max(code) + 1 FROM TableA

SELECT code
FROM TableA
ORDER by isnull(code, @MaxId)

Sql Server 2008 Installation Process

For Sql server 2008 Installation Process.

Check the below URL to get the Clear Information.

http://www.sqlcoffee.com/SQLServer2008_0011.htm

Filter data by using IN and NOT IN clause

In this post I am going to show some SQLqueries and LINQ queries, but not going to show images for all cases.Filter data by using IN and NOT IN clause

Most of the developer who started working on LINQ queries gets confuse when they got requirement to write IN and NOT IN query using LINQ.


SQL Query
//IN
SELECT [Id], [UserId], [IMEINo]
FROM [UserClients]
WHERE [UserId] IN (3, 4)

or

//NOT IN
SELECT [Id], [UserId], [IMEINo]
FROM [UserClients]
WHERE [UserId] IN (3, 4)

as you see above query use IN and NOT IN clause to filter from list of records.

LINQ Query
To achieve similar task LINQ make use of Contains function of C#. which do filtering of record form the list of record.

//IN
int[] chosenOnes = { 3, 4 };
var user = from u in UserClients
where chosenOnes.Contains(u.UserId.Value)
select new { u.id,u.userid, u.ImeiNo};

or

//NOT IN
int[] chosenOnes = { 3, 4 };
var user = from u in UserClients
where !chosenOnes.Contains(u.UserId.Value)
select u;

Note :
IN and NOT IN use same function in LINQ query but it just use !(Not) symbol for it

Linq to get the values with Comma seperated.

Here is the LINQ to convert your LINQ result into a comma separated value:

string returnVal = (from a in b
select a.StringValue).Aggregate(new StringBuilder(),
(c, d) => c.Append(",").Append(@"""" + d + @""""),
(c) => c.ToString().TrimStart(new char[] { ',' })
.TrimEnd(new char[] { ',' }))

Example:


customerTrips = (from a in dtReceiptAmountDetails.AsEnumerable()
select a.Field("Customer_TripId").ToString()).Aggregate(new StringBuilder(),
(c, d) => c.Append(",").Append(d),
(c) => c.ToString().TrimStart(new char[] { ',' })
.TrimEnd(new char[] { ',' }));

dtReceiptAmountDetails ---> Data Table
Customer_TripId ---> Column Name.

Difference between VS2008 & VS2010

  1. Project Solution Extension in vs2008 is ".sln(Solution)"
  2. Project Solution Extension in vs2010 is " .suo(Solution User Options) "

Sql Server 2000,2005 & 2008 Version differences

I mention the the difference between all the sql server version difference Point's wise to understand easily.

Sql Server 2000:

1.Query Analyser and Enterprise manager are separate.
2.No XML datatype is used.
3.We can create maximum of 65,535 databases.
4.Nill
5.Nill
6.Nill
7.Nill
8.Nill
9.Nill
10.Nill
11.Nill
12.Nill
13.cant compress the tables and indexes.
14.Datetime datatype is used for both date and time.
15.No varchar(max) or varbinary(max) is available.
16.No table datatype is included.
17.No SSIS is included.
18.CMS is not available.
19.PBM is not available.

Sql Server 2005:

1.Both are combined as SSMS(Sql Server management Studio).
2.XML datatype is introduced.
3.We can create 2(pow(20))-1 databases.
4.Exception Handling
5.Varchar(Max) data type
6.DDL Triggers
7.DataBase Mirroring
8.RowNumber function for paging
9.Table fragmentation
10.Full Text Search
11.Bulk Copy Update
12.Cant encrypt
13.Can Compress tables and indexes.(Introduced in 2005 SP2)
14.Datetime is used for both date and time.
15.Varchar(max) and varbinary(max) is used.
16.No table datatype is included.
17.SSIS is started using.
18.CMS is not available.
19.PBM is not available.


Sql Server 2008:

1.Both are combined as SSMS(Sql Server management Studio).
2.XML datatype is used.
3.We can create 2(pow(20))-1 databases.
4.Exception Handling
5.Varchar(Max) data type
6.DDL Triggers
7.DataBase Mirroring
8.RowNumber function for paging
9.Table fragmentation
10.Full Text Search
11.Bulk Copy Update
12.Can encrypt the entire database introduced in 2008.
13.Can compress tables and indexes.
14.Date and time are seperately used for date and time datatype,geospatial and timestamp with internal timezone is used.
15.Varchar(max) and varbinary(max) is used.
16.Table datatype introduced.
17.SSIS avails in this version.
18.Central Management Server(CMS) is Introduced.
19.Policy based management(PBM) server is Introduced.


Linq concepts

Linq Sum :

If we want to implement the Linq Concepts must use "Systme.Linq" reference
(using System.Linq;)

Example with Description:
decimal lineItems_SUM = 0;

lineItems_SUM = (from "AliasName" in "IList Items" // List items.

select
"AliasName"."Property" ).Sum();


Asp Controls Rendering.

Example with an Asp Button Control.

In Asp:

asp:Button ID="btnCancel" runat="server" Text="CANCEL" ToolTip="Cancel" CssClass="submitbtn" TabIndex="9"


After Rendering:
 <input type="submit"
name="ctl00$ContentPlaceHolder1$ctl00$btnCancel"
value="CANCEL" id="ctl00_ContentPlaceHolder1_ctl00_btnCancel"
tabindex="9" title="Cancel" class="submitbtn" />


Description:

Ofcourse almost we know except "name" After Rendering.
name -- This is used to maintain the view state.
If we want to find the button using view state using the "name"
tag we can identified.

This Fry is latest and taste always

This Fry is latest and taste always