EPiServer Interview Questions


  1. What attribute can you decorate a Property to make it mandatory? Required
  2. What attribute do you need to add to a class to make it a scheduled task ? ScheduledPlugIn
  3. What is the difference between a content area and a block ?
  4. How do you enforce an image only property ? [UIHint(UIHint.Image)]
  5. How do you set a class to be a module ? IInitializableModule
  6. What does the selectone and selectmany keywords do ? Single/multiple selection from a list
  7. What is the default logger that comes with EPiServer ? Log4Net
  8. What does composer do in version 6 ? Gives users the ability to dynamically modify page templates
  9. What is PageBuilder ? A way to create stringy typed templates based on .Net classes
  10. What is a dynamic property ? Allows content editors a way to add dynamic content with the text editor?
  11. What is the name of the text editor used in EPiServer ? TinyMCE
  12. What keyword do you specify in a pagetype to create a text area with-in the CMS ? XHtmlString
  13. What attribute specifies if a property should be searchable or not ? [Searchable]
  14. How do you restrict the value of a PropertyNumber ?  You can use the Range property
  15. How can you use a Regular Expression to restrict the users input ? [RegularExpression]
  16. What does the groupname attribute do ?  Determines the tab the property will be displayed on in the editor.
  17. Can a property be set to contain more than one value?  If you use the [CultureSpecific] attribute, the content editor can add in multiple values for each language
  18. What is the built in feature to provide form functionality within the EPiServer site? XForms
EPiServer 6
  1. What design pattern does the DataFactory class use ? Singleton
  2. What attribute do you add to a class to make sure it is added into the page template table on run-time? [PageType]
  3. What attribute do you add to a property to add it into an EPiServer template ? [PageTypeProperty]
  4. What definition do you attach to a file to enable EPiserver to find it as a custom Property? {PageDefinitionTypeAttribute]
  5. What information is stored within the EPIFramework.config ? Contains mapping information describing which host addresses leads to a particular EPiServer CMS site. See the episerverFramework.config section in this document.
  6. What namespace does PropertyXhtmlString live in ? EPiServer.SpecializedProperties
  7. What namespace does PropertyString live in ? Episerver.Core
  8. What class is responsible for all page related activities? DataFactory
  9. How can you install an EPiserver website ? Via the deployment center or the visual studio iteration plug-in
  10. What's the difference between installing a site via deployment center and the integration plug-in ? Deployment center allows you to specify IIS and database connections but does not set a start page. The visual studio integration will set a start page and create a copy of the database in SQL express using the project name
  11. What is the base property you need to inherit from to create a custom property in EPiServer? PropertyData
  12. What is a PageReference class used for? A pointer to EPiServer page
  13. What method do you need to overwrite in order to provide the control logic for loading the property ?  Public override IPropertyControl CreatePropertyControl()
  14. In order to create a custom tab what item do you need to inherit from ? PageTypeBuilder.Tab
  15. What type definition do you use to create a page picker property ? Propertypagereference
  16. List a few of the EPiServer Web Controls ? PageList, MenuList, NewsList, PageTree, Property
  17. How do you get the name the current webuser is looking at ? PageData.CurrentPage
  18. How do you get a list of all the pages directly underneath another page? DataFactory.Instance.GetChildren(new PageReference(1))
  19. How do you get all the pages directly under another page ? DataFactory.GetDescendents
  20. What property do you need to inherit from to turn a user control into a control used to edit a dynamic property ? DynamicContentEditControl
  21. What should a user control inherit from in order to give it access to the EPiServer infrastructure ? UserControlBase
  22. What is the difference between FindPagesWithCriteria and FindAllPageWithCriteria ? FindPagesWithCriteria will filter out pages the requester does not have access to and that are not published, while FindAllPagesWithCriteria will return all matched pages.
  23. What class do you use to supply Filtering information to the FindPages methods ? PropertyCriteriaCollction
  24. How do you get a reference to a page's parent ? CurrentPage.ParentLink
  25. What is IPageSource used for ? It's the interface for CurrentPage.  You can implement it to create a custom reference to the current page.  Useful if you're creating user controls in user controls.
  26. How can you tell what the current type of page is ? CurrentPage.GetType()
  27. What does CompareToIgnoreWorkID do ? Will return true if ID and RemoteSite are the same, otherwise false.
  28. On a page what is the WorkId used for ? This is an internal representation of page versions
  29. What is the main responsibility of the PropertyData object? Storing the property value and to render Default, Edit, and OnPageEdit controls
  30. What property allows you to add a url's? PropertyUrlControl
  31. What property allows you to add a date? PropertyDate.
  32. How do you search for a page with-in EPiserver? PropertyCriteriaCollection
  33. What should you be wary of when searching pages ? The searches are not cached
  34. What interface do you need to implement in order to create a property in the dynamic data store ? IDynamicData
  35. How do you save to the dynamic data store ? DynamicDataStore<Type> store = DynamicDataStore<Type>.CreateStore(false); store.Save(this);
  36. What assembly do you need to reference in order to access the dynamic data store ? EPiServer.Data and EPiServer.Data.Dynamic
  37. What is the name of the geolocations database that is supplied with EPiserver ? MaxMind
  38. What is the Maxmind database useful for? Creating localized Personalization information

Jon D Jones

Software Architect, Programmer and Technologist Jon Jones is founder and CEO of London-based tech firm Digital Prompt. He has been working in the field for nearly a decade, specializing in new technologies and technical solution research in the web business. A passionate blogger by heart , speaker & consultant from England.. always on the hunt for the next challenge

Back to top