General Drupal Knowledge
- What are the key differences between Drupal 9 and Drupal 10?
- What are some of the major improvements in Drupal 10’s performance compared to earlier versions?
- How do you approach a Drupal site migration from an earlier version to Drupal 10?
- Explain the significance of the Symfony framework in Drupal 10.
- What is the purpose of the Configuration Management System (CMI) in Drupal? How do you use it in your projects?
Custom Module Development
- How do you create a custom module in Drupal 10?
- What’s the best practice for working with Drupal hooks in custom modules? Can you give examples of hooks you commonly use?
- Explain how services and dependency injection work in Drupal 10 custom module development.
- How do you create and define custom routes in Drupal 10?
- What are plugins in Drupal, and how would you create a custom plugin?
- How do you work with the Drupal 10 Entity API to create or alter content entities?
Theming & Frontend
- What is the role of Twig in Drupal theming, and how has Twig improved over previous templating engines?
- How do you override a template file in Drupal 10, and what steps do you follow to debug theming issues?
- What is the purpose of libraries in Drupal theming, and how do you use them to include CSS and JavaScript files?
- Can you explain what a Twig extension is and how to create one for a custom project?
- What’s your approach to implementing responsive design in Drupal 10?
Configuration Management & Deployment
- How does the Drupal 10 Configuration Management system differ from earlier versions?
- How do you manage configuration synchronization between different environments (local, dev, production)?
- What tools do you use for continuous integration and automated deployment in a Drupal project?
- Can you explain how Drupal's Update API works, and how do you handle database updates?
Caching & Performance
- What caching mechanisms are available in Drupal 10? How do you optimize a Drupal site’s performance?
- How would you diagnose and fix slow database queries in a Drupal environment?
- Explain Drupal’s render cache system and how you manage cache invalidation.
- How do you use Varnish or Redis to enhance performance in a Drupal project?
Security Best Practices
- What steps do you take to secure a Drupal 10 site?
- How do you handle user roles, permissions, and access control in Drupal?
- Can you explain how you would prevent CSRF, XSS, and SQL Injection attacks in Drupal?
- How do you keep your Drupal site up to date with security patches?
Webforms & APIs
- How do you create and manage custom webforms in Drupal 10?
- Explain how you would integrate third-party APIs with Drupal 10 using REST, JSON, or GraphQL.
- How do you use Drupal's Queue API to handle deferred or asynchronous tasks?
Multilingual & Localization
- What’s the process for configuring a multilingual Drupal 10 website?
- How do you manage translations for content entities, config entities, and strings in Drupal 10?
Composer & Dependency Management
- What role does Composer play in Drupal 10 project management?
- How do you handle module updates and core updates using Composer in a project?
Testing & Debugging
- What testing frameworks are integrated with Drupal 10? How do you perform automated testing?
- Can you walk through how you debug issues in Drupal (e.g., using Xdebug, Drupal’s watchdog log, etc.)?
- What is PHPUnit, and how do you write unit tests for Drupal 10 custom modules?
Decoupled Drupal
- What is Decoupled Drupal? Have you worked on a decoupled or headless Drupal project? If so, what technologies did you use?
- How do you use JSONor GraphQL to expose Drupal data to an external frontend?
Leadership & Architecture
- How do you approach large-scale Drupal projects and ensure high code quality?
- What’s your process for performing a site audit and identifying bottlenecks or areas for improvement?
- Have you led a team in a Drupal development project? How do you manage code reviews, team coordination, and project milestones?
Drupal Ecosystem
- What contributed modules do you commonly use and why?
- How do you contribute to the Drupal community (e.g., patches, custom modules, etc.)?
- How do you manage custom code while still leveraging Drupal's contributed modules ecosystem?