Top 50 Sharepoint Developer Interview Questions You Must Prepare 29.Nov.2023

The Analytics Processing Component runs two main types of analyses: Search analytics and Usage analytics. Search analytics analyzes content in the search index, and usage analytics analyzes the user actions.

Yes. SharePoint 2013 provides Support for both 14 Hive and 15 Hive. Solutions from SharePoint 2010 can be deployed in SharePoint 2013 either in 14 Hive,15 Hive or both. This can be done using the new “CompatibilityLevel” parameter of Install-SPSolution cmdlet with which you can now Deploy your wsp Solutions to 14 hive, 15 hive or both.

A SharePoint solution file is essentially a .cabinet file with all a developers ustom componets suffixed with a .wsp extension that aids in deployment. The big difference with SharePoint solution files is is that a solution:allows deployment to all WFE’s in a farmis highly manageable from the interface allowing deployment, retraction, and versioningCan package all types of assets like site definitions, feature definitions (and associated components), Webparts, etc.

Yes, since this is a Web Application level setting. You would iterate through each SPWebApplication in the SPWebApplication collection, and then use the appropriate property calls (OutboundMailServiceInstance) in order to return settings regarding the mail service such as the SMTP address.

With device channels in SharePoint 2013, you can render a single publishing site in multiple ways by using different designs that target different devices for example mobile devices etc.These device channels can each be given a different master page and CSS file to give users a more optimal viewing experience.

An app for SharePoint requests the permissions that it needs during installation from the user who is installing it and then the developer of an app must request, through the app manifest file, the permissions an app needs.

In the OnActivated event:


< view plain text >

SPWeb site = siteCollection.RootWeb;



Microsoft has improved both Client Side Object Model (CSOM) and Representational State Transfer (REST) based APIs by adding a much needed support for the Search, User Profiles, Taxonomies, and Publishing Object Model.Client.svc service is extended with REST capabilities and accepts HTTP GET, PUT, POST requests.

You can no longer add partial trust Solution Packages to the bin directory.Any files deployed to the bin directory must be full trust. Any deployment scripts needs to be updated to make sure that they specify the correct trust level. After the release of .NET Framework 4.0, the GAC was split into two, one for each CLR.

c:windowsassembly is the location for .NET versions 1.0 through 3.5 and c:windowsmicrosoft.netassembly is location for all the dlls for project Created in .NET Framework 4.0.

Master Pages and Css has Changed a lot in SharePoint 2013.You can deploy a master page in Master page gallery but the styles from old core.css needs to be updated.

ExecuteQuery gives you the option to minimize the number of roundtrips to the server from your client code. All the components loaded into the clientcontext are executed in one go.

In SharePoint 2013 with the new Compatibility Level parameter of Install -SPSolution cmdlet you can now deploy your .wsp or Solution to either 14 hive or 15 hive or both.

SharePoint 2013 was added with the new Out-of-Box Support for IFrames.Admins can now embed dynamic content from other sites, such youtube videos or maps to any SharePoint site by using IFrames. Admins would need to add the Domain for the external site in TML Field Security first.

Device Channel Panel is a new control that you can include in a page layout to control what content is rendered in which channel. The Device Channel Panel is a container that is mapped to one or more channels.

  1. Backup and Restore SharePoint 2010 Content database in your SharePoint 2013 farm.
  2. Run Test-SPContentDatabase cmdlet to identify missing Components along with potential errors and related warnings. Check the upgrade log and deploy any missing components and re-run the cmdlet to verify.
  3. Attach the Content database to the desired web application using Mount-SPContentDatabase cmdlet.
  4. After successfully mounting the content database to web application, the site should be accessible in 14 mode.
  5. Next, to Upgrade the site to 15 Hive, Navigate to SiteUpgrade.aspx page in Site Setting of your site collection.
  6. Click on “Upgrade the Site Collection” button.
  7. During the upgrade The SiteUpgrade.aspx page shows the progress and provides a link to an upgrade log for troubleshooting purposes.
  8. Site Collection Should now be accessible in 15 mode.

In SharePoint 2013 with the new compatibility Level parameter of Install-SPSolution cmdlet you can now Deploy your wsp Solutions to 14 hive, 15 hive or both.

