Wednesday, September 9, 2009

SharePoint Interview Questions - Part 1

Introduction

This article is the Part 1 of the SharePoint. Please feel free to download my free 500
question and answer ebook which covers .NET, ASP.NET, SQL Server, WCF, WPF,
WWF @ http://www.questpond.com/

You can visit and download the complete architecture Interview questions PDF
which covers SOA, UML, Design patterns, Togaf, OOPs etc

Happy job hunting......


SharePoint Interview Questions Part 1

What is SharePoint?

Share point helps team members to connect and exchange information in a collaborative manner. It helps to centralize enterprise information for efficient functioning. For instance below is how a normal organization works. Files and documents scattered in individual PC and data is transported according to custom protocols. The communication protocol for sending these data is also person dependent. Some body would use a email , some body would share a drive etc etc.


Share point unites all the documents in to one centralize place and unifies the data transport mechanism. In one words a central enterprise information portal.



What is WSS and MOSS?

Microsoft has divided share point products in two parts. One is called as WSS (Windows SharePoint services) and the other is MOSS (Microsoft Office SharePoint server). WSS is the platform on which MOSS is built. The WSS part is licensed through Windows 2003 server and it does not cost. MOSS is separate product by itself and it needs licensing and it has a good amount of cost J . WSS is good for small team and small projects. MOSS has extra functionalities in other words value added services. So the choice between WSS and MOSS will depend on budget of the project and the VAS provided by MOSS.


How does WSS actually work?

WSS does not work in an isolated fashion. It needs help of two more products IIS (Internet Information Server) and SQL Server.

How does WSS work with IIS?


In order to understand how WSS works with IIS we need first understand the concept of “HttpHandlers and HttpModules”.

Using the HttpHandlers and HttpModules request is first passed through the Share Point runtime and then passed to the ASP.NET runtime (aspnet_isapi.dll).

If you open the web.config file of a WSS enabled IIS web application you can see the application run time handlers and modules.

We have highlighted the application runtime module.

What is site and site collection?


Share point is all about enterprise data. When we talk about enterprise data it looks some as shown in the figure below. In other words grouping and sub groupings of data.
SharePoint extends the IIS web application structure to accommodate the above defined data structure using site and site collections. We will see in the later section how to create site collections.

What is the main advantage of using site collections?
As said previously SharePoint is all about data and data should properly authenticated / authorized to proper users. By defining the structure in site and site collection we can now define roles and responsibilities according to data. For instance in the above figure we will assign all HR user to payroll, recruitment and assessment site. These users will not be assigned to account site collection. Same holds true for accounts user.

So when you design your hierarchy of site and site collection you need to keep in mind the enterprise hierarchy structure and design the same accordingly.

What is the use of SQL Server in share point?


SQL Server is used to store content and configuration information. We have two types of databases one is the content database and the other is the configuration database. We had said previously that content is according to every site. So every site has his own content database. For instance if we have a payroll site and recruitment site they have their own content database. Configuration database is for the entire site as they are used in web farms, site configuration and lot of other things which are generic and common across all the sites.
What is the concept of virtual path provider?

Any project has two parts one is the standard and common part and the other is the customized version. In ASP.NET we have two types of pages for any project one is common ASPX pages and the other is customized ASPX pages. Common pages are stored on file directories while customized versions of pages are stored in content database.
So in other words we need an abstract mechanism by which we can render pages from SQL Server content database and also from the virtual directories. This is achieved by using the virtual provider provided by SharePoint. So for all customized pages virtual provider reads from the content database and passes the same to the ASP.NET runtimes. For all common pages it goes to the directory, parses it and the passes the same across to the ASP.NET runtime.

Virtual provider is an abstraction which loads the page from the content or the file system depending on whether it’s customized or common pages and passes the same to the ASP.NET runtime.

What is the concept of ghosting and unghosting in SharePoint?
In SharePoint most of the site pages derive from templates. The custom pages only store the difference between them. The template is loaded in memory and applied to the custom pages on fly. In other words the template is stored in a cache. This definitely brings in performance and flexibility. Flexibility is in terms that when we change the template page it’s applied to all custom pages. These pages are loaded from the file system. So pages which are loaded from the file system are termed as ghosted pages.

