Вы находитесь на странице: 1из 6

rajeshg.

me

http://www.rajeshg.me/2013/05/sharepoint-developer-2010-interview.html

Sharepoint Developer Interview Question's


Q. What Do you know about SharePoint Object Model?
Ans. In Sharepoint Object model there are two Important namespaces.
The Microsoft.Office.Server namespace is the root namespace of all Office Server objects and
Microsoft.SharePoint is the root namespace for all WSS objects.
Q. Can you develop webparts and other SharePoint solutions at your local machine?
Ans. In order to run and debug sharePoint solutions, the project must reside on the server which has Windows
sharePoint services installed. However, you can reference the Microsoft.SharePoint dll in your project at your
local, but you wont be able to run it.

Q. How do you debug SharePoint Webparts?


Ans. To debug SharePoint webpart (or any solution) you can simply drag and drop your complied .dll in GAC and
recycle the app pool. You can also run upgrade solution command from stsadm.
Q. How would you retrieve large number of Items form the list ?
Ans. To retrieve large number of items with a better performance we can either use SPQuery or
PortalSiteMapProvider Class. Read More with Examples
Q. How Do you implement Impersonation in ShrePoint.
Ans. By Using RunWithElevatedPrivileges method provided by SPSecurity class.
Q: What is the performance impact of RunWithElevatedPrivileges?
Ans. RunWithElevatedPrivileges creates a new thread with the App Pool's credentials, blocking your current
thread until it finishes.

Q. How will you add Code behind to a Custom Applictaion Page or a Layout Page in SharePoint?
Ans. You do not deploy a code behind file with your custom Layouts page. Instead, you can have the page inherit
from the complied dll of the solution to access the code behind.
Q. What is the difference between a Site Definition and a Site Template?
Ans. Site Definitions are stored on the hard drive of the SharePoint front end servers. They are used by the
SharePoint application to generate the sites users can create. Site Templates are created by users as a copy of a
site they have configured and modified so that they do not have to recreate lists, libraries, views and columns
every time they need a new instance of a site.
Q. Why do you use Feature Receivers ?
Ans. Feature Receivers are used to execute any code on Activation\Deactivation of a Feature. You can use it for
various purposes.
Q. Can you give a example where feature receivers are used.
Ans. You can use it to assign an event receiver feature to a specific type of list or can write a code in a feature

receivers Deactivate method to remove a webpart from webpart gallery.


Q. Where do you deploy the additional files used in your webpart, like css or javascript files, and how do
you use them in your WebPart?
Ans. You can deploy the css or javascript files in _layouts folder in SharePoint's 12 hive. To use them in your
webpart, you need to first register them to your webpart page and then specify a virtual path for the file for e.g.
_layouts\MyCSS.css
Q: When should you dispose SPWeb and SPSite objects?
Ans. According to the best Practices you should always dispose them if you have created them in your code. You
can dispose them in Finally block or you can use the "Using" clause, so that they gets disposed when not required.
If you are using SPContext then you need not dispose the spsite or spweb objects.
Q. What are the best practices for SharePoint development.
Ans. Some of the best practices are:
1. You should always dispose SPsite and SPWeb objects, once you refer them in your code. Using the "Using"
clause is recommended.
2. Use RunwithelevatePrivilages to avoid errors for end users.
3. Try writing your errors to SharePoint error logs (ULS Logs). Since its a bad idea to fill-up event log for your
production environment.
4. Use SPQuery instead of foreach loop while retrieving Items from the list.
5. Deploy additional files used in your webpart to 12 hive. Use your solution package to drop the files in 12 hive.
Also, make sure that all the references (for e.g. Css or .js files) get removed when the solution is retracted.
Q.What is the main difference between using SPListItem.Update() and SPListItem.SystemUpdate()?
Ans. Using SystemUpdate() will not create a new version and will also retain timestamps.

Q. When do you use SPSiteDataQuery ?


