I was asked these questions for technical interviews (tech check) for Sitecore developer positions. I thought I would jot them down here for future reference. Maybe they will help someone else! :)
1. How many databases are in SiteCore?
Master - authoring database
Core - all of SiteCore's settings
Web - only the latest published version of content driving the web site.
2. What is Sitecore? What framework is it based on?
SiteCore is an enterprise level web content management system (CMS) based on the .NET (Microsoft) framework and C#. www.sitecore.com
3. What is a strongly-typed language? Why is C# considered a strongly-typed language?
A strongly-typed language checks for the type of variable before performing an operation on it. A strongly typed language requires explicit casts, meaning a programmer declares what data type the variable is before using it. For example, you can't add an integer (int) to a floating point number (float) without explicitly converting it, in C#.
4. (C#) What is the difference between a reference type and a value type?
Technically, this is a C# question but it is definitely a relevant SiteCore question since most of the logic in SiteCore is programmed in C#. This is one of the main differences from Java or VB languages, C# provides two types, a class and a struct. A struct is a value type. A class is a reference type. One difference is how memory is allocated. When a value type instance is created, a single space in memory is allocated to store the value. Primitive types such as int, float, bool, and char are also value types. When the runtime encounters a value type, it accesses its data directly. This is very efficient and effective use of memory.
With reference types, an object is created in memory, a placeholder, if you will, that allocates an empty space in memory and reserves it for the object's data. When an instance is created of that object and stored in a reference variable, it can be referenced by all the methods available to the class, depending on if it's public or private method. So functions and methods can change the data in a reference variable, whereas a value has to be returned to the value variable in order to be changed.
int AddTen(int number) // parameter is passed by value
return number + 10;
void AddTen(ref int number) // parameter is passed by reference
number += 10;
See also, Value and Reference Types
5. What is A/B testing in terms of web development?
A/B testing refers to a digital marketing technique where different versions of a web page, an A version (the control) and a B version (the variation) are created and tested as to their effectiveness in improving website conversion rates. It allows marketers to make decisions based on real data by measuring the impact that changes have on the metrics such as registration, downloads, purchases, and other goals the business may have. Typically, only one element is changed at a time, something simple, such as the "buy" button color or the size of a heading, etc.
6. What is meant by Item in Sitecore?
Everything is an Item in Sitecore. An item is a record in the database. Items are basic building blocks of a Sitecore site. An item may represent any kind of information, e.g. a piece of content, a media file, a layout etc. Items always have a name and ID that uniquely identifies the item within the database. Items have a template that defines which fields the item contains. An item represent a single version of piece of content in a single language. An item can be retrieved from a database using Items.
7. How do you get to the default login page and what is the default username/password in Sitecore?