What is an Architecture?
Architecture can be defined as set of rules and patterns.
1. Partioning the problem to built into discrete pieces.
2. Techniques used to create interface between these pieces.
3. Techniques used to manage overall structure and flow.
4. Appropriate use of development and delivery approaches, techniques and tools.
It is important bcz
1. Control complexity.
2. Enable re-use
What is an Object Oriented Programming?
OOPs:- Its a programming technique based on Objects. It consits of class & their object. A class is a combination of
data members and member functions.
Class:- Its a real life entity. It is a combination of data member & member functions.
Objects:- It is an instance of class. for ex;- Hand is a class and left hand & right hand are its objects.
OR
OOP is a software programing concept that allow developer to split program in building block known as object to reduce the complexity, reusability.
OOPs Featuers:
1. Encapsulation: Wrapping up of data members and member functions under one name is Ecapsulation.
OR
IT is the process of combining real time object data, member and its different action on data within a single unit
2. Abstraction: Abstraction means to show only the necessary details of the object.
3. Polymorphism: It means methods with same name but with different arguments.
Access Modifiers
1. Public: Can be access within class n outside class.
2. Private: can be accessed only within class or method.
3. Protected: Can be accessed within class and in drived class.
4. Internal: Can be accessed within current assembly.
5. Protected Internal: Can be accessed within current assembly and drived class in other assembly.
Note: Elements defined in a namespace cannot be explicitly declared as private, protected, or protected internal.
Method Overriding / Virtual Methods
Virtual Method: A virtual property or method has an implementation in the base class, and can be overriden in the
derived classes. It cannot be private and needs to be public always.
public Virtual read()
Override Methods: Overriding is the action of modifying or replacing the implementation of the parent class with a new
one.
public Override read()
Note:
1. It is not necessary that a virtual method has override method, but a override method should always have a
virtual method declare in base class.
2. While overriding a virtual method , its access modifiers needs to be same as in base class.
Sealed Keyword
Sealed Class/Method: Method or class declared with sealed keyword cannot be overridden.
Abstract Class:
1. Abstract class cannot be instantiated
2. It contains both abstract/non abstract method.
3. It must be inherit in other class
4. Access Modifiers: public, private, protected, internal , protected internal.
5. Abstract method declared with abstract keyword.and needs to be always public.
6. All abstract method needs to be define in derived class when we inherit it.
Interface:
Interface separates the implementation and defines the structure
1. Must implement
2. contains only method declaration and no defination.
3. Modifiers: always public, no need to define.
4. pure abstract class
5. we can define properties, methods & events in it.
6. Interface increase security by hiding the implementation
Implicit conversion: Converstion that done internally, like assigning value of int to bigint
Explicit Conversion: When we convert a type to another using Convert class.
SOA: A service-oriented architecture is essentially a collection of services. These services communicate with each
other. The communication can involve either simple data passing or it could involve two or more services coordinating
some activity
Difference Between Interface & Abstract class
1. Interface has no implementation, but they have to be implemented.
Abstract class’s methods can have implementations and they have to be extended.
2. Interface can inherit more than one interfaces
Abstract class can implement more than one interfaces, but can inherit only one class
Convert.ToString vs .tostring():- “Convert” function handles NULLS while “.ToString()”
does not it will throw a NULL reference exception error
Garbage Collector: The garbage collector checks to see if there are any objects in the heap that are no longer being
used by the application. If such objects exist, then the memory used by these objects can be reclaimed. (If no more
memory is available for the heap, then the new operator throws an OutOfMemoryException.)
Value Types:
bool
byte
char
decimal
double
enum
float
int
long
sbyte
short
struct
uint
ulong
ushort
Refrence Types:
class
interface
delegate
object
string
Stack: Its a value type, store value types and pointers.
Heap: Its a refrence type
Structures:
1. Its simple userdefined type.
2. Struct are lightweight objects & alternative of class.
3. They are created on stack and its easy to create struc variables and destroy them.
4. As stored in stack, so fast in performance then class.
5. They supports access modifiers, constructors,indexers,methods, fields, nested types,operators & properties.
6. Protected and Protected internal access modifiers are not supported by struct.
7. structures do not support compile-time initialization of instance fields, they cannot derive from
anything other than System.ValueType and they cannot be the base of another class.
ie: In structure we cannot initialize a variable outside contructor, It doesnt have initializer field. If we want to assign a value to variable then we have
to do it in constructor.
8. They may implement an interface.
9. They can be instantiated without using a new operator. but we can use new too.
10. We cannot override default constructor of structure with no parameters.
-----------------------------------------------
protected void Page_Load(object sender, EventArgs e)
{
abc a = new abc(2 , 4);
lblSum.Text = a.sum1().ToString();
}
public struct abc
{
public int sum;
public abc(int a, int b)
{
sum = a + b;
}
public int sum1()
{
return sum;
}
}
}
------------------------------------------------
Structure with Interface
------------------------------------------------
public interface aa
{
// no access specifier is given in interface methods (by defualt they are public)
double Increment();
void DisplayValues();
}
public struct Student : aa
{
int id;
int zipcode;
double salary;
public Student(int id, int zipcode, double salary)
{
this.id = id;
this.zipcode = zipcode;
this.salary = salary;
}
public void DisplayValues()
{
Console.WriteLine("ID: " + this.id.ToString());
Console.WriteLine("Zipcode : " + this.zipcode.ToString());
Console.WriteLine("Salary : " + this.salary.ToString());
}
public double Increment()
{
return(this.salary += 1000.00);
}
}
-------------------------------------------------
New(As Keyword): To create instance of a class.
New (As Modifier): To hide the base class method;
public class MyBaseC
{
public int x;
public void Invoke() {}
}
public class MyDerivedC : MyBaseC
{
new public void Invoke() {}
}
------------------------------------------------
Base Class keyword:
Calling methods: Using the base keyword, you can access any of a base class public or protected class members.
public class Parent
{
public void print()
{
Console.WriteLine("I'm a Parent Class.");
}
}
public class child:parent
{
public new void print()
{
base.print();
}
}
--------
Calling Constructor:
public class Parent
{
public Parent(string myString)
{
parentString = myString;
Console.WriteLine(parentString);
}
}
public class Child : Parent
{
public Child() : base("From Derived")
{
Console.WriteLine("Child Constructor.");
}
}
-------------------------------------------------------------------------
Early Binding: Properties and method can be identified by compile time.
ex; overloading, methods can be identified at compile time.
Late Binding: Properties and method can be identified by Run time.
ex: Overriding, methods can be identified at run time.
------------------------------------------------------------------------
Static Class: A class can be declared static, indicating that it contains only static members. It is not possible to
create instances of a static class using the new keyword. Static classes are loaded automatically by the .NET
Framework common language runtime (CLR) when the program or namespace containing the class is loaded.
Use a static class to contain methods that are not associated with a particular object. For example, it is a common
requirement to create a set of methods that do not act on instance data and are not associated to a specific object in
your code. You could use a static class to hold those methods.
The main features of a static class are:
They only contain static members.
They cannot be instantiated.
They are sealed.
They cannot contain Instance Constructors (C# Programming Guide).
Static classes are sealed and therefore cannot be inherited. Static classes cannot contain a constructor, although it
is still possible to declare a static constructor to assign initial values or set up some static state. For more
information, see Static Constructors (C# Programming Guide).
Static Constructor: 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:
1. A static constructor does not take access modifiers or have parameters.
2. A static constructor is called automatically to initialize the class before the first instance is created or any
static members are referenced.
3. A static constructor cannot be called directly.
4.The user has no control on when the static constructor is executed in the program.
5. 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.
6. Static constructors are also useful when creating wrapper classes for unmanaged code, when the constructor can call
the LoadLibrary method.
http://msdn.microsoft.com/en-us/library/79b3xss3(VS.80).aspx
---------------------------------------------------------------------------------------
Security:
Levels of Security:
1. Authentication: To check the user identity.
2. Autorization: Authorization is the process of determining the rights and restrictions assigned to an authenticated
user.
3. Confidentiality: While the user is working with the application, you have to ensure that
nobody else is able to view sensitive data processed by the user. Therefore, you have to encrypt
the channel between the client’s browser and the web server. Furthermore, you possibly have
to encrypt data stored on the backend (or in the form of cookies on the client) if even database
administrators or other staff of the company where the web application is hosted may not view
the data.
4. Integrity: Finally, you have to make sure data transmitted between the client and the server is
not changed by unauthorized actors. Digital signatures provide you with a way to mitigate this
type of threat.
----------------------------------------------------------------------------------------
Response.write / Response.Output.write
Response.Write("This is simple String");
1. Unformatted Output.
2. It writed the text stream.
Response.Output.Write("Rocky is {0} at {1:d},"cool",DateTime.Now")
1. Formatted Output.
2. It writes the HTTP Output stream.
Typed/Untyped Dataset
Typed Dataset
A typed DataSet is DataSet that applies the information stored in XSD to generate a typed class. Information from the schema that
contains the tables, columns, and rows is stored in a XSd file
Advantage:
1. Typed datsets in some way reduce the overhead and might boost the performance as they already have the table schema with them
2. They reduce the chances of errors.
3. You can add validation code for the desired field in case of Typed datasets
4. They provide type-safe operations.
5. Any type mismatch erros can be caught at compile time instead of run time.
6. You can refer to the tables and columns with their respective name.No need to refer as tables(0) or column(0).
Untyped Dataset
The normal DataSet is the one which we create programatically are the untyped datasets ,as the information is extracted during
Advantage:
1. if your table structure change frequently then u should use untyped dataset because to acces typed dataset changes u again need
---------
MISC QUES
What is an assembly?
Asp.net 3.5 Life Cycle?
Singleton class?
String vs String Builder?
Array vs ArrayList?
response.output.write vs response.write?
What is GAC? How to add or remove assembly from GAC?
event fire during page postback?
Authentication vs autorization?
Type Vs Untype Dataset?
Clone vs copy?
static vs private constructor?
web config settings?
What is ISAPI?
What is diff between cookies?
Session Storage In Proc,Out Proc, State server?
SQL Server
2 Largest Salary?
Having & Groupby?
Duplicate rows in table?
Select all employee whole dont have phone No?
Select Employee name having more then 1 phone no?
diff between union n union all?
remove column in table?
Trigger
Char varchar, Nvarchar?
Function vs SP?
Max number of parameter in SP? 2100 parameter in sql 2008. 1024 in SQL 2005,256 input and 256 output in sql 2000
sql injetion and attack problem ?
249 nonclustorindex in a table