If the page data is loaded from the content database it’s termed as unghosted pages.

As a note let me clarify the concept of document and content table as we are already trying to understand the concept of ghosting and unghosting. As we know that SharePoint stores all pages in the database. Looking from a 50,000 feet it has two tables one is the document table which has the entry of page and the other is the content which has the source code of the ASPX page.

So when a page is requested it first checks in the document table and then goes to the content table to load the page. If it does not find data of the page it goes to the file directory to load the page. This loading is done by ASP.NET runtime himself. But if there is data present in the content table then it’s loaded by the ‘safe mode’ parser.



What is the concept of safemodeparser in ASP.NET?As said the previous section there are two tables one is the document and the other content. If the page is stored in the content database it’s loaded by the SafeModeParser which is page parser provided by SharePoint. If there is no data found in the content it’s loaded from the file directory by simple ASP.NET runtime.
What is the concept of Site pages and Application pages?

Site pages are customized pages and are saved in to content database. So when you use the SharePoint designer to make custom changes it saves the changes in to content database. If you want to make generic pages in a site collection which will be used by every one, like for instance the ‘Settings.aspx’ page then you need to use application pages.

In other words Site pages are nothing but customized pages stored in content, while application pages are generic pages which will be used by all the sites in a site collection.

What Next?
In Part 2 we will try to get hands on share point, create site collections, create application pages and understand the concept of features.



17 comments:

Bowsil Ameen said...

Hi Siva,
I have seen some of you Post in sharepoint this is really nice..


Regards
Bowsil Ameen

Anonymous said...

Hello Shiv,
I have been reading your Interview Guides all the time
I had also read your guide for ASP.Net, SQl Etc
I am really looking forward, for the SharePoint One, i am having some interviews Scheduled up for sharepoint can you give me some tips and Interview Question for SharePoint.
My email id is kunal.15@hotmail.com


Thanks a lot Shiv
Kunal

nintendo r4 said...

OMG.thanx a lot.....I had to take an interview over sharepoint today.....I am a Hardware engg.........So had no knowledge of it.........this helped me a lot......

Anonymous said...

Reaaly Good...... :)

Thanx Thanx a lot.........

sunil said...

Hi Shiv,
I have been reading your FAQ
for ASP.Net, SQl Etc
I am really looking forward, for the SharePoint One, i am having some interviews Scheduled up for sharepoint can you give me some tips and Interview Question for SharePoint.
My email id is sunil_oaknet@yahoo.com.com

sunil.sharma said...

Hi ,
I have seen some of you Post in sharepoint. its realy good one

madhav said...

You have a good approach of expressing knowledge....... great

Rohit Blog said...

Hi nice post

Raghu Garlapati said...

Thank You Very much

Raghav said...

what is the best way to become like you

Anonymous said...

Its realy good one
Thanks

anil kumar said...

hi sir ,i have been reading your interview guides on .net and sql server and i m really looking forward for the sharepoint also please send me sharepoint interview on my mail id.... anil.rituwal@gmail.com

Anonymous said...

Shiv,
I have gone through your SharePoint posts,find them very helpul for cracking interviews.

Thanks a lot!!!
Amit Bhan

ajaykumar said...

Hi sir, i am searching for a job on sharepoint. can u please forward me sharepoint interview questions to my mail id. kulkarni.ajaykumar@gmail.com

KundanSriv said...

Hi Shiva,

Nice post for sharepoint interview questions.
But I need interview questions for more than 1 year experience guy. i.e. which can be asked in interview.

Kindly visit my site
SharePoint Cafe

Thanks

KundanSriv said...

Hi Shiva,

Nice post for sharepoint interview questions.
But I need interview questions for more than 1 year experience guy. i.e. which can be asked in interview.

Kindly visit my site
SharePoint Cafe

Thanks

KundanSriv said...

Hi Shiva,

Nice post for sharepoint interview questions.
But I need interview questions for more than 1 year experience guy. i.e. which can be asked in interview.

Kindly visit my site
SharePoint Cafe

Thanks