SharePoint 2013 Introduces Minimal Download Strategy and Distributed Cache Service to Improve Page Load; and Shredded Storage to Improve Storage required for saving files.

The WebPartManager sealed class is responsible for managing everything occurring on a WebPart page, such as the WebParts (controls), events, and misc. functionality that will occur in WebPartZones. For example, the WebPartManager is responsible for the functionality that is provided when you are working with moving a WebPart from WebPartZone to WebPartZone. It is known as the the central class of the Web Part Control Set.

The definitions for the out-of-the-box ribbon elements are split across several files in the SharePoint root, with TEMPLATE GLOBAL XML CMDUI.XML being the main one.

WebPart properties are just like ASP.NET control properties, they are used to interact with and specify attributes that should be applied to a WebPart by a user. Some of the attributes you see with ASP.NET 2.0 properties are WebDescription, WebDisplayName, Category, Personalizable, and WebBrowsable. Although most of these properties come from the System.Web.UI.WebControls.WebParts class, ones like Category come out of System.ComponentModel namespace.

SharePoint 2013 supports two Video players – HTML 5 player and a Silverlight player.SharePoint chooses the player automatically, depending on the video format that it encounters in the video set (the collection of files that are related to the video). If the format can be played on the HTML 5 player, the SharePoint uses the Silverlight player.

SharePoint solution files can add in order to handle code access security deployment issues. This is done in the element in the SharePoint solution manifest.XML, which makes it easier to get assemblies the appropriate permissions in order to operate in the bin directory of the web application.

New “SPField.JSLink” property has been added to help specify any external JavaScript file Containing any Rendering logic for Out-of-Box or Custom field type.With JSLink developers can now Control the Rendering (the presentation and validation) of any Field (Custom or Out-of-box) on List forms as well as in Views by simply adding a reference to an External or deployed JavaScript file.

Features can do a lot. For example, you could deploy

  • Simple site customizations
  • Custom site navigation
  • WebParts
  • pages
  • list types
  • list instances
  • event handlers
  • workflows
  • custom actions
  • just to name a few

SharePoint 2013 provides a support to get ?mbed Information?for documents and other digital Content types such as Videos,Audios etc. to be added on any SharePoint Page or in a Microblogging feed.

Unlike CAML, with LINQ to SharePoint provider, you are working with strongly typed list item objects. For example, an item in the Announcements list is an object of type Announcement and an item on a Tasks list is an object of type Task. You can then enumerate the objects and get the properties for your use. Also, you can use LINQ syntax and the LINQ keywords built into C# and VB for LINQ queries.

Sandbox Solutions are depreciated in SharePoint 2013.You can still Create them and deploy them but they are not supported by Microsoft (not 100% sure about this though).

Event receivers either inherit from the SPListEventReceiver base class or the SPItemEventReceiver base class, both which derive from the abstract base class SPEventReceiverBase.

Minimal Download Strategy in SharePoint 2013 improves rendering performance when browsing content where large parts of the page do not change providing a more fluid navigation experience. For example when navigating between a site? home page and Shared Documents page only the Content that has changed between the source and destination page (controls and placeholders in the content area) are downloaded and Url subsequently updated where the chrome is persisted.

A SharePoint Feature is a functional component that can be activated and deactivate at various scopes throughout a SharePoint instances, such as at the farm, site collection, web, etc.

Features have their own receiver architecture, which allow you to trap events such as when a feature is installing, uninstalling, activated, or deactivated. They are helpful because they allow ease of upgrades and versioning.

The two files that are used to define a feature are the feature.xml and manifest file. The feature XML file defines the actual feature and will make SharePoint aware of the installed feature. The manifest file contains details about the feature such as functionality.

The SPSite object represents a collection of sites (site collection [a top level sites and all its subsites]). The SPWeb object represents an instance SharePoint Web, and SPWeb object contains things like the actual content. A SPSite object contains the various subsites and the information regarding them.

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.

SharePoint 2013 Introduces a Cloud App Model that enables you to Create apps.Apps for SharePoint are self-contained pieces of functionality that extend the capabilities of a SharePoint website. An app may include SharePoint components such as lists, workflows, and site pages, but it can also surface a remote web application and remote data in SharePoint.

