Sitecore Developer Study Questions and
Answers with Verified Solutions
How does Sitecore define a type
of item (data schema)? ✔✔Data templates
The feature that makes web content management (WCM) possible in Sitecore?
...
Sitecore Developer Study Questions and
Answers with Verified Solutions
How does Sitecore define a type
of item (data schema)? ✔✔Data templates
The feature that makes web content management (WCM) possible in Sitecore? ✔✔Experience
Management (xManagement)
The combination of Sitecore Experience Management (xManagement) and the analytics and
marketing features; requires the Experience Database (xDB). ✔✔Sitecore Experience Platform
(XP)
Items that are pages have their presentation details set. ✔✔What differentiates a Sitecore item
that is a web page from an item that is not a page?
Any version that supports the .NET framework 4.62 or 4.7 will work for Sitecore development.
✔✔What is the recommended version of Visual Studio for Sitecore 9 development?
Zip file (manual install), executable, SIM, SIF ✔✔What tools can you use to install Sitecore 9?
Collection Database (MongoDB), Reporting, Session State ✔✔What additional databases are
required when running xDB?
Put a .config patch file in the App_ Config/Include folder ✔✔How do you patch in changes to
the Sitecore.config file?
You need to publish new or edited content. ✔✔You have just created new content but you
cannot see it on your live website. Why not?
Keep it outside of any site structure. ✔✔In a multi-site implementation, what is the
recommended practice for handling content that will be shared between sites?
MVC or Web Forms ✔✔What types of Visual Studio projects does Sitecore support?
There is a clear separation of files and the project will be portable? ✔✔What are the advantages
of storing your Visual Studio project outside the webroot?
Publishing copies Sitecore items from the Master to Web databases; Deploying copies files from
your Visual Studio project to your Sitecore webroot. ✔✔What is the difference between
publishing and deploying?
Name, host name, rootPath, startItem, language ✔✔When patching in a new site definition, what
are some of the attributes that can be configured in the site node for a website.
Provide default values, use user friendly names, make good use of icons, limit the use of Rich
Text Editors. ✔✔What are some recommended practices you should follow when creating
templates?
On the template's Standard Values item ✔✔Where are default field values defined?
It makes publishing easier because the item and the media are both published so you do not have
to keep files in sync. ✔✔What is an advantage to storing media in the Sitecore database?
Insert options ✔✔What item setting must a developer define for authors to be able to add
content?
Insert options are set on the template's Standard Values item ✔✔What is the recommended
practice for setting insert options?
A code file on the file system and a definition item in the content tree ✔✔What does a Sitecore
Layout consist of?
By the Path field on the definition item. ✔✔How are the layout the definition item and code file
linked?
Use the field helper: @Html.Sitecore().Field("") ✔✔How do you display the
contents of a field in code and support field editing?
Sitecore Dictionary entries ✔✔In a multi-language implementation, what can you use to
translate fields and help text in the Sitecore Client?
Controller Rendering ✔✔Which type of component would you create if you wanted to closely
follow MVC patterns or invoke complex logic?
False ✔✔True or False: It is a recommended practice that the view should contain all the
business logic.
Define the Allowed Controls for the Placeholder Settings item ✔✔A user is adding a component
to a placeholder in the Experience Editor and is able to add any component to the placeholder
without restriction. How can you limit the choices?
Create a component definition item and set the controller and controller action. ✔✔How do you
make Sitecore recognize a controller rendering?
Statically bind it when you need it to always appear on a layout or rendering. ✔✔You want to
ensure a component is always visible on your Main layout. Will you statically or dynamically
bind it?
The Rendering field is shared between all item versions and is used for global changes. The Final
Renderings field is not shared and stores language and version-specific changes. ✔✔What is the
difference between the Renderings and Final Renderings fields?
Create a Placeholder Settings definition item named "main". ✔✔When you add @Html.Sitecore
().Placeholder ("main") to your rendering, what do you need to do to make the placeholder
selectable in the Experience Editor?
The component's Datasource Location field is filled in. ✔✔What causes the Select the
Associated Content dialog box automatically appears when an author adds a component to a
page in the Experience Editor?
Add the item's template to the component's Datasource Template field. ✔✔How can you restrict
authors to specific types of item for a component's data source?
As plain text in URL query string format ✔✔How are component parameters stored in the
Sitecore database?
Assign it on the component definition item in the Parameters Template field ✔✔You have
created a new Parameters Template. How do you configure your component to use it?
Components that can be exchanged or replaced with each other in the Experience Editor
✔✔What are Compatible Renderings?
They should be set on both components so you can exchange them. Both components need to be
assigned to the Allowed Controls for any placeholders they will appear in. They may need to
share data source and parameters. ✔✔What should you consider when configuring Compatible
Renderings?
On the component definition item in the content tree. ✔✔Where would you define a component's
cache settings when you would like it cached anywhere it is used?
On the component on the Event Details Template Standard Values item. ✔✔You have a
component that you want cached on every News Article page. Where would you define its cache
settings?
Broken links occur when a user deletes an item that other items contain links to. ✔✔What causes
a broken link?
By setting the LinkManager addAspxExtension attribute to false. ✔✔How would you prevent
.aspx from being added to all URLs that are generated from Sitecore?
An item's path in the content tree is reflected in its URL. ✔✔What is the relationship between
the content tree structure and URLs?
l. Retrieve the Home item using the Sitecore.Context.Site.StartPath property.
2. Invoke the GetChildren () method. ✔✔How would you programmatically retrieve the direct
children of the Home item?
It recursively retrieves all the children of all the children of the referenced item. If invoked in an
item near the root, it would load the entire tree in memory, with possible performance penalties.
✔✔Why should you avoid using the Axes.GetDescendants() method when possible?
Use LINQ to filter by template or by the value of a particular field. ✔✔When building a
navigation component, how can you filter to select specific items?
By unchecking the Editable field in the definition item of the component. ✔✔How can you make
sure content authors do not modify or remove certain components in the Experience Editor?
l. @Html.Sitecore().Field("Logo Image")
2. FieldRenderer.Render(thisItem, "Logo Image") ✔✔How would you render the content of an
Image field named "Logo Image" on the website?
It would render the raw value of the field, in this case pipe-delimited GUIDs. ✔✔What happens
if you use the FieldRenderer.Render() method to render a Multilist field?
Sitecore.Data.Fields.MultilistField ✔✔What class would you use to retrieve the contents of a
Treelist field?
l. The .Children property
2. The .GetChildren() method ✔✔How do you retrieve the children of an item?
Alphabetically ✔✔In what order do child items appear in the Content Tree by default?
It could confuse authors to see items appear in a different order from the order shown in the
Content Editor. ✔✔Why might you avoid sorting an item's children in code?
Field Editor ✔✔What is the name of the pop-up window in the Experience Editor that can be
used to edit fields that are not editable inline?
By adding a Field Editor Button to an edit frame or toolbar ✔✔How would you give a user
access to a Field Editor in the Experience Editor?
Using an Edit Frame ✔✔How would you show an editable area containing a toolbar in a
particular part of the page in the Experience Editor?
On the Field Editor Button item, enter a pipe-separated list of field names in the Fields field.
✔✔How do you tell the Field Editor which fields to display?
Having multiple controllers invoked in the same page request. Only one of them should handle
the post. ✔✔What is the biggest challenge when posting forms with Sitecore MVC?
By filling the Form Controller Name and Form Controller Action fields in the definition item of
the View Rendering ✔✔How do you bind a controller to deal with the post of a View
Rendering?
Html.Sitecore().FormHandler() ✔✔What method do you need to invoke inside a View
Rendering form to ensure only its controller reacts to the post?
The changes will be overwritten on the next publish operation. ✔✔Why should you never create
or edit items directly on the web database?
l. Name
2. Template
3Parent Item: parent.Add(Name, Template) ✔✔What three pieces of information are required to
create an item programmatically?
l. UserSwitcher (preferred method)
2. SecurityDisabler ✔✔How can you run part of your code with a set of privileges different from
those of the context user?
The item name and path are used to form the URLs. Certain characters have a special meaning in
a URL and should never be used in an item name. ✔✔Why does Sitecore not allow the use of
certain characters in an item name?
l. .Editing.BeginEdit()
2. .Editing.EndEdit() ✔✔What methods do you invoke when you begin and finish editing an
item through the API?
You changes will not be saved. ✔✔What happens if you do not call item.Editing.EndEdit() when
done updating an item's fields using the API?
l. ItemService
2. EntityService ✔✔What two core services comprise the Sitecore Services Client?
l. A profile card is used to profile content. It is a preset of profile keys and values.
2. Pattern cards are used during personalization or contact segmentation to determine the
interests of the visitor. ✔✔What is the difference between a profile card and a pattern card?
They can change its data source, hide it, or exchange it for another component. ✔✔What options
does a marketer have when personalizing a component?
Componentize the page, and use data sources whenever possible. ✔✔What can a developer do to
support the use of personalization?
All visitors will be treated as bots and their information not stored in the xDB ✔✔What happens
if you do not include @Html.Sitecore().VisitorIdentification() inside the of the page?
Sitecore places a tracking cookie in the browser and stores a reference to this in the xDB.
✔✔How does Sitecore track devices?
By using the IdentifyAs() method invoked with the contact source and identifier string. ✔✔How
does Sitecore 9 initially identify a contact?
It is the metric used to determine visitor interest in content. Most Sitecore reporting provides
engagement value/visit information. ✔✔Why is Engagement Value so important?
It sums up the points assigned to all the goals triggered by the visitor. These can be reported on
per session or over time. ✔✔How does Sitecore calculate engagement value?
Solr is the default for content search and xConnect search for on-premise installations and must
be used in a scaled environment. ✔✔Would you use Lucene or Solr in a scaled environment?
When you need to use field data to calculate a different value to be stored in the index. ✔✔When
would you use a Computed field in an index?
When an item will have a large amount of child items in the content tree. ✔✔When would you
use an Item Bucket?
var results = queryable.FacetOn(d => d.Name); ✔✔How would you facet your search results on
the Name field in code?
The ASP.NET provider. ✔✔What is Sitecore's security based on?
Users and roles. ✔✔What are the two types of accounts in Sitecore security?
In the item's Standard Fields. ✔✔Where are access rights stored?
Sitecore will inherit the value from the parent item unless inheritance is denied. ✔✔What
happens if an access right is unspecified?
Those defined on the user, plus those defined on any role it belongs to. ✔✔In Sitecore security,
what are the effective permissions of a user?
The Everyone role. ✔✔What role can you give access rights so that they apply to all accounts in
Sitecore?
It is denied. ✔✔A Sitecore user belongs to two roles: one role denies an access right and another
one allows it. What is the the users effective permission?
Use the Access Viewer. ✔✔How can you check the effective permission of a user or role
account?
l. Don't set security on users.
2. Avoid using explicit denies. ✔✔State two main security best practices.
The extranet\Anonymous user. ✔✔Which user account is bound to unauthenticated requests to
the live website?
The Sitecore Client Users role. ✔✔What role must a user be a member of to be able to log in to
Sitecore?
l. States
2. Commands
3. Actions ✔✔What are the parts that make up a workflow?
In the /sitecore/System/Workflows section. ✔✔In what section of the content tree would you
create workflows?
Select the template's standard values item, on the Review tab on the ribbon set the Initial State
property. ✔✔How do you attach a workflow to a particular type of item?
A process that runs when a state is entered or a command is fired (clicked). ✔✔What is a
workflow action?
l. Items in a final workflow state can be published .2. Sitecore creates a new version when a
(non-admin) user locks the item for editing. ✔✔What are the two consequences of moving an
item into a final workflow state?
It controls who can edit the item in that workflow state. ✔✔What does the Workflow State Write
access right control?
l. Sitecore Developer Network (sdn.sitecore.net): Contains downloads and documentation of
supported Sitecore products and modules prior to the 8.0 versions.
2. Sitecore Developer Portal (dev.sitecore.net): Download the Sitecore Experience Platform and
all associated products and modules for 8.0 and higher - including Print Experience Manager and
Sitecore Commerce.
3. Sitecore Documentation (doc.sitecore.net): Contains all documentation for the Sitecore
Experience Platform and all associated products and modules for 8.0 and higher.
4. Sitecore Knowledge Base (kb.sitecore.net): Contains details about known issues, problems,
and common questions related to Sitecore products.
5. Master Sitecore YouTube channel (https://www.youtube.com/user/mastersitecore): Contains
free video tutorials for developers, business users, and optimization experts. ✔✔What are the
five official Sitecore Documentation Resources and what does each contain?
l. Sample modules can be found on the Sitecore Marketplace (marketplace.sitecore.net). You can
reuse these sample modules in your own project.
2. You can get free 24/7 help from hundreds of community members around the globe, including
Sitecore employees, Sitecore Certified Developers, and MVPs.
3. While contributing actively to the Sitecore Community, you can become a Sitecore MVP. .
✔✔What are some of the benefits of participating in the Sitecore Community?
l. Review the Sitecore log files for errors and warnings.
2. Compare your config files, with the stock Sitecore config files or with previous deployments.
3. Search for solutions on official and community documentation sources.
4. Run the tools from the Sitecore Diagnostics Toolset.
5. Reproduce the issue on a clean Sitecore environment, and create a Sitecore Support package.
✔✔What does Sitecore recommend you do before contacting Sitecore Support?
l. Your own Sitecore credentials.
2. A valid License ID for the customer who the issue relates to.
3. A detailed description on how to reproduce the issue.
4. Attach relevant configuration, log and environment related files. Add errors as plain text files.
✔✔What do you need when contacting Sitecore Support?
To run automated repeatable builds ✔✔Why would you script your build process when you
develop with Sitecore?
It is easier to manage files that need to be deployed and configure deployments to multiple
Sitecore installations. ✔✔How does working outside the webroot help you when it comes to
deployment?
By serializing them. ✔✔How can you persist your items in source control?
1. Install Sitecore
2. Copy the assets from your solution (Views, JS, CSS, DLLs)
3. Restore serialized items (deserialization or through a package)
4. Extra steps (publishing, index rebuild) ✔✔What are the main steps involved in deploying your
application?
To provide a rich user experience ✔✔Why follow recommended practices when creating
templates?
[Show More]