After seeing the 19 posts from you between all very general questions I am concerned that either you are looking for training here, or you are trying to get answers to interview questions or we will end up doing your work for you.
Take some time to explore this site and you will find a lot of information on many if not all of your questions. There is a lot of valuable information on this site do some research and spend a little time and you will benefit from it.
If you are as inexperienced as your questions indicate it would also be a good idea to get some books and start reading.
Please do some research and come back with more specific questions that do not require a chapter or 2 of a book to provide a good response.