When you deploy a WebPart to SharePoint, you must first make it as a safe control to use within SharePoint in the web.config file. Entries made in the safe controls element of SharePoint are encountered by the SharePointHandler object and will be loaded in the SharePoint environment properly, those not will not be loaded and will throw an error.

In the generic safe control entry (this is general, there could be more), there is generally the Assembly name, the namespace, the public key token numeric, the typename, and the safe declaration (whether it is safe or not). There are other optional elements.

A .ddf file is a data directive file and is used when building the SharePoint solution bundle specifying the source files and their destination locations. The important thing for someone to understand is that the .ddf file will be passed as a parameter to the MAKECAB utility to orchestrate construction of the SharePoint solution fiel.

You can create a new instance of a list by creating an instance.XML file.

The Code for an app runs in different places, depending on where your app is hosted.They never run in the context of SharePoint Server, but they will run in the context of the browser or in the context of the hosted platform.You Can Develop three kind of Apps –SharePoint-hosted apps Provider-hosted and autohosted apps.In the cloudApps that have a mix of Components in SharePoint and in the cloud

The SPWebApplication objects represents a SharePoint Web Application, which essentially is an IIS virtual server. Using the class you can instigate high level operations, such as getting all the features of an entire Web Application instance, or doing high level creation operations like creating new Web Applications through code.

There is generally the main content type file that holds things like the content type ID, name, group, description, and version. There is also the ContentType.Fields file which contains the fields to include in the content type that has the ID, Type, Name, DisplayName, StaticName, Hidden, Required, and Sealed elements. They are related by the FieldRefs element in the main content type file.

The difference is the Microsoft.SharePoint.WebPartPages.WebPart base class is meant for backward compatibility with previous versions of SharePoint. The benefit of using the SharePoint WebPart base class is it supported:

  • Cross page connections
  • Connections between Web Parts that are outside of a Web Part zone
  • Client-side connections (Web Part Page Services Component)
  • Data caching infrastructure
  • NET 2.0 WebParts are generally considered better to use because SharePoint is built upon the ASP.NET 2.0 web architecture. Inheriting from the ASP.NET 2.0 base class offers you features that inherit to ASP.NET 2.0, such as embedding resources as opposed to use ClassResources for deployment of said types.


< view plain text >

SPList interviewList = myWeb.Lists[“listtoiterate”];

foreach (SPListItem interview in interviewList)


// Do Something


Sandbox Solutions are upgraded with the Content databases.

Apart from the new App Model for Creating Custom Components, Microsoft has added a few new Namespaces to work with newly added – Social,Event Receivers,Delegate Controls,Callout Popups and other Custom Components in SharePoint 2013.In addition to these classes a few new templates in Visual Studio 2012 has also been added to Create better solutions.


< view plain text >

SPSite = new  SPSite(“http:/server”);

SPWeb = SPSite.OpenWeb();

CAML stands for Collaborative Application Markup Language. CAML is an XML based language which provides data constructs that build up the SharePoint fields, view, and is used for table definition during site provisioning.

CAML is responsible for rending data and the resulting HTML that is output to the user in SharePoint. CAML can be used for a variety of circumstances, overall is used to query, build and customize SharePoint based sites.

A general use would be building a CAML query in a SharePoint WebPart in order to retrieve values from a SharePoint list.

Load method populates the client object directly with what it gets data from the server i.e. a collection object like ListItemCollection etc. but LoadQuery returns the data as a completely new collection in IEnumerable format.

Other major difference is that the Collections that you load using the Load() method are eligible for garbage collection only when the client context variable itself goes out of scope where as, in these collections go out of scope at the end of IEnumerable list

The IDesign Times Html Provider interface uses the function GetDesignTimeHtml() which can contain your relevant render methods. It was helpful to use in 2003 since it allowed your WebPart to have a preview while a page was edited in FrontPage with the Webpart on it, because the GetDesignTimeHtml() method contains the HTML for the designer to render.

Yes, a list definition can derive from a content type which can be seen in the schema.XML of the list definition in the element.

Yes, a content type can have an event receiver associated with it, either inheriting from the SPListEventReceiver base class for list level events, or inheriting from the SPItemEventReceiver base class. Whenever the content type is instantiated, it will be subject to the event receivers that are associated with it.