Saturday, August 20, 2016

Sitecore Interview Ques for 1-3+ Years experience guys


I have listed out the questions which were asked when I was changing my job.

1.      What is TDS ? Can we have two TDS projects in solutions? If yes how do you configure?  

2.     Solr-Schema vs Schemaless file? (Use of Schema.xml file in sitecore)

2.      How do you configure solr and what is the advantage of solr over lucene search?

4.       Sitecore Item alias (Alternate URL for an item)
5.       How to speed up Sitecore application startup?
6.      What are Differnt types of Cache settings in Sitecore?
7.      Media Items are getting created in multiple languages Sitecore?
   http://sitecoreblog.patelyogesh.in/2013/08/sitecore-media-item-created-in-multiple-languages.html

a
What is  versioned and un-versioned template in sitecore?   
Media items uploaded using the Upload media dialog box are created as Versioned and in the default language only, regardless of the Media.UploadAsVersionableByDefault setting value.
Ø   If Media.UploadAsVersionableByDefault  setting in your sitecore.config set to false, then uploaded media item will be created in all those languages which exist under /sitecore/system/languages. This media item will use unversioned template /sitecore/templates/System/Media/Unversioned/File template, so the Blob(Media) and its common details would be shared across all language versions.

Ø  This option is really helpful when you want to use common media files across multiple languages content pages as the media is shared across all languages.
Ø  If this setting is true, then each media item will be generated in default language only. This media item will use versioned template /sitecore/templates/System/Media/Versioned/File template, so the Blob(Media) and its all details would be distinct across languages.
Ø  This option is really helpful when you want to use different media files for different language content pages.

8.   Upload Sitecore media items in selected languages
9.   Sitecore workflow to auto publish media items





10.   What is Partial language fall back?
        References :

        
·         The VisitorIdentification Web control helps the Sitecore analytics engine identify robots. TheVisitorIdentification Web control generates an HTML <link> element that references an empty CSS resource. The Sitecore analytics engine uses this request to help differentiate robots from actual users.

·         To assist the analytics engine in robot identification, include the VisitorIdentification Web control in all of your layouts. For example:

12.   Branch Template in Sitecore
This blog post describes how to use branch templates to create multiple pages at once.

Branch template consists of a branch template definition item, which can contain a single item, a hierarchy of items, or multiple hierarchies of items. When a user invokes a branch template, Sitecore duplicates the item(s) beneath the branch template definition item, including any field values, and then performs token substitution on item names and field values.
13.    Configure Web Deployment
To configure Web Deployment of file media from CM to CD, on the publishing instance or all CM instances:
1.       In the /App_Config/Include subdirectory, rename the WebDeploy.config.example file to WebDeploy.config (remove the .example extension).
2.       In the /App_Config/Include/WebDeploy.config file, configure parameters for the /configuration/sitecore/events/event/handler element as follows: 
14.   What to do if the Sitecore analytics does not track

If you are thinking about migrating or deploying Sitecore 8 (or 7.5) and use xDB as your new platform for analytics and personalization, Solr will be an essential requirement to make everything work. Continue reading Why is Solr essential in xDB 


16.   How to remove default sitecore media request extension(.ashx )
References :

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll

17.   What is the difference between sitecore placeholder and asp.net place holder? And use of sitecore placeholder
--> The placeholder is simply an area of the page to support the user adding controls
           A placeholder is a Sitecore-specific tag within a layout or sublayout which allows the dynamic placement of components within it.

Reference :

18.   What is the use of Scalability Settings config file?
19.   What is computed field in sitecore?
A computed index field allows you to perform additional processing before adding data to an index. For example, you may want to store the contents of a droplink field (the raw value being a GUID) as the target item's name, or a particular field value from the target item.

21.   How do you override web.config setting in sitecore
22.   Glass mapper module in sitecore
23.   In which db sitecore roles and users will be getting stored?
24.   What is index sharding?
25.   Replicated shards----- replicated shards are useful for handling failure and failover scenario
26.   Switching indexes in solr
27.   How to deploy Sitecore solution to Microsoft Azure using Visual Studio?https://sdn.sitecore.net/upload/sdn5/products/azure/310/getting_started_with_sitecore_azure_310-a4.pdf

28.   What is Page code component in speak?
The PageCode component injects the base JavaScript and CSS that a page needs ---http://mhwelander.net/2014/06/27/speak-for-newbies-part-1-creating-a-new-application/

29.  What is item cloning in sitecore?
30.  Difference between DropList and Droplink?
31. Difference between TreeListEx and TreeList?
For performance, you should use the TreelistEx field type in your data templates instead of the Treelist field type.
With a Treelist, the client renders the selection tree and the list of selected items whenever the user selects an item that contains the field.
With a TreelistEx, the client renders only the list of selected items, and does not render the selection tree until the user clicks the Edit command above the field. This is especially important for Treelists that invoke queries that can consume processing time on the server
32.   Difference between sitecore standard query and fast query?
Sitecore Query: Sitecore Query is most flexible in terms of filtering items right in the query using XPath functions. However, the more complex your query is, the longer it will take to run. This should be used when we try to query less than 100 items.