Ans. You can use SPSiteDataQuery when you need to extract data from more than one list\library in your site
colletcion. The data is extracted on the basis of the query you write and is
returened as a Datatable. You can also specify the GUID for the lists\libraries you want to query against.
Q. How do you create a Custom action for an item in a list ?
Ans. This can be done by adding a new feature into SharePoint. You would need to use customaction tag in your
elements.xml file and will have to set various properties like imageurl or UrlAction for your customaction. You can
later add this feature into sharepoint using stsadm install feature command.
Q. How would you bind this CustomAction to a specific list ?
Ans. To do this you can either create a new list type(again a feature) and use the listtype number for the new list in
your RegistrationType property of the Customaction. The CustomAction will then show up only for the items of this
list type. or You can create a new content type and then use that content type's id in your cutsomaction to bind the
custom action to items of just that content type. Add the new content type to the list where you need this
customaction.
Q. How will you deploy an existing asp.net webapplication or website in SharePoint?
Ans. You would need to wrap the web application in a solution package in order to deploy it in 12 hive or say

ShraePoint. It is recommended to create a feature first, and then wrap everything in a Solution package.
Q. How will you cancel a deployment from central admin -> solution managment, if its stuck at deploying or
Error.
Ans. You can either try to force execute timer jobs using execadmsvcjobs command or can cancel the dpeloyment
using stsadm command stsadm o cancaldeployment id {GUID} command. The Id here would be GUID of the
timer or deployment job. You can get the Id from stsadm enumdeployment command. This will display all the
deployments which are process or are stuck with Error.
Q. How do make an existing non-publishing site Publishing?
Ans. You can simply activate the SharePoint Publishing Feature for the Site, you want to make publishing.

Q. What are Application Pages in SharePoint?


Ans. Unlike site pages (for example, default.aspx), a custom application page is deployed once per Web server
and cannot be customized on a site-by-site basis. Application pages are based in the virtual _layouts directory. In
addition, they are compiled into a single assembly DLL.
A good example of an Application Page is the default Site Settings page: every site has one, and it's not
customizable on a per site basis (although the contents can be different for sites).
With application pages, you can also add inline code. With site pages, you cannot add inline code.
Q. How do you deploy a User Control in SharePoint ?
Ans. You deploy your User Control either by a Custom webpart, which will simply load the control on the page or
can use tools like SmartPart, which is again a webpart to load user control on the page. User Control can be
deployed using a custom solution package for the webapplication or you can also the control in the webpart
solution package so that it gets deployed in _controlstemplate folder.

Q. Which is faster a WebPart or a User Control?


Ans. A WebPart renders faster than a User Control. A User Control in SharePoint is usually loaded by a webpart
which adds an overhead. User Controls however, gives you an Interface to add controls and styles.
Q. What SharePoint Databases are Created during the standard Install?
Ans. During standard install, the following databases are created :
SharePoint_AdminContent
SharePoint_Config
WWS_Search_SERVERNAME%_%GUID_3%
SharedServicesContent_%GUID_4%
SharedServices1_DB_%GUID_5%
SharedServices1_Search_DB_%
GUID_6%WSS_Content_%GUID_7%
Q. What are content types?
Ans. A content type is a flexible and reusable WSS type definition (or we can a template) that defines the columns
and behavior for an item in a list or a document in a document library. For example, you can create a content type
for a leave approval document with a unique set of columns, an event handler, and its own document template
and attach it with a document library/libraries.
Q. Can a content type have receivers associated with it?
Ans. Yes, a content type can have an event receiver associated with it, either inheriting from the
SPListEventReciever base class for list level events, or inheriting from the SPItemEventReciever base class.

