Click here to Skip to main content
15,895,011 members
Home / Discussions / C#
   

C#

 
QuestionLoad Assembly (file not found!)? Pin
superwasabidave31-Mar-06 7:27
superwasabidave31-Mar-06 7:27 
AnswerRe: Load Assembly (file not found!)? Pin
leppie31-Mar-06 11:54
leppie31-Mar-06 11:54 
Questionhelp with text editor??? Pin
abdelhameed8131-Mar-06 6:52
abdelhameed8131-Mar-06 6:52 
AnswerRe: help with text editor??? Pin
Small Rat31-Mar-06 11:14
Small Rat31-Mar-06 11:14 
Questionword counter Pin
jessica gelina31-Mar-06 6:21
jessica gelina31-Mar-06 6:21 
AnswerRe: word counter Pin
User 665831-Mar-06 7:13
User 665831-Mar-06 7:13 
GeneralRe: word counter Pin
NormDroid31-Mar-06 9:01
professionalNormDroid31-Mar-06 9:01 
Questionquestion enjoy Pin
rizwan.afsar31-Mar-06 6:01
rizwan.afsar31-Mar-06 6:01 
C# Sharp Dotnet Interview Questions


1) The C# keyword ‘int’ maps to which .NET type?

a.System.Int16

b.System.Int32

3.System.Int64

4.System.Int128

2) Which of these string definitions will prevent escaping on backslashes in C#?

a.string s = #”n Test string”;

b.string s = “’n Test string”;

c.string s = @”n Test string”;

d.string s = “n Test string”;


3) Which of these statements correctly declares a two-dimensional array in C#?

a.int[,] myArray;

b.int[][] myArray;

c.int[2] myArray;

d.System.Array[2] myArray;

4) If a method is marked as protected internal who can access it?

a.Classes that are both in the same assembly and derived from the declaring class.

b.Only methods that are in the same class as the method in question.

c.Internal methods can be only be called using reflection.

d.Classes within the same assembly, and classes derived from the declaring class.

5) What is boxing?

a) Encapsulating an object in a value type.

b) Encapsulating a copy of an object in a value type.

c) Encapsulating a value type in an object.

d) Encapsulating a copy of a value type in an object.

6) What compiler switch creates an xml file from the xml comments in the files in an assembly?

a./text

b./doc

c./xml

d./help

7) What is a satellite Assembly?

a)A peripheral assembly designed to monitor permissions requests from an application.

b)Any DLL file used by an EXE file.

c)An assembly containing localized resources for another assembly.

d)An assembly designed to alter the appearance or ‘skin’ of an application.

8) What is a delegate?

a)A strongly typed function pointer.

b)A light weight thread or process that can call a single method.

c)A reference to an object in a different process.

d)An inter-process message channel.

9) How does assembly versioning in .NET prevent DLL Hell?

a)The runtime checks to see that only one version of an assembly is on the machine at any one time.

b).NET allows assemblies to specify the name AND the version of any assemblies they need to run.

c)The compiler offers compile time checking for backward compatibility.

d)It doesn’t.

10) Which “Gang of Four” design pattern is shown below?

public class A {

private A instance;

private A() {

}

public
static A Instance {

get

{

if ( A == null )

A = new A();

return instance;

}

}

}

a)Factory

b)Abstract Factory

c)Singleton

d)Builder

11) In the NUnit test framework, which attribute must adorn a test class in order for it to be picked up by the NUnit GUI?

a)TestAttribute

b)TestClassAttribute

c)TestFixtureAttribute

d)NUnitTestClassAttribute

12) Which of the following operations can you NOT perform on an ADO.NET DataSet?

a)A DataSet can be synchronised with the database.

b)A DataSet can be synchronised with a RecordSet.

c)A DataSet can be converted to XML.

d)You can infer the schema from a DataSet.

13) In Object Oriented Programming, how would you describe encapsulation?

a)The conversion of one type of object to another.

b)The runtime resolution of method calls.

c)The exposition of data.