Fast QuerySitecore fast query is designed for retrieving and filtering items from the Sitecore database. Sitecore Fast Query uses the database engine to execute queries. Sitecore Fast Query has the following benefits compared to the standard SitecoreQuery
Improved performance – queries are executed by the SQL engine and as a result the scalability and performance of the SQL engine is not limited by .NET or by Sitecore.

 
Consumes less memory – Sitecore Query loads every item that it touches into memory (cache) and this can fill the cache with unnecessary information. Sitecore Fast Query only loads the items from the result set and this minimizes the pressure on the cache.
Sitecore Fast Query is similar to XPath and Sitecore Query statements in many ways. The most notable difference in using Fast Query is that you use the fast: keyword. Sitecore fast query should be used when we try to query more between 100 to 1000 items.

33.   What is Item Rendering in Sitecore?
What is shared layout and final layout in Sitecore8?
In Sitecore, you can specify shared presentation details for all versions of an item, in all    languages, and you can specify different presentation details for each individual version of an   item and for each language.
Shared Layout
Shared layout is like a shared field. All the controls added in this layout are shared among all the language ad numbered versions.

Final Layout
All the changes made to this layout are specific to that language and numbered version. Initially all the controls from shared layout are imported to the final layout. Once you start making any changes in the final layout, these changes will remain here and become specific to that particular language version and numbered version.

34.  Difference between Sitecore.Context.ContentDatabase and Sitecore.Context.Database
35. Mongo dB querying and reporting in sitecore
36. There is a sitecore indexing job running on sitecore if we install sitecore package will it impact indexing job
37. How to get the result of a first processor in the next processor in sitecore pipeline 
38. Sitecore Field extensions
39.  Add Single Item To Index. 
   Ref:  http://mikerobbins.co.uk/2013/09/03/sitecore-7-add-single-item-to-index/                            
              

Tuesday, May 17, 2016

3rd party plugin/api’s for writing better test cases in Mvc

Tools for automating test cases are WaitN , Lightweight Test Automation Framework, Selenium(automating web applications for testing purposes).

SpecBind Selenium Module -- An extension to SpecBind that allows it to integrate with Selenium

1. What is SpecBind?

SpecBind is an extension to SpecFlow that uses common language steps to allow a user to define interaction with an application. Unlike conventional SpecFlow where the user needs to define how each step definition interacts with the host system, SpecBind uses conventions and a thin page model to minimize coding efforts and maximize flexibility when defining the link between specifications and working sites.
Bridges the SpecFlow and popular UI automation frameworks to simplify acceptance tests. For more info https://github.com/dpiessens/specbind/wiki#Linking-Navigation http://www.specflow.org/
If you are new to spec flow please go through the link http://www.specflow.org/getting-started/

2. What is Fluent Assertions?

Fluent Assertions is a set of .NET extension methods that allow you to more naturally specify the expected outcome of a TDD or BDD-style test.
FluentAssertions is an alternative assertion library for unit tests, to use instead of the methods in Assert class that Microsoft provides. It has much better support for exceptions and some other stuff that improves readability and makes it easier to produce tests.

3. What is moq testing? 

Moq is a third party library/framework that enables you to create the dummy class and its methods’ dummy implementation without actually creating a class with actual method implementation. Here you need to note that you need to provide the interface name for creating dummy class which will implement interface methods as dummy. This is very useful in the scenarios where you want to test the functionality of a class without implementing the other classes and their methods on which the test candidate class is dependent on.

4. Create test data with NBuilder and Faker

For many web applications you may want to generate some initial, semi-realistic test data for your development and testing environments. Entity Framework provides a handy mechanism through which you can achieve this, namely seed data.
When it comes to generating the test data, I personally make use of two 3rd party libraries, namely NBuilder and Faker.NET. Both these libraries have not been updated for a long time, but they still work just fine. http://www.jerriepelser.com/blog/creating-test-data-with-nbuilder-and-faker
Faker.NET is a port of a popular Ruby project called faker. It allows you to generate a wide range of realistic looking data, including names, addresses, telephone numbers, internet domains, sentences, etc.

6. What is AutoMapper in mvc? 

AutoMapper is used to reduce the complexity we find when binding the model and communicating with entities. http://www.c-sharpcorner.com/UploadFile/tirthacs/using-automapper-in-mvc/

AutoMapper is an open source library provided by GitHub. The Codeplex page says about AutoMapper: “AutoMapper is an object-object mapper. Object-object mapping works by transforming an input object of one type into an output object of a different type. What makes AutoMapper interesting is that it provides some interesting conventions to take the dirty work out of figuring out how to map type A to type B. As long as type B follows AutoMapper's established conventions, almost zero configurations is needed to map two types”. As per the definition it solves our issue. You can get the AutoMapper from the following website:AutoMapper.