Whenever the content type is instantiated, it will be subject to the event receivers that are associated with it.
Q. How Does SharePoint work?
Ans. The browser sends a DAV packet to IIS asking to perform a document check in. PKMDASL.DLL, an ISAPI
DLL, parses the packet and sees that it has the proprietary INVOKE command. Because of the existence of this
command, the packet is passed off to msdmserv.exe, who in turn processes the packet and uses EXOLEDB to
access the WSS, perform the operation and send the results back to the user in the form of XML.
Q. How do you return SharePoint List items using SharePoint web services?
Ans.In order to retrieve list items from a SharePoint list through Web Services, you should use the lists.asmx web
service by establishing a web reference in Visual Studio. The lists.asmx exposes the GetListItems method, which
will allow the return of the full content of the list in an XML node. It will take parameters like the GUID of the name
of the list you are querying against, the GUID of the view you are going to query, etc.
Q. How Do you deploy Files in 12 hive when using wspbuilder or vsewss?
Ans. Typically, you can add these files in the 12 hive folder structure in your project. In Vsewss however, you will
have to create this structure manually.
Q. What files gets created on a file system, when a Site collection is created ?
Ans. Windows SharePoint Services does not create any files or folders on the file system when the site collection
or sites are created; everything is created in the content database. The Pages for the site collection are created
as instances in the content database. These instances refer to the actual file on the file system.

Q. What are Customized and Uncustomized Files in SharePoint ?


Ans. There are two types of Pages in SharePoint; site pages (also known as content pages) and application
pages.
Uncustomized :
When you create a new SharePoint site in a site collection, Windows SharePoint Services provisions instances of
files into the content database that resides on the file system. That means if you create a new Site "xyz" of type
Team Site(or Team sIte Definition), an instance of the Team Site Definition( Which resides on the File System), i.e.
"xyz" gets created in the Content database. So, When ASP.NET receives a request for the file, it first finds the file
in the content database. This entry in the content database tells ASP.NET that the file is actually based on a file
on the file system and therefore, ASP.NET retrieves the source of the file on the file system when it constructs the
page.
Customized :
A customized file is one in which the source of the file lives exclusively in the site collection's content database.
This happens When you modify the file in any way through the SharePoint API, or by SharePoint Designer
2007,which uses the SharePoint API via RPC and Web service calls to change files in sites. So, When the file is
requested, ASP.NET first finds the file in the content database. The entry in the database tells ASP.NET whether
the file is customized or uncustomized. If it is customized, it contains the source of the file, which is used by
ASP.NET in the page contraction phase.
Q. What are event receivers?
Ans. Event receivers are classes that inherit from the SpItemEventReciever or SPListEventReciever base class
(both of which derive out of the abstract base class SPEventRecieverBase), and provide the option of responding
to events as they occur within SharePoint, such as adding an item or deleting an item.
Q. What is Authentication and Authorization?