d)The separation of interface and implementation.
1.Are private class-level variables inherited? - Yes, but they are not accessible, so looking at it you can honestly say that they are not inherited. But they are.
2.Why does DllImport not work for me? - All methods marked with the DllImport attribute must be marked as public static extern.
3.Why does my Windows application pop up a console window every time I run it? - Make sure that the target type set in the project properties setting is set to Windows Application, and not Console Application. If you’re using the command line, compile with /target:winexe, not /target:exe.
4.Why do I get an error (CS1006) when trying to declare a method without specifying a return type? - If you leave off the return type on a method declaration, the compiler thinks you are trying to declare a constructor. So if you are trying to declare a method that returns nothing, use void. The following is an example: // This results in a CS1006 error public static staticMethod (mainStatic obj) // This will work as wanted public static void staticMethod (mainStatic obj)
5.Why do I get a syntax error when trying to declare a variable called checked? - The word checked is a keyword in C#.
6.Why do I get a security exception when I try to run my C# app? - Some security exceptions are thrown if you are working on a network share. There are some parts of the frameworks that will not run if being run off a share (roaming profile, mapped drives, etc.). To see if this is what’s happening, just move the executable over to your local drive and see if it runs without the exceptions. One of the common exceptions thrown under these conditions is System.Security.SecurityException. To get around this, you can change your security policy for the intranet zone, code group 1.2, (the zone that running off shared folders falls into) by using the caspol.exe tool.
7.Why do I get a CS5001: does not have an entry point defined error when compiling? - The most common problem is that you used a lowercase ‘m’ when defining the Main method. The correct way to implement the entry point is as follows: class test { static void Main(string[] args) {} }
8.What optimizations does the C# compiler perform when you use the /optimize+ compiler option? - The following is a response from a developer on the C# compiler team: We get rid of unused locals (i.e., locals that are never read, even if assigned). We get rid of unreachable code. We get rid of try-catch with an empty try. We get rid of try-finally with an empty try. We get rid of try-finally with an empty finally. We optimize branches over branches: gotoif A, lab1 goto lab2: lab1: turns into: gotoif !A, lab2 lab1: We optimize branches to ret, branches to next instruction, and branches to branches.
9.What is the syntax for calling an overloaded constructor within a constructor (this() and constructorname() does not compile)? - The syntax for calling another constructor is as follows: class B { B(int i) { } } class C : B { C() : base(5) // call base constructor B(5) { } C(int i) : this() // call C() { } public static void Main() {} }
10.What is the equivalent to regsvr32 and regsvr32 /u a file in .NET development? - Try using RegAsm.exe. Search MSDN on Assembly Registration Tool.
11.What is the difference between a struct and a class in C#? - From language spec: The list of similarities between classes and structs is as follows. Longstructs can implement interfaces and can have the same kinds of members as classes. Structs differ from classes in several important ways; however, structs are value types rather than reference types, and inheritance is not supported for structs. Struct values are stored on the stack or in-line. Careful programmers can sometimes enhance performance through judicious use of structs. For example, the use of a struct rather than a class for a Point can make a large difference in the number of memory allocations performed at runtime. The program below creates and initializes an array of 100 points. With Point implemented as a class, 101 separate objects are instantiated-one for the array and one each for the 100 elements.
12.My switch statement works differently than in C++! Why? - C# does not support an explicit fall through for case blocks. The following code is not legal and will not compile in C#:
switch(x)
{
case 0: // do something
case 1: // do something as continuation of case 0
default: // do something in common with
//0, 1 and everything else
break;
}
To achieve the same effect in C#, the code must be modified as shown below (notice how the control flows are explicit):

class Test
{
public static void Main() {
int x = 3;
switch(x)
{
case 0: // do something
goto case 1;
case 1: // do something in common with 0
goto default;
default: // do something in common with 0, 1, and anything else
break;
}
}
}
13.Is there regular expression (regex) support available to C# developers? - Yes. The .NET class libraries provide support for regular expressions. Look at the System.Text.RegularExpressions namespace.
14.Is there any sample C# code for simple threading? - Yes:
using System;
using System.Threading;
class ThreadTest
{
public void runme()
{
Console.WriteLine(\"Runme Called\");
}
public static void Main(String[] args)
{
ThreadTest b = new ThreadTest();
Thread t = new Thread(new ThreadStart(b.runme));
t.Start();
}
}
15.Is there an equivalent of exit() for quitting a C# .NET application? - Yes, you can use System.Environment.Exit(int exitCode) to exit the application or Application.Exit() if it’s a Windows Forms app.
16.Is there a way to force garbage collection? - Yes. Set all references to null and then call System.GC.Collect(). If you need to have some objects destructed, and System.GC.Collect() doesn’t seem to be doing it for you, you can force finalizers to be run by setting all the references to the object to null and then calling System.GC.RunFinalizers().
17.Is there a way of specifying which block or loop to break out of when working with nested loops? - The easiest way is to use goto:
using System;
class BreakExample
{
public static void Main(String[] args) {
for(int i=0; i<3; i++)
{
Console.WriteLine(\"Pass {0}: \", i);
for( int j=0 ; j<100 ; j++ )
{
if ( j == 10)
goto done;
Console.WriteLine(\"{0} \", j);
}
Console.WriteLine(\"This will not print\");
}
done:
Console.WriteLine(\"Loops complete.\");
}
}
Is it possible to restrict the scope of a field/method of a class to the classes in the same namespace? - There is no way to restrict to a namespace. Namespaces are never units of protection. But if you’re using assemblies, you can use the ‘internal’ access modifier to restrict access to only within the assembly.
MS-Sql Server Interview Questions
1.Is it possible to inline assembly or IL in C# code? - No.
2.Is it possible to have different access modifiers on the get/set methods of a property? - No. The access modifier on a property applies to both its get and set accessors. What you need to do if you want them to be different is make the property read-only (by only providing a get accessor) and create a private/internal set method that is separate from the property.
3.Is it possible to have a static indexer in C#? - No. Static indexers are not allowed in C#.
4.If I return out of a try/finally in C#, does the code in the finally-clause run? - Yes. The code in the finally always runs. If you return out of the try block, or even if you do a “goto” out of the try, the finally block always runs:

using System;

class main
{
public static void Main()
{
try
{
Console.WriteLine(\"In Try block\");
return;
}
finally
{
Console.WriteLine(\"In Finally block\");
}
}
} Both “In Try block” and “In Finally block” will be displayed. Whether the return is in the try block or after the try-finally block, performance is not affected either way. The compiler treats it as if the return were outside the try block anyway. If it’s a return without an expression (as it is above), the IL emitted is identical whether the return is inside or outside of the try. If the return has an expression, there’s an extra store/load of the value of the expression (since it has to be computed within the try block).

5.I was trying to use an “out int” parameter in one of my functions. How should I declare the variable that I am passing to it? - You should declare the variable as an int, but when you pass it in you must specify it as ‘out’, like the following: int i; foo(out i); where foo is declared as follows: [return-type] foo(out int o) { }
6.How does one compare strings in C#? - In the past, you had to call .ToString() on the strings when using the == or != operators to compare the strings’ values. That will still work, but the C# compiler now automatically compares the values instead of the references when the == or != operators are used on string types. If you actually do want to compare references, it can be done as follows: if ((object) str1 == (object) str2) { … } Here’s an example showing how string compares work:
using System;
public class StringTest
{
public static void Main(string[] args)
{
Object nullObj = null; Object realObj = new StringTest();
int i = 10;
Console.WriteLine(\"Null Object is [\" + nullObj + \"]\n\"
+ \"Real Object is [\" + realObj + \"]\n\"
+ \"i is [\" + i + \"]\n\");
// Show string equality operators
string str1 = \"foo\";
string str2 = \"bar\";
string str3 = \"bar\";
Console.WriteLine(\"{0} == {1} ? {2}\", str1, str2, str1 == str2 );
Console.WriteLine(\"{0} == {1} ? {2}\", str2, str3, str2 == str3 );
}
}
Output:

Null Object is []
Real Object is [StringTest]
i is [10]
foo == bar ? False
bar == bar ? True
7.How do you specify a custom attribute for the entire assembly (rather than for a class)? - Global attributes must appear after any top-level using clauses and before the first type or namespace declarations. An example of this is as follows:
using System;
[assembly : MyAttributeClass] class X {}
Note that in an IDE-created project, by convention, these attributes are placed in AssemblyInfo.cs.

8.How do you mark a method obsolete? -
[Obsolete] public int Foo() {...}or
[Obsolete(\"This is a message describing why this method is obsolete\")] public int Foo() {...}Note: The O in Obsolete is always capitalized.
9.How do you implement thread synchronization (Object.Wait, Notify,and CriticalSection) in C#? - You want the lock statement, which is the same as Monitor Enter/Exit:
lock(obj) { // code }
translates to

try {
CriticalSection.Enter(obj);
// code
}
finally
{
CriticalSection.Exit(obj);
}
10.How do you directly call a native function exported from a DLL? - Here’s a quick example of the DllImport attribute in action:
using System.Runtime.InteropServices; \
class C
{
[DllImport(\"user32.dll\")]
public static extern int MessageBoxA(int h, string m, string c, int type);
public static int Main()
{
return MessageBoxA(0, \"Hello World!\", \"Caption\", 0);
}
}
This example shows the minimum requirements for declaring a C# method that is implemented in a native DLL. The method C.MessageBoxA() is declared with the static and external modifiers, and has the DllImport attribute, which tells the compiler that the implementation comes from the user32.dll, using the default name of MessageBoxA. For more information, look at the Platform Invoke tutorial in the documentation.
11.How do I simulate optional parameters to COM calls? - You must use the Missing class and pass Missing.Value (in System.Reflection) for any values that have optional parameters.
) How big is the datatype int in .NET? 32 bits.

How big is the char? 16 bits (Unicode).
How do you initiate a string without escaping each backslash? Put an @ sign in front of the double-quoted string.
What are valid signatures for the Main function?
public static void Main()
public static int Main()
public static void Main( string[] args )
public static int Main(string[] args )
Does Main() always have to be public? No.
How do you initialize a two-dimensional array that you don’t know the dimensions of?
int [, ] myArray; //declaration
myArray= new int [5, 8]; //actual initialization
What’s the access level of the visibility type internal? Current assembly.
What’s the difference between struct and class in C#?
Structs cannot be inherited.
Structs are passed by value, not by reference.
Struct is stored on the stack, not the heap.
Explain encapsulation. The implementation is hidden, the interface is exposed.
What data type should you use if you want an 8-bit value that’s signed? sbyte.
Speaking of Boolean data types, what’s different between C# and C/C++? There’s no conversion between 0 and false, as well as any other number and true, like in C/C++.
Where are the value-type variables allocated in the computer RAM? Stack.
Where do the reference-type variables go in the RAM? The references go on the stack, while the objects themselves go on the heap. However, in reality things are more elaborate.
What is the difference between the value-type variables and reference-type variables in terms of garbage collection? The value-type variables are not garbage-collected, they just fall off the stack when they fall out of scope, the reference-type objects are picked up by GC when their references go null.
How do you convert a string into an integer in .NET? Int32.Parse(string), Convert.ToInt32()
How do you box a primitive data type variable? Initialize an object with its value, pass an object, cast it to an object
Why do you need to box a primitive variable? To pass it by reference or apply a method that an object supports, but primitive doesn’t.
What’s the difference between Java and .NET garbage collectors? Sun left the implementation of a specific garbage collector up to the JRE developer, so their performance varies widely, depending on whose JRE you’re using. Microsoft standardized on their garbage collection.
How do you enforce garbage collection in .NET? System.GC.Collect();
Can you declare a C++ type destructor in C# like ~MyClass()? Yes, but what’s the point, since it will call Finalize(), and Finalize() has no guarantees when the memory will be cleaned up, plus, it introduces additional load on the garbage collector. The only time the finalizer should be implemented, is when you’re dealing with unmanaged code.
What’s different about namespace declaration when comparing that to package declaration in Java? No semicolon. Package declarations also have to be the first thing within the file, can’t be nested, and affect all classes within the file.
What’s the difference between const and readonly? You can initialize readonly variables to some runtime values. Let’s say your program uses current date and time as one of the values that won’t change. This way you declare

public readonly string DateT = new DateTime().ToString().
Can you create enumerated data types in C#? Yes.
What’s different about switch statements in C# as compared to C++? No fall-throughs allowed.
What happens when you encounter a continue statement inside the for loop? The code for the rest of the loop is ignored, the control is transferred back to the beginning of the loop.
Is goto statement supported in C#? How about Java? Gotos are supported in C#to the fullest. In Java goto is a reserved keyword that provides absolutely no functionality.
Describe the compilation process for .NET code? Source code is compiled and run in the .NET Framework using a two-stage process. First, source code is compiled to Microsoft intermediate language (MSIL) code using a .NET Framework-compatible compiler, such as that for Visual Basic .NET or Visual C#. Second, MSIL code is compiled to native code.
Name any 2 of the 4 .NET authentification methods. ASP.NET, in conjunction with Microsoft Internet Information Services (IIS), can authenticate user credentials such as names and passwords using any of the following authentication methods:

Windows: Basic, digest, or Integrated Windows Authentication (NTLM or Kerberos).
Microsoft Passport authentication
Forms authentication
Client Certificate authentication
How do you turn off SessionState in the web.config file? In the system.web section of web.config, you should locate the httpmodule tag and you simply disable session by doing a remove tag with attribute name set to session.

<httpmodules>
<remove name="”Session”">


What is main difference between Global.asax and Web.Config? ASP.NET uses the global.asax to establish any global objects that your Web application uses. The .asax extension denotes an application file rather than .aspx for a page file. Each ASP.NET application can contain at most one global.asax file. The file is compiled on the first page hit to your Web application. ASP.NET is also configured so that any attempts to browse to the global.asax page directly are rejected. However, you can specify application-wide settings in the web.config file. The web.config is an XML-formatted text file that resides in the Web site’s root directory. Through Web.config you can specify settings like custom 404 error pages, authentication and authorization settings for the Web site, compilation options for the ASP.NET Web pages, if tracing should be enabled, etc.



DotNet Framework Programming Interview Questions

1) Has own class libraries. System is the main namespace and all other namespaces are subsets of this.
It has CLR(Common language runtime, Common type system, common language specification)
All the types are part of CTS and Object is the base class for all the types.

If a language said to be .net complaint, it should be compatible with CTS and CLS.
All the code compiled into an intermediate language by the .Net language compiler, which is nothing but an assembly.
During runtime, JIT of CLR picks the IL code and converts into PE machine code and from there it processes the request.
CTS, CLS, CLR
Garbage Collection
Dispose, finalize, suppress finalize, Idispose interface
Assemblies, Namespace: Assembly is a collection of class/namespaces. An assembly contains Manifest, Metadata, Resource files, IL code
Com interoperability, adding references, web references
Database connectivity and providers
Application Domain

Class modifiers: public, private, friend, protected, protected friend, mustinherit, NotInheritable
Method modifiers: public, private
Overridable
Shadows
Overloadable
Overrides
Overloads
Set/Get Property
IIF
Inheritance
Polymorphism
Delegates
Events
Reflection
Boxing
UnBoxing
ASP.Net

Web Controls: Data grid (templates, sorting, paging, bound columns, unbound columns, data binding), Data list, repeater controls
HTML Controls
Code behind pages, system.web.ui.page base class
Web.config: App settings, identity (impersonate), authentication (windows, forms, anonymous, passport), authorization
Databind.eval
Trace, Debug
Output cache
Session management
Application, Session
Global.asax httpapplication
User controls, custom controls, custom rendered controls (postback event, postdatachanged event) usercontrol is the base class
Directives
ADO.Net

Command object (ExecuteNonquery, ExecuteReader, ExecuteXMLReader, ExecuteScalar)
DataAdapter object (Fill)
Dataset (collection of tables)
CommandBuiler object
Transaction Object
Isolation levels
































































1. What is .NET Framework?
2. Is .NET a runtime service or a development platform? Answer It’s bothand actually a lot more. Microsoft .NET is a company-wide initiative. It includes a new way of delivering software and services to businesses and consumers. A part of Microsoft.NET is the .NET Frameworks. The frameworks is the first part of the MS.NET initiate to ship and it was given out to attendees at the PDC in July. The .NET frameworks consists of two parts: the .NET common language runtime and the .NET class library. These two components are packaged together into the .NET Frameworks SDK which will be available for free download from Microsoft’s MSDN web site later this month. In addition, the SDK also includes command-line compilers for C#, C++, JScript, and VB. You use these compilers to build applications and components. These components require the runtime to execute so this is a development platform. When Visual Studio.NET ships, it will include the .NET SDK and a GUI editor, wizards, tools, and a slew of other things. However, Visual Studio.NET is NOT required to build .NET applications.
3. New features of Framework 1.1 ?
4. What is CLR? How it will work?
5. What is MSIL, IL, CTS?
6. What is JIT and how is works
7. What is strong name? A name that consists of an assembly’s identity—its simple text name, version number, and culture information (if provided)—strengthened by a public key and a digital signature generated over the assembly.
8. What is portable executable (PE) The file format defining the structure that all executable files (EXE) and Dynamic Link Libraries (DLL) must use to allow them to be loaded and executed by Windows. PE is derived from the Microsoft Common Object File Format (COFF). The EXE and DLL files created using the .NET Framework obey the PE/COFF formats and also add additional header and data sections to the files that are only used by the CLR. The specification for the PE/COFF file formats is available at http://www.microsoft.com/whdc/hwdev/hardware/pecoffdown.mspx
9. Which is the base class for .net Class library? Ans: system.object
10. What is Event? Delegate, clear syntax for writing a event delegate// keyword_delegate.cs // delegate declaration delegate void MyDelegate(int i);
11. class Program
12. {
13. public static void Main()
14. {
15. TakesADelegate(new MyDelegate(DelegateFunction));
16. }
17. public static void TakesADelegate(MyDelegate SomeFunction)
18. {
19. SomeFunction(21);
20. }
21. public static void DelegateFunction(int i)
22. {
23. System.Console.WriteLine(\"Called by delegate withnumber: {0}.\", i);
24. }
}
25. ment DataGrid in .NET? How would you make a combo-box appear in one column of a DataGrid? What are the ways to show data grid inside a data grid for a master details type of tables?
26. If we write any code for DataGrid methods, what is the access specifier used for that methods in the code behind file and why?
27. What is Application Domain? Application domains provide a unit of isolation for the common language runtime. They are created and run inside a process. Application domains are usually created by a runtime host, which is an application responsible for loading the runtime into a process and executing user code within an application domain. The runtime host creates a process and a default application domain, and runs managed code inside it. Runtime hosts include ASP.NET, Microsoft Internet Explorer, and the Windows shell.
28. What is serialization in .NET? What are the ways to control serialization? Serialization can be defined as the process of storing the state of an object to a storage medium. During this process, the public and private fields of the object and the name of the class, including the assembly containing the class, are converted to a stream of bytes, which is then written to a data stream. When the object is subsequently deserialized, an exact clone of the original object is created.
o Binary serialization preserves type fidelity, which is useful for preserving the state of an object between different invocations of an application. For example, you can share an object between different applications by serializing it to the clipboard. You can serialize an object to a stream, disk, memory, over the network, and so forth. Remoting uses serialization to pass objects “by value” from one computer or application domain to another.
o XML serialization serializes only public properties and fields and does not preserve type fidelity. This is useful when you want to provide or consume data without restricting the application that uses the data. Because XML is an open standard, it is an attractive choice for sharing data across the Web. SOAP is an open standard, which makes it an attractive choice.
29. What are the different authentication modes in the .NET environment?
30. <authentication mode="”Windows|Forms|Passport|None”">
31. <forms name="”name”" loginurl="”url”
32." protection="”All|None|Encryption|Validation”
33." timeout="”30″" path="”/”"> requireSSL=“true|false”
34. slidingExpiration=“true|false”><
35. credentials passwordFormat=”Clear|SHA1|MD5″><
36. user name=”username” password=”password”/>
37.
38. <passport redirecturl="\"internal\"/">

/li>
39. What is the use of trace utility
40. What is different between User Control and Web Control and Custom Control?
41. What is exception handling? When an exception occurs, the system searches for the nearest catch clause that can handle the exception, as determined by the run-time type of the exception. First, the current method is searched for a lexically enclosing try statement, and the associated catch clauses of the try statement are considered in order. If that fails, the method that called the current method is searched for a lexically enclosing try statement that encloses the point of the call to the current method. This search continues until a catch clause is found that can handle the current exception, by naming an exception class that is of the same class, or a base class, of the run-time type of the exception being thrown. A catch clause that doesn’t name an exception class can handle any exception. Once a matching catch clause is found, the system prepares to transfer control to the first statement of the catch clause. Before execution of the catch clause begins, the system first executes, in order, any finally clauses that were associated withtry statements more nested that than the one that caught the exception. Exceptions that occur during destructor execution are worthspecial mention. If an exception occurs during destructor execution, and that exception is not caught, then the execution of that destructor is terminated and the destructor of the base class (if any) is called. If there is no base class (as in the case of the object type) or if there is no base class destructor, then the exception is discarded.
42. What is Assembly? Assemblies are the building blocks of .NET Framework applications; they form the fundamental unit of deployment, version control, reuse, activation scoping, and security permissions. An assembly is a collection of types and resources that are built to work together and form a logical unit of functionality. An assembly provides the common language runtime withthe information it needs to be aware of type implementations. To the runtime, a type does not exist outside the context of an assembly. Assemblies are a fundamental part of programming withthe .NET Framework. An assembly performs the following functions:
o It contains code that the common language runtime executes. Microsoft intermediate language (MSIL) code in a portable executable (PE) file will not be executed if it does not have an associated assembly manifest. Note that each assembly can have only one entry point (that is,DllMain,WinMain, orMain).
o It forms asecurity boundary. An assembly is the unit at which permissions are requested and granted.
o It forms atype boundary. Every type’s identity includes the name of the assembly in which it resides. A type called MyType loaded in the scope of one assembly is not the same as a type called MyType loaded in the scope of another assembly.
o It forms areference scope boundary. The assembly’s manifest contains assembly metadata that is used for resolving types and satisfying resource requests. It specifies the types and resources that are exposed outside the assembly. The manifest also enumerates other assemblies on which it depends.
o It forms aversion boundary. The assembly is the smallest versionable unit in the common language runtime; all types and resources in the same assembly are versioned as a unit. The assembly’s manifest describes the version dependencies you specify for any dependent assemblies.
o It forms a deployment unit. When an application starts, only the assemblies that the application initially calls must be present. Other assemblies, such as localization resources or assemblies containing utility classes, can be retrieved on demand. This allows applications to be kept simple and thin when first downloaded.
o It is the unit at which side-by-side execution is supported. Assemblies can be static or dynamic. Static assemblies can include .NET Framework types (interfaces and classes), as well as resources for the assembly (bitmaps, JPEG files, resource files, and so on). Static assemblies are stored on disk in PE files. You can also use the .NET Framework to create dynamic assemblies, which are run directly from memory and are not saved to disk before execution. You can save dynamic assemblies to disk after they have executed.
There are several ways to create assemblies. You can use development tools, such as Visual Studio .NET, that you have used in the past to create .dll or .exe files. You can use tools provided in the .NET Framework SDK to create assemblies withmodules created in other development environments. You can also use common language runtime APIs, such as Reflection.Emit, to create dynamic assemblies.
43. s of assemblies? Private, Public/Shared, Satellite
44. What are Satellite Assemblies? How you will create this? How will you get the different language strings? Satellite assemblies are often used to deploy language-specific resources for an application. These language-specific assemblies work in side-by-side execution because the application has a separate product ID for each language and installs satellite assemblies in a language-specific subdirectory for each language. When uninstalling, the application removes only the satellite assemblies associated witha given language and .NET Framework version. No core .NET Framework files are removed unless the last language for that .NET Framework version is being removed. For example, English and Japanese editions of the .NET Framework version 1.1 share the same core files. The Japanese .NET Framework version 1.1 adds satellite assemblies withlocalized resources in a \ja subdirectory. An application that supports the .NET Framework version 1.1, regardless of its language, always uses the same core runtime files.
45. How will you load dynamic assembly? How will create assemblies at run time?
46. What is Assembly manifest? what all details the assembly manifest will contain. Every assembly, whether static or dynamic, contains a collection of data that describes how the elements in the assembly relate to each other. The assembly manifest contains this assembly metadata. An assembly manifest contains all the metadata needed to specify the assembly’s version requirements and security identity, and all metadata needed to define the scope of the assembly and resolve references to resources and classes. The assembly manifest can be stored in either a PE file (an .exe or .dll) withMicrosoft intermediate language (MSIL) code or in a standalone PE file that contains only assembly manifest information. It contains Assembly name, Version number, Culture, Strong name information, List of all files in the assembly, Type reference information, Information on referenced assemblies.
47. What are the contents of assembly? In general, a static assembly can consist of four elements:
o The assembly manifest, which contains assembly metadata.
o Type metadata.
o Microsoft intermediate language (MSIL) code that implements the types.
o A set of resources.
48. Difference between assembly manifest & metadata assembly manifest -An integral part of every assembly that renders the assembly self-describing. The assembly manifest contains the assembly’s metadata. The manifest establishes the assembly identity, specifies the files that make up the assembly implementation, specifies the types and resources that make up the assembly, itemizes the compile-time dependencies on other assemblies, and specifies the set of permissions required for the assembly to run properly. This information is used at run time to resolve references, enforce version binding policy, and validate the integrity of loaded assemblies. The self-describing nature of assemblies also helps makes zero-impact install and XCOPY deployment feasible. metadata -Information that describes every element managed by the common language runtime: an assembly, loadable file, type, method, and so on. This can include information required for debugging and garbage collection, as well as security attributes, marshaling data, extended class and member definitions, version binding, and other information required by the runtime.
49. What is Global Assembly Cache (GAC) and what is the purpose of it? (How to make an assembly to public? Steps) Each computer where the common language runtime is installed has a machine-wide code cache called the global assembly cache. The global assembly cache stores assemblies specifically designated to be shared by several applications on the computer. You should share assemblies by installing them into the global assembly cache only when you need to.
50. If I have more than one version of one assemblies, then how’ll I use old version (how/where to specify version number?)in my application?
51. How to find methods of a assembly file (not using ILDASM) Reflection
52. Value type & data types difference. Example from .NET.
53. Integer & struct are value types or reference types in .NET?
54. What is Garbage Collection in .Net? Garbage collection process? The process of transitively tracing through all pointers to actively used objects in order to locate all objects that can be referenced, and then arranging to reuse any heap memory that was not found during this trace. The common language runtime garbage collector also compacts the memory that is in use to reduce the working space needed for the heap.
55. Readonly vs. const? Aconstfield can only be initialized at the declaration of the field. Areadonlyfield can be initialized either at the declaration or in a constructor. Therefore,readonlyfields can have different values depending on the constructor used. Also, while aconstfield is a compile-time constant, thereadonlyfield can be used for runtime constants, as in the following example: public static readonly uint l1 = (uint) DateTime.Now.Ticks;
56.
1.
2. < . { System.Attribute : MyAttribute public attribute.(>
3. < { public this.myvalue="myvalue;" myvalue) MyAttribute(bool constructors(>
4. //Declaring properties
5. public bool MyProperty
6. {
7. get {return this.myvalue;}
8. set {this.myvalue = value;}
9. }
10.
ion to get access to custom attributes.
class MainClass
{
public static void Main()
{
System.Reflection.MemberInfo info = typeof(MyClass);
object[] attributes = info.GetCustomAttributes();
for (int i = 0; i < attributes.Length; i ++)
{
System.Console.WriteLine(attributes[i]);
}
}
}
57. C++ & C# differences
58. What is the managed and unmanaged code in .net? The .NET Framework provides a run-time environment called the Common Language Runtime, which manages the execution of code and provides services that make the development process easier. Compilers and tools expose the runtime’s functionality and enable you to write code that benefits from this managed execution environment. Code that you develop witha language compiler that targets the runtime is calledmanaged code; itbenefits from features such as cross-language integration, cross-language exception handling, enhanced security, versioning and deployment support, a simplified model for component interaction, and debugging and profiling services.
59. How do you create threading in .NET? What is the namespace for that?
60. using directive vs using statement You create an instance in ausingstatement to ensure thatDispose is called on the object when theusingstatement is exited. Ausing statement can be exited either when the end of theusingstatement is reached or if, for example, an exception is thrown and control leaves the statement block before the end of the statement. The using directive has two uses.
o Create an alias for a namespace (a using alias).
o Permit the use of types in a namespace, such that, you do not have to qualify the use of a type in that namespace (ausingdirective).
61. Describe the Managed Execution Process
62. What is Active Directory? What is the namespace used to access the Microsoft Active Directories?
63. Interop Services?
64. What is RCW (Run time Callable Wrappers)? The common language runtime exposes COM objects through a proxy called the runtime callable wrapper (RCW). Although the RCW appears to be an ordinary object to .NET clients, its primary function is to marshal calls between a .NET client and a COM object.
65. What is CCW (COM Callable Wrapper)
A proxy object generated by the common language runtime so that existing COM applications can use managed classes, including .NET Framework classes, transparently.
66. How does you handle this COM components developed in other programming languages in .NET?
67. How will you register com+ services?
68. What is use of ContextUtil class? ContextUtil is the preferred class to use for obtaining COM+ context information.
69. What is the new three features of COM+ services, which are not there in COM (MTS)
70. Is the COM architecture same as .Net architecture? What is the difference between them (if at all there is)?
For more questions and answers, visit Santhosh Thomas’ site, as he constantly updates these questions with answers.
Read all | Browse topics: .NET
1. . What is JIT and how is works ?
summary: Before you can run Microsoft intermediate language (MSIL), it must be converted by a .NET Framework just-in-time (JIT) compiler to native code, which is CPU-specific code that runs on the same computer architecture as the JIT compiler. Because the common language runtime supplies a JIT compiler for each supported CPU architecture, developers can write a set of MSIL that can be JIT-compiled and run on computers with different architectures. However, your managed code will run only on a specific operating system if it calls platform-specific native APIs, or a platform-specific class library.
JIT compilation takes into account the fact that some code might never get called during execution. Rather than using time and memory to convert all the MSIL in a portable executable (PE) file to native code, it converts the MSIL as needed during execution and stores the resulting native code so that it is accessible for subsequent calls.
source: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconJITCompilation.asp
Tech Interviews comment by Andrew O
2. 4. What is CLR? How it will work?
The common language runtime makes it easy to design components and applications whose objects interact across languages. Objects written in different languages can communicate with each other, and their behaviors can be tightly integrated. For example, you can define a class and then use a different language to derive a class from your original class or call a method on the original class. You can also pass an instance of a class to a method of a class written in a different language. This cross-language integration is possible because language compilers and tools that target the runtime use a common type system defined by the runtime, and they follow the runtime’s rules for defining new types, as well as for creating, using, persisting, and binding to types.
source: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconcommonlanguageruntimeoverview.asp
Tech Interviews comment by Andrew O
3. Wat is Ecno JIT and Standard JIT how they Differ
Tech Interviews comment by KuralMAni
4. How .Net FraneWork Differ from DNA Architecture ?
Tech Interviews comment by Anil Abraham
5. The more I tell the less it is. Its one of the best site for all the fresher who are hunting for the jobs, every one can go through this site and get confidence in interview.Definately it will help them.
Tech Interviews comment by pavan kumar
6. What is the name of the .NET feature that allows an assembly to examine the metadata of another assembly at runtime?
Wonderful site! I ran to this question. Frown | :-(
Tech Interviews comment by Anonymous
7. Kavya, I believe it’s reflection.
Tech Interviews comment by Seth
8. questions are very good for tech interview
Tech Interviews comment by raj kishore
9. Answer to Comment 4:
DNA(Distributed interNet Application) Architecture based application provide a way to fully integrate the web with N-Tier model of development but they have some problems such as DLL HELL.
The advantages of .Net Framework over DNA Architecture based applications are:
1. DLL Hell
2. XCOPY Deployment
3. Versioning
For more information refer to
http://www.c-sharpcorner.com/WebForms/WebServicesP1RSR.asp
Hope this helps.
Tech Interviews comment by Saurabh Deshmukh
10. Explore hiring practices of: Infosys, Accenture, Caritor, Cognizant, Wipro, Satyam, Kanbay, Oracle, Tata Infotech, Verizon, CTS, Virtusa, TCS, Sasken Communication, Microsoft, HCL, Mindtree Consulting, IBM, Larsen & Toubro, Siemens, Patni, ICICI Bank, Covansys, Hexaware, D. E. Shaw India Software, Mascot Systems, Sonata Software, Hewlett Packard, TCGIvega, Syntel






























































MS-Sql Server Interview Questions
1.What is normalization? - Well a relational database is basically composed of tables that contain related data. So the Process of organizing this data into tables is actually referred to as normalization.
2.What is a Stored Procedure? - Its nothing but a set of T-SQL statements combined to perform a single task of several tasks. Its basically like a Macro so when you invoke the Stored procedure, you actually run a set of statements.
3.Can you give an example of Stored Procedure? - sp_helpdb , sp_who2, sp_renamedb are a set of system defined stored procedures. We can also have user defined stored procedures which can be called in similar way.
4.What is a trigger? - Triggers are basically used to implement business rules. Triggers is also similar to stored procedures. The difference is that it can be activated when data is added or edited or deleted from a table in a database.
5.What is a view? - If we have several tables in a db and we want to view only specific columns from specific tables we can go for views. It would also suffice the needs of security some times allowing specfic users to see only specific columns based on the permission that we can configure on the view. Views also reduce the effort that is required for writing queries to access specific columns every time.
6.What is an Index? - When queries are run against a db, an index on that db basically helps in the way the data is sorted to process the query for faster and data retrievals are much faster when we have an index.
7.What are the types of indexes available with SQL Server? - There are basically two types of indexes that we use with the SQL Server. Clustered and the Non-Clustered.
8.What is the basic difference between clustered and a non-clustered index? - The difference is that, Clustered index is unique for any given table and we can have only one clustered index on a table. The leaf level of a clustered index is the actual data and the data is resorted in case of clustered index. Whereas in case of non-clustered index the leaf level is actually a pointer to the data in rows so we can have as many non-clustered indexes as we can on the db.
9.What are cursors? - Well cursors help us to do an operation on a set of data that we retreive by commands such as Select columns from table. For example : If we have duplicate records in a table we can remove it by declaring a cursor which would check the records during retreival one by one and remove rows which have duplicate values.
10.When do we use the UPDATE_STATISTICS command? - This command is basically used when we do a large processing of data. If we do a large amount of deletions any modification or Bulk Copy into the tables, we need to basically update the indexes to take these changes into account. UPDATE_STATISTICS updates the indexes on these tables accordingly.
11.Which TCP/IP port does SQL Server run on? - SQL Server runs on port 1433 but we can also change it for better security.
From where can you change the default port? - From the Network Utility TCP/IP properties –> Port number.both on client and the server.
12.Can you tell me the difference between DELETE & TRUNCATE commands? - Delete command removes the rows from a table based on the condition that we provide with a WHERE clause. Truncate will actually remove all the rows from a table and there will be no data in the table after we run the truncate command.
13.Can we use Truncate command on a table which is referenced by FOREIGN KEY? - No. We cannot use Truncate command on a table with Foreign Key because of referential integrity.
14.What is the use of DBCC commands? - DBCC stands for database consistency checker. We use these commands to check the consistency of the databases, i.e., maintenance, validation task and status checks.
15.Can you give me some DBCC command options?(Database consistency check) - DBCC CHECKDB - Ensures that tables in the db and the indexes are correctly linked.and DBCC CHECKALLOC - To check that all pages in a db are correctly allocated. DBCC SQLPERF - It gives report on current usage of transaction log in percentage. DBCC CHECKFILEGROUP - Checks all tables file group for any damage.
16.What command do we use to rename a db? - sp_renamedb ‘oldname’ , ‘newname’
Well sometimes sp_reanmedb may not work you know because if some one is using the db it will not accept this command so what do you think you can do in such cases? - In such cases we can first bring to db to single user using sp_dboptions and then we can rename that db and then we can rerun the sp_dboptions command to remove the single user mode.
17.What is the difference between a HAVING CLAUSE and a WHERE CLAUSE? - Having Clause is basically used only with the GROUP BY function in a query. WHERE Clause is applied to each row before they are part of the GROUP BY function in a query.
18.What do you mean by COLLATION? - Collation is basically the sort order. There are three types of sort order Dictionary case sensitive, Dictonary - case insensitive and Binary.
19.What is a Join in SQL Server? - Join actually puts data from two or more tables into a single result set.
20.Can you explain the types of Joins that we can have with Sql Server? - There are three types of joins: Inner Join, Outer Join, Cross Join
21.When do you use SQL Profiler? - SQL Profiler utility allows us to basically track connections to the SQL Server and also determine activities such as which SQL Scripts are running, failed jobs etc..
22.What is a Linked Server? - Linked Servers is a concept in SQL Server by which we can add other SQL Server to a Group and query both the SQL Server dbs using T-SQL Statements.
23.Can you link only other SQL Servers or any database servers such as Oracle? - We can link any server provided we have the OLE-DB provider from Microsoft to allow a link. For Oracle we have a OLE-DB provider for oracle that microsoft provides to add it as a linked server to the sql server group.
24.Which stored procedure will you be running to add a linked server? - sp_addlinkedserver, sp_addlinkedsrvlogin
25.What are the OS services that the SQL Server installation adds? - MS SQL SERVER SERVICE, SQL AGENT SERVICE, DTC (Distribution transac co-ordinator)
26.Can you explain the role of each service? - SQL SERVER - is for running the databases SQL AGENT - is for automation such as Jobs, DB Maintanance, Backups DTC - Is for linking and connecting to other SQL Servers
27.How do you troubleshoot SQL Server if its running very slow? - First check the processor and memory usage to see that processor is not above 80% utilization and memory not above 40-45% utilization then check the disk utilization using Performance Monitor, Secondly, use SQL Profiler to check for the users and current SQL activities and jobs running which might be a problem. Third would be to run UPDATE_STATISTICS command to update the indexes
28.Lets say due to N/W or Security issues client is not able to connect to server or vice versa. How do you troubleshoot? - First I will look to ensure that port settings are proper on server and client Network utility for connections. ODBC is properly configured at client end for connection ——Makepipe & readpipe are utilities to check for connection. Makepipe is run on Server and readpipe on client to check for any connection issues.
29.What are the authentication modes in SQL Server? - Windows mode and mixed mode (SQL & Windows).
30.Where do you think the users names and passwords will be stored in sql server? - They get stored in master db in the sysxlogins table.
31.What is log shipping? Can we do logshipping with SQL Server 7.0 - Logshipping is a new feature of SQL Server 2000. We should have two SQL Server - Enterprise Editions. From Enterprise Manager we can configure the logshipping. In logshipping the transactional log file from one server is automatically updated into the backup database on the other server. If one server fails, the other server will have the same db and we can use this as the DR (disaster recovery) plan.
32.Let us say the SQL Server crashed and you are rebuilding the databases including the master database what procedure to you follow? - For restoring the master db we have to stop the SQL Server first and then from command line we can type SQLSERVER –m which will basically bring it into the maintenance mode after which we can restore the master db.
33.Let us say master db itself has no backup. Now you have to rebuild the db so what kind of action do you take? - (I am not sure- but I think we have a command to do it).
34.What is BCP? When do we use it? - BulkCopy is a tool used to copy huge amount of data from tables and views. But it won’t copy the structures of the same.
35.What should we do to copy the tables, schema and views from one SQL Server to another? - We have to write some DTS packages for it.
What are the different types of joins and what dies each do?
36.What are the four main query statements?
37.What is a sub-query? When would you use one?
38.What is a NOLOCK?
39.What are three SQL keywords used to change or set someone’s permissions?
40.What is the difference between HAVING clause and the WHERE clause?
41.What is referential integrity? What are the advantages of it?
42.What is database normalization?
43.Which command using Query Analyzer will give you the version of SQL server and operating system?
44.Using query analyzer, name 3 ways you can get an accurate count of the number of records in a table?
45.What is the purpose of using COLLATE in a query?
46.What is a trigger?
47.What is one of the first things you would do to increase performance of a query? For example, a boss tells you that “a query that ran yesterday took 30 seconds, but today it takes 6 minutes”
48.What is an execution plan? When would you use it? How would you view the execution plan?
49.What is the STUFF function and how does it differ from the REPLACE function?
50.What does it mean to have quoted_identifier on? What are the implications of having it off?
51.What are the different types of replication? How are they used?
52.What is the difference between a local and a global variable?
53.What is the difference between a Local temporary table and a Global temporary table? How is each one used?
54.What are cursors? Name four types of cursors and when each one would be applied?
55.What is the purpose of UPDATE STATISTICS?
56.How do you use DBCC statements to monitor various aspects of a 57.SQL server installation?
58.How do you load large data to the SQL server database?
59.How do you check the performance of a query and how do you optimize it?
60.How do SQL server 2000 and XML linked? Can XML be used to access data?
61.What is SQL server agent?
62.What is referential integrity and how is it achieved?
63.What is indexing?
64.What is normalization and what are the different forms of normalizations?
65.Difference between server.transfer and server.execute method?
66.What id de-normalization and when do you do it?
67.What is better - 2nd Normal form or 3rd normal form? Why?
68.Can we rewrite subqueries into simple select statements or with joins? Example?
69.What is a function? Give some example?
70.What is a stored procedure?
71.Difference between Function and Procedure-in general?
72.Difference between Function and Stored Procedure?
73.Can a stored procedure call another stored procedure. If yes what level and can it be controlled?
74.Can a stored procedure call itself(recursive). If yes what level and can it be controlled.?
75.How do you find the number of rows in a table?
76.Difference between Cluster and Non-cluster index?
77.What is a table called, if it does not have neither Cluster nor Non-cluster Index?
78.Explain DBMS, RDBMS?
79.Explain basic SQL queries with SELECT from where Order By, Group By-Having?
80.Explain the basic concepts of SQL server architecture?
81.Explain couple pf features of SQL server
Scalability, Availability, Integration with internet, etc.)?
82.Explain fundamentals of Data ware housing & OLAP?
Explain the new features of SQL server 2000?
83.How do we upgrade from SQL Server 6.5 to 7.0 and 7.0 to 2000?
84.What is data integrity? Explain constraints?
85.Explain some DBCC commands?
86.Explain sp_configure commands, set commands?
87.Explain what are db_options used for?
88.What is the basic functions for master, msdb, tempdb databases?
89.What is a job?
90.What are tasks?
91.What are primary keys and foreign keys?
92.How would you Update the rows which are divisible by 10, given a set of numbers in column?
93.If a stored procedure is taking a table data type, how it looks?
94.How m-m relationships are implemented?
95.How do you know which index a table is using?
96.How will oyu test the stored procedure taking two parameters namely first name and last name returning full name?
97.How do you find the error, how can you know the number of rows effected by last SQL statement?
98.How can you get @@error and @@rowcount at the same time?
99.What are sub-queries? Give example? In which case sub-queries are not feasible?
100.What are the type of joins? When do we use Outer and Self joins?
101.Which virtual table does a trigger use?
102.How do you measure the performance of a stored procedure?
103.Questions regarding Raiseerror?
104.Questions on identity?
105.If there is failure during updation of certain rows, what will be the state?
AnswerRe: question enjoy Pin
Ed.Poore31-Mar-06 6:10
Ed.Poore31-Mar-06 6:10 
JokeRe: question enjoy Pin
Nicholas Butler31-Mar-06 6:11
sitebuilderNicholas Butler31-Mar-06 6:11 
AnswerRe: question enjoy Pin
Professor Sharada Ulhas31-Mar-06 6:31
Professor Sharada Ulhas31-Mar-06 6:31 
QuestionHow to switch forms? Pin
MarkyMark31-Mar-06 4:45
MarkyMark31-Mar-06 4:45 
AnswerRe: How to switch forms? Pin
naglbitur31-Mar-06 7:17
naglbitur31-Mar-06 7:17 
GeneralRe: How to switch forms? Pin
MarkyMark1-Apr-06 0:54
MarkyMark1-Apr-06 0:54 
GeneralRe: How to switch forms? Pin
naglbitur1-Apr-06 22:46
naglbitur1-Apr-06 22:46 
QuestionPopulating a TreeView in windows forms Pin
naglbitur31-Mar-06 4:37
naglbitur31-Mar-06 4:37 
AnswerRe: Populating a TreeView in windows forms Pin
Judah Gabriel Himango31-Mar-06 5:01
sponsorJudah Gabriel Himango31-Mar-06 5:01 
QuestionWhat can i do to save files on D:\ Pin
dangkim31-Mar-06 4:23
professionaldangkim31-Mar-06 4:23 
GeneralRe: What can i do to save files on D:\ Pin
Guffa31-Mar-06 4:44
Guffa31-Mar-06 4:44 
GeneralRe: What can i do to save files on D:\ Pin
dangkim31-Mar-06 21:31
professionaldangkim31-Mar-06 21:31 
GeneralRe: What can i do to save files on D:\ Pin
Guffa3-Apr-06 2:55
Guffa3-Apr-06 2:55 
AnswerRe: What can i do to save files on D:\ Pin
User 665831-Mar-06 7:15
User 665831-Mar-06 7:15 
GeneralRe: What can i do to save files on D:\ Pin
dangkim31-Mar-06 21:36
professionaldangkim31-Mar-06 21:36 
Questionclock in statusbar? Pin
Roj31-Mar-06 4:10
Roj31-Mar-06 4:10 
AnswerRe: clock in statusbar? Pin
Ed.Poore31-Mar-06 6:06
Ed.Poore31-Mar-06 6:06 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.