Drupal Interview Questions

Questions to ask a Drupal Developer

Drupal developers need to have a good understanding of a full web stack and should have a solid understanding of how the web works. They should be able to write optimized SQL queries and be comfortable in HTML/CSS. They should have a thorough understanding of object oriented PHP and be comfortable with data modeling. They should also understand the Drupal system itself. Make sure that you ask them questions in each of these areas.

Here’s a good menu of questions for Drupal developers:

  1. Ask them How the web works
  2. Make sure that they can display some basic proficiency with HTTP GET and POST and Styling in CSS
  3. Give them a simple PHP coding task, for example, Print a multiplication table
  4. Start off with some basic SQL such as SQL Skills: Joins, Averages and Sums
  5. Explore their ability to come up with an overall system design and data model with a flexible question like Design a restaurant reservation system or Design a card game system
  6. Ask them a couple of easy Drupal questions, like listing common Modules or describing how Nodes work.
  7. Finally, test the depth of their Drupal knowledge by having them describe the Drupal Architecture, and explaining some of the available hooks (Explain hooks).

Don’t forget to ask them what code they have added to the Drupal codebase and their Drupal username (so you can admire their impressive contributions)

How does caching work in Drupal? Dicuss the page cache, block cache and CSS/JavaScript optimizations.

What modules add caching to help Drupal scale?

Explain views in Drupal. When would you use them? What are they good for? When should they be avoided?

What are the most important modules to consider when creating a website? What are common modules that you'd avoid? Why?

Explain the Drupal architecture and specifically how the following components interact:

  1. Templates
  2. Blocks and Menus
  3. Modules
  4. Hooks
  5. Database: Caching, schema and the abstraction layer

What is a node in Drupal? Give an example of different types of nodes that you might create? How can you fully customize the functionality for creating and displaying a node? How can you extend the fields available in a node?

What are hooks in Drupal? How are they used? Explain the function of the following hooks:

  1. hook_delete
  2. hook_form
  3. hook_insert
  4. hook_validate
  5. hook_user_delete
  6. hook_form_alter