Ans . An authentication system is how you identify yourself to the computer. The goal behind an authentication
system is to verify that the user is actually who they say they are.
Once the system knows who the user is through authentication, authorization is how the system decides what the
user can do.
Q. Can you display\add a Custom aspx or WebApplication Page in SharePoint Context ?
Ans. You need to make some modification in the aspx file to display it in SharePoint Context. Firstly, add the
references for various sharepoint assemblies on the Page. Then wrap the Code in PlaceHolderMain
contentPlaceholder, so that it gets displayed as a content page. Lastly, add a reference to SharePoint Master
Page in aspx file and swicth it in Code behind if needed.
Q. Can you add a Cutsom Http Handler in SharePoint ?
Ans. Yes, a Custom httphandler can be deployed in _layouts folder in SharePoint. Also, we need to be register the
handler in the webapp's webconfig file.
Q. While creating a Web part, which is the ideal location to Initialize my new controls? Override the
CreateChildControls method to include your new controls. You can control the exact rendering of your controls by
calling the .Render method in the web parts Render method.
Q. When would you use an event receiver?
Ans. Since event receivers respond to events, you could use a receiver for something as simple as canceling an
action, such as deleting a document library by using the Cancel property. This would essentially prevent users
from deleting any documents if you wanted to maintain retention of stored data.
Q. If I wanted to restrict the deletion of the documents from a document library, how would I go about it?
Ans. You would create a event receiver for that list/library and implement the ItemDeleting method. Simply, set:
properties.Cancel= true and display a friendly message using Properties.Message("How can u delete this... Its
not your stuff!");
Q. What is the difference between an asynchronous and synchronous event receivers?
Ans. An asynchronous event occurs after an action has taken place, and a synchronous event occurs before an
action has take place. For example, an asynchronous event is ItemAdded, and its sister synchronous event is
ItemAdding
Q. How do you Increase trust level for a single WebPart in the WebConfig file.
Ans. To list a Web Part with Full Permissions within your Web Application while still retaining a WSS_Minimal
permission set for all other Web Parts, You need to create a Custom policy file. This file will be then referenced in
SharePoint Web.config file and will allow your specific webpart to be of Full trust.
Steps :
1. Make a copy of the WSS_Minimal.Config file from the 12\Config folder and paste it into the same folder
renaming it to Custom_WSS_Minimal.Config. Now, edit the Custom_WSS_Minimal.Config file using NotePad.
Obtain the Public Key Token for the Web Part assembly that you want to deploy, using the following command: sn
Tp filename.dll. Create a new entry in your Custom_WSS_Minimal.Config file for your WebPart. Save the File.
Finally, Create a new TrustLevel element for your config file in the Web.Config called Custom_WSS_Minimal that
points to your custom file in the 12\config folder. Recycle the Application Pool and Youre Done.
Q. How does Windows SharePoint Services help render the Webapplictaion in ShrePoint?
Ans. When a new web applictaion is created via Central Admin, Windows SharePoint Services creates a new
Web application in IIS. Then the WSS, loads the custom HTTP application and replaces all installed HTTP
handlers and modules with Windows SharePoint Servicesspecific ones. These handlers and modules
essentially tell IIS to route all file requests through the ASP.NET 2.0 pipeline. This is because most files in a

SharePoint site are stored in a Microsoft SQL Server database.


Q. How would you pass user credentials while using SharePoint WebService from your Web Part or
application.
Ans. The web service needs credentials to be set before making calls.
Examples:
listService.UseDefaultCredentials = true; // use currently logged on user
listService.Credentials = new System.Net.NetworkCredential("user", "pass", "domain"); // use specified user
Q. How would you remove a webapart from the WebPart gallery? Does it get removed with Webpart
retraction?Ans. No, Webpart does not get removed from the WebPart gallery on retraction. You can write a
feature receiver on Featuredeactivating method to remove the empty webpart from the gallery.
Q. What is a SharePoint Feature? Features are installed at what scope
Ans. A SharePoint Feature is a functional component that can be activated and deactivate at various scopes
throughout a SharePoint instances, scope of which are defined as
1. Farm level 2. Web Application level 3. Site level 4. Web level
Features have their own receiver architecture, which allow you to trap events such as when a feature is Installing,
Uninstalling, Activated, or Deactivated.
Q. What type of components can be created or deployed as a feature?
Ans. We can create menu commands, Custom Actions,page templates, page instances, list definitions, list
instances,event handlers,webparts and workflows as feature.
Q. How Do you bind a Drop-Down Listbox with a Column in SharePoint List ?
Ans.Method 1 : You can get a datatable for all items in the list and add that table to a data set. Finally, specify the
dataset table as datasource for dropdown listbox.
Method 2 : You can also use SPDatasource in your aspx or design page.
Q. What is CAML?
Ans. CAML stands for Collaborative Application Markup Language and is an XML-based languagethat is used in
Microsoft Windows SharePoint Services to define sites and lists, including, for Eg, fields, views, or forms, but
CAML is also used to define tables in the Windows SharePoint Servies database during site provisioning.
Developers mostly use CAML Queries to retrieve data from Lists\libraries.

Вам также может понравиться