Acquia Certified Drupal Developer — Questions and Answers
Question 1: In Drupal, what is the 'State API' used for versus the 'Configuration API'?
- State stores temporary session data; Configuration stores permanent user profiles
- State stores per-user preferences; Configuration stores global settings
- State stores runtime server-specific values; Configuration stores deployable site settings (Correct answer)
- State stores encrypted secrets; Configuration stores public metadata
Correct answer: State stores runtime server-specific values; Configuration stores deployable site settings
The State API stores environment-specific runtime values (like last cron run time) that should NOT be exported; Configuration API stores settings that should travel with the codebase.
Question 2: Which coding standard does the Drupal community officially use for PHP code style compliance?
- WordPress PHP Coding Standards
- Google PHP Style Guide
- PSR-12 exclusively
- Drupal Coding Standards (based on PSR-2 with Drupal-specific extensions) (Correct answer)
Correct answer: Drupal Coding Standards (based on PSR-2 with Drupal-specific extensions)
Drupal maintains its own coding standards document that extends common PHP conventions with Drupal-specific rules enforced by PHP_CodeSniffer.
Question 3: What is the value of written documentation in Drupal professional communication?
- It is optional
- It replaces verbal communication
- It is only for formal occasions
- It creates permanent records, ensures clarity, and provides legal protection (Correct answer)
Correct answer: It creates permanent records, ensures clarity, and provides legal protection
This is fundamental to Drupal practice. It creates permanent records, ensures clarity, and provides legal protection represents the professional standard for communication in the Drupal certification framework.
Question 4: In Drupal theming, what is the purpose of a 'preprocess function' in a .theme file?
- Cache theme suggestion arrays per user role
- Override a core module's block output
- Compile SCSS to CSS before the theme renders
- Add or modify variables available inside a Twig template (Correct answer)
Correct answer: Add or modify variables available inside a Twig template
Preprocess functions (e.g., THEME_preprocess_node()) allow theme PHP code to add, modify, or compute variables that are then passed into corresponding Twig templates.
Question 5: Which Drush command can be used to check whether a Drupal site has any pending database updates that need to be run?
- drush updb --check
- drush db-pending
- drush updatedb-status (Correct answer)
- drush status-check
Correct answer: drush updatedb-status
`drush updatedb-status` (alias `updb-status`) lists all pending hook_update_N implementations without actually running them.
Question 6: In Drupal's Twig templating system, how do you safely output a variable to prevent XSS?
- <?php print $variable; ?>
- {{ variable }} (Correct answer)
- {{ variable | raw }}
- {% print variable %}
Correct answer: {{ variable }}
The {{ variable }} syntax in Twig automatically escapes output, preventing XSS attacks; use |raw only when the value is already sanitized markup.
Question 7: An agency deploys Drupal configuration between environments using config management. A developer accidentally exports config with a database credential in a YAML file. What is the correct remediation?
- Move the credential to settings.php or an environment variable and remove it from git history using git filter-branch or BFG (Correct answer)
- Delete the YAML file and force-push to clear git history
- Encrypt the YAML file with Drupal's Key module
- Rename the YAML file so it is ignored by config-import
Correct answer: Move the credential to settings.php or an environment variable and remove it from git history using git filter-branch or BFG
Credentials must be removed from all git history using a history-rewriting tool and relocated to settings.php or environment variables outside version control.
Question 8: In Drupal, what does enabling Twig debug mode output into the HTML source?
- PHP error logs and database query times
- Template file paths, theme hook suggestions, and BEGIN/END template comments (Correct answer)
- JavaScript console warnings for deprecated API calls
- CSS class names and their originating SCSS files
Correct answer: Template file paths, theme hook suggestions, and BEGIN/END template comments
Twig debug mode injects HTML comments showing the exact template file being used, all candidate theme hook suggestions, and begin/end markers for each template.
Question 9: What is the correct format for defining a JavaScript library with a dependency on jQuery in a Drupal libraries.yml file?
- import: jquery from core
- dependencies: [jquery]
- requires: jquery/core
- dependencies: - core/jquery (Correct answer)
Correct answer: dependencies: - core/jquery
In Drupal's libraries.yml, dependencies are listed as 'package/library-name' strings under the dependencies key, and Drupal's jQuery is referenced as 'core/jquery'.
Question 10: Which Drupal mechanism reduces the risk of cross-site request forgery (CSRF) attacks on state-changing operations?
- Drupal validates the user's IP address on every form submit
- Drupal's form API automatically generates and validates unique form tokens (Correct answer)
- Drupal's Block system prevents unauthorized form submissions
- Drupal forces all POST requests to use HTTPS
Correct answer: Drupal's form API automatically generates and validates unique form tokens
Drupal's Form API includes built-in CSRF tokens (form_token and form_build_id) that are validated on submission, preventing cross-site request forgery.
Question 11: A large Drupal project has stakeholders across legal, marketing, and IT. Who should typically own the content governance policy document?
- The Drupal community forums
- The lead Drupal developer
- The server hosting provider
- A designated Content Strategist or Digital Manager who coordinates across all departments (Correct answer)
Correct answer: A designated Content Strategist or Digital Manager who coordinates across all departments
Content governance requires cross-departmental coordination, making a content strategist or digital manager the appropriate policy owner bridging technical and business teams.
Question 12: In Drupal's Twig, what function renders a render array variable into HTML output?
- {% print content.field_name %}
- {{ render(content.field_name) }}
- {{ content.field_name | render }}
- {{ content.field_name }} (Correct answer)
Correct answer: {{ content.field_name }}
In Drupal Twig templates, printing a render array variable with {{ variable }} automatically invokes the render pipeline to output its HTML.
Question 13: How do Drupal professionals transfer knowledge from training to practice?
- Knowledge transfers automatically
- Through supervised practice, mentoring, gradual independence, and ongoing feedback (Correct answer)
- By passing the certification exam only
- Training and practice are unrelated
Correct answer: Through supervised practice, mentoring, gradual independence, and ongoing feedback
This is fundamental to Drupal practice. Through supervised practice, mentoring, gradual independence, and ongoing feedback represents the professional standard for practical in the Drupal certification framework.
Question 14: What is the purpose of the Drupal `upgrade_status` module in a QA workflow?
- Validating that all contrib modules are from the official drupal.org repository
- Checking module update hooks for upgrade path completeness
- Automatically upgrading Drupal core to the latest release
- Scanning installed modules and themes for compatibility with the next major Drupal version (Correct answer)
Correct answer: Scanning installed modules and themes for compatibility with the next major Drupal version
The upgrade_status module analyzes installed projects for deprecated API usage and flags those that need updates before a major Drupal version migration, giving QA teams a readiness checklist.
Question 15: What file is required in every Drupal theme to declare its name, regions, and base theme?
- theme_name.info.yml (Correct answer)
- theme_name.libraries.yml
- theme_name.breakpoints.yml
- theme_name.theme
Correct answer: theme_name.info.yml
Every Drupal theme must have a .info.yml file declaring its name, type: theme, core_version_requirement, regions, and optional base theme.
Question 16: What is the correct way to define a custom Drupal permission that can be assigned to roles?
- Declare it in the module's .permissions.yml file (Correct answer)
- Add it to the system.permissions config entity
- Add it to the module's .routing.yml under 'requirements'
- Register it in hook_install() with permission_save()
Correct answer: Declare it in the module's .permissions.yml file
Custom permissions are declared in a module's .permissions.yml file with a machine name, title, description, and optional restrict access flag.
Question 17: A client insists on using a module with a full security advisory and no available patch. What should a professional Drupal developer do?
- Remove the functionality entirely without consulting the client
- Refuse all work on the project
- Install it anyway since the client accepts the risk verbally
- Document the risk formally, obtain written client approval, and implement a compensating control (Correct answer)
Correct answer: Document the risk formally, obtain written client approval, and implement a compensating control
Written acknowledgment plus a compensating control (e.g., WAF rule, access restriction) is the professional approach when a patched alternative doesn't exist yet.
Question 18: Which Drupal community resource serves as the primary hub for reporting security vulnerabilities in contributed modules?
- github.com/drupal
- drupal.org/security (Correct answer)
- drupal.stackexchange.com
- groups.drupal.org
Correct answer: drupal.org/security
The Drupal Security Team publishes all advisories and accepts vulnerability reports at drupal.org/security.
Question 19: In Drupal, what does 'cache tags' invalidation allow?
- Tagging content for SEO optimization
- Marking cache entries for manual review
- Deleting all cache bins at once
- Selectively clearing only the cached pages affected by a specific piece of content (Correct answer)
Correct answer: Selectively clearing only the cached pages affected by a specific piece of content
Cache tags let Drupal track which cached responses depend on specific data, so when that data changes only the relevant cached pages are invalidated rather than the entire cache.
Question 20: Which programming language did it have to be written in?
- Java
- HTML
- PHP (Correct answer)
- Pascal
Correct answer: PHP
Drupal is primarily written in PHP (Hypertext Preprocessor), a widely used open-source server-side scripting language specifically designed for web development. Its database interactions are typically handled with MySQL or PostgreSQL, making it a powerful and flexible platform for building dynamic websites.
Question 21: What role does active listening play in Drupal practice?
- It wastes time
- It ensures accurate understanding, demonstrates respect, and improves outcomes (Correct answer)
- It is only for counseling professionals
- It means staying silent
Correct answer: It ensures accurate understanding, demonstrates respect, and improves outcomes
This is fundamental to Drupal practice. It ensures accurate understanding, demonstrates respect, and improves outcomes represents the professional standard for communication in the Drupal certification framework.
Question 22: A university needs a portal where students log in and see personalized course materials while anonymous visitors see only public content. Which Drupal feature best addresses this?
- Field API with per-field permissions
- Content Access module with role-based visibility
- Panelizer with user-specific panel variants
- Views with contextual filters and user role conditions (Correct answer)
Correct answer: Views with contextual filters and user role conditions
Views with contextual filters and role-based access conditions lets you serve different content sets to authenticated vs. anonymous users from the same view.
Question 23: What does 'dogfooding' mean in the context of the Drupal community?
- Feeding log data into a monitoring dashboard
- Running automated regression tests before each release
- Using Drupal to build and run Drupal.org itself (Correct answer)
- Testing modules with synthetic data only
Correct answer: Using Drupal to build and run Drupal.org itself
Drupal.org itself is built on Drupal, meaning the community 'eats its own dog food' and discovers real-world issues firsthand.
Question 24: What is the purpose of the Drupal Rector tool in a professional workflow?
- Running performance benchmarks
- Automatically refactoring deprecated Drupal API calls to their modern equivalents (Correct answer)
- Generating test fixtures
- Managing Composer dependencies
Correct answer: Automatically refactoring deprecated Drupal API calls to their modern equivalents
Drupal Rector uses PHP-Parser rules to automatically update deprecated API usage, easing major version upgrades.
Question 25: A client wants real-time notifications when content is published on their Drupal site. Which module family best addresses this requirement?
- Rules + Action modules (Correct answer)
- Webform + Notification modules
- Search API + Facets modules
- Flag + Views modules
Correct answer: Rules + Action modules
The Rules module triggers actions based on events like content publication, making it ideal for real-time notification workflows.
Question 26: What does the principle of 'least privilege' mean when assigning Drupal user roles?
- New users should start with no permissions and formally request access upgrades
- Anonymous users must always have fewer permissions than authenticated users
- Administrators should create separate accounts for privileged versus routine operations
- Users should receive only the minimum permissions required to perform their assigned tasks (Correct answer)
Correct answer: Users should receive only the minimum permissions required to perform their assigned tasks
Least privilege means granting each role only the specific permissions needed for its responsibilities, limiting the blast radius if an account is compromised or misused.
Question 27: What risk is introduced when Drupal's update.php is left accessible without authentication after a site update?
- The site's cron jobs would run update.php on every cron cycle
- Update.php would overwrite custom modules with core defaults
- Any visitor could run database updates and potentially corrupt data or escalate privileges (Correct answer)
- Search engines would index the update log and expose version information
Correct answer: Any visitor could run database updates and potentially corrupt data or escalate privileges
An unauthenticated update.php allows anyone to trigger database schema changes, risking data corruption, denial of service, or privilege escalation.
Question 28: Which practice best demonstrates a Drupal developer's commitment to backward compatibility when releasing a module update?
- Renaming all hooks without an alias
- Removing deprecated functions immediately
- Incrementing the major version for any API change and following semantic versioning (Correct answer)
- Avoiding all API changes indefinitely
Correct answer: Incrementing the major version for any API change and following semantic versioning
Following semantic versioning and incrementing the major version signals breaking changes, allowing site owners to test before upgrading.
Question 29: Which Drupal module allows you to create REST API endpoints without writing custom code?
- GraphQL
- Services
- JSON:API (core) (Correct answer)
- RESTful Web Services (core)
Correct answer: JSON:API (core)
The JSON:API module, included in Drupal core since version 8.7, automatically exposes all content entities as REST API endpoints following the JSON:API specification.
Question 30: A product owner wants to know the exact state of every piece of content in the editorial pipeline at any given moment. Which Drupal feature provides this visibility?
- The Database Logging module event log
- A Views-based editorial dashboard filtered by Content Moderation workflow states (Correct answer)
- The Composer lock file
- The Drupal status report page
Correct answer: A Views-based editorial dashboard filtered by Content Moderation workflow states
A Views dashboard filtered by moderation state gives product owners a real-time snapshot of content at each stage of the editorial pipeline.
Question 31: What Drupal theme setting enables the display of the site logo, site name, and site slogan in the header?
- They are configured via the system.site configuration object only
- They are controlled by block placement in Block Layout
- They are set in Appearance > Settings for the active theme (Correct answer)
- They are hardcoded in the page.html.twig template
Correct answer: They are set in Appearance > Settings for the active theme
Site logo, name, and slogan visibility are toggled per-theme in Appearance > Settings, which stores the choices in the theme's configuration.
Question 32: What is the purpose of the 'breakpoints.yml' file in a Drupal theme?
- Configure server-side adaptive theme switching per device type
- Declare responsive image breakpoints used by core's Responsive Image module (Correct answer)
- Set CSS media query values for the theme's grid system
- Define JavaScript event listeners for window resize events
Correct answer: Declare responsive image breakpoints used by core's Responsive Image module
A theme's breakpoints.yml file registers named breakpoints (e.g., mobile, tablet, desktop) that the core Responsive Image module uses to serve appropriately sized images.
Question 33: Which Drush command regenerates CSS/JS aggregate files and clears the Drupal theme registry?
- drush asset:rebuild
- drush cr (cache:rebuild) (Correct answer)
- drush theme:rebuild
- drush php:eval drupal_flush_all_caches()
Correct answer: drush cr (cache:rebuild)
drush cr (cache:rebuild) clears all Drupal caches including the theme registry, asset aggregates, Twig compiled templates, and the service container.
Question 34: A junior developer on your team hardcodes a user role check using a role ID integer instead of the role machine name. Why is this a professional concern?
- Role IDs can differ between environments, making the code environment-dependent and fragile (Correct answer)
- Hardcoding role IDs improves performance
- Role IDs are always the same across environments, so there is no real issue
- Drupal automatically translates role IDs to machine names
Correct answer: Role IDs can differ between environments, making the code environment-dependent and fragile
Role IDs are auto-incremented and may differ between development, staging, and production databases, making machine names the only reliable identifier.
Question 35: Which tool do Drupal developers use to enforce coding standards automatically during development?
- Xdebug
- PHP_CodeSniffer with the Drupal ruleset (Correct answer)
- Composer
- Drush
Correct answer: PHP_CodeSniffer with the Drupal ruleset
PHP_CodeSniffer with the Drupal and DrupalPractice sniff sets automatically detects coding standard violations in Drupal projects.
Question 36: A university's Drupal site was hacked and backdoor PHP files were found in the public files directory. What hardening measure directly prevents this attack vector?
- Restrict PHP execution in the public files directory via server configuration (e.g., deny .php in Nginx) (Correct answer)
- Move the files directory inside the Drupal docroot
- Enable Drupal's File Security module to scan uploads
- Set the files directory to read-only using file system permissions
Correct answer: Restrict PHP execution in the public files directory via server configuration (e.g., deny .php in Nginx)
Configuring the web server to deny execution of PHP (and other scripts) inside the public files directory prevents uploaded malicious files from being executed.
Question 37: What is the significance of a code of conduct for Drupal professionals?
- It establishes expected behaviors and ethical standards that protect the public and profession (Correct answer)
- It limits professional freedom
- It is merely symbolic
- It applies only to new practitioners
Correct answer: It establishes expected behaviors and ethical standards that protect the public and profession
This is fundamental to Drupal practice. It establishes expected behaviors and ethical standards that protect the public and profession represents the professional standard for professional standards in the Drupal certification framework.
Question 38: What is the role of the 'Pathauto' module in Drupal site building?
- Generate sitemaps automatically
- Block bots from crawling admin pages
- Redirect broken URLs to valid paths
- Create URL aliases based on configurable patterns (Correct answer)
Correct answer: Create URL aliases based on configurable patterns
Pathauto automatically generates clean URL aliases for nodes, taxonomy terms, and users using token-based patterns.
Question 39: Which Drupal theming approach allows you to override a contrib module's template from your custom theme?
- Declare an override in the theme's .breakpoints.yml
- Copy the template to themes/custom/mytheme/templates/ with the same filename (Correct answer)
- Add the module template directory to the theme's info.yml
- Create a hook_theme_registry_alter() to redirect the path
Correct answer: Copy the template to themes/custom/mytheme/templates/ with the same filename
Placing a template file with the same name inside your theme's templates directory causes Drupal to use your copy instead of the module's original template.
Question 40: Which Drupal core module allows administrators to communicate site maintenance windows to logged-in users?
- Block module with role visibility
- Custom Menu module
- Site Maintenance mode with a custom message (Correct answer)
- Announcements Feed module
Correct answer: Site Maintenance mode with a custom message
Drupal's built-in maintenance mode displays a configurable message to all non-admin visitors during scheduled downtime.
Question 41: What is a 'theme suggestion' in Drupal and how does it enable template overrides?
- A CSS class automatically applied to body tags based on content type
- A Twig macro that suggests reusable partial templates
- A configuration flag that enables dark-mode theming
- A prioritized list of template filenames Drupal tries before falling back to defaults (Correct answer)
Correct answer: A prioritized list of template filenames Drupal tries before falling back to defaults
Theme suggestions give Drupal an ordered list of template filenames to try (e.g., node--article.html.twig before node.html.twig), enabling granular per-bundle overrides.
Question 42: Which strategy should a QA team adopt to validate that a Drupal site's Views-generated pages remain correct after a database schema change?
- Exporting the view configuration to YAML and diffing it against a baseline
- Automated functional tests that assert specific field values appear in the rendered view output (Correct answer)
- Running `drush cr` and checking the Drupal status report
- Manually browsing each view page after the schema change
Correct answer: Automated functional tests that assert specific field values appear in the rendered view output
Functional tests that render views and assert expected field values in the HTML output will immediately fail if a schema change causes a view query to break or return unexpected data.
Question 43: An organization accepts the risk of running an end-of-life Drupal version on an isolated internal tool. Which risk management strategy does this represent?
- Risk acceptance with documented justification (Correct answer)
- Risk avoidance by decommissioning the tool
- Risk transference by purchasing cyber insurance
- Risk mitigation through emergency patching
Correct answer: Risk acceptance with documented justification
Consciously deciding to tolerate a known risk with formal documentation is the definition of risk acceptance.
Question 44: What is the most effective communication approach for Drupal professionals?
- Using technical language exclusively
- Adapting communication style to the audience while maintaining accuracy and clarity (Correct answer)
- Only written communication
- Minimizing all communications
Correct answer: Adapting communication style to the audience while maintaining accuracy and clarity
This is fundamental to Drupal practice. Adapting communication style to the audience while maintaining accuracy and clarity represents the professional standard for communication in the Drupal certification framework.
Question 45: In Drupal, what is the purpose of the 'Typed Data API'?
- Generating TypeScript definitions from entity schemas
- Providing a consistent way to define, validate, and interact with different data types in Drupal (Correct answer)
- Restricting field input to specific HTML input types
- Enforcing PHP type hints across modules
Correct answer: Providing a consistent way to define, validate, and interact with different data types in Drupal
The Typed Data API provides a uniform interface for defining data types with metadata, validation constraints, and access control, used extensively by the Entity and Configuration systems.
Question 46: What is 'Twig' in the context of Drupal theming?
- A Drupal module for managing assets
- The PHP templating engine used to render HTML output (Correct answer)
- A front-end build tool
- A CSS framework bundled with Drupal
Correct answer: The PHP templating engine used to render HTML output
Drupal 8+ uses the Twig templating engine, which separates business logic from presentation and auto-escapes output for security.
Question 47: A stakeholder claims a published article is missing from the site search. After checking content is published, what should be investigated next?
- Whether the Search index has been rebuilt and includes the content type (Correct answer)
- Whether the node's URL alias is too long
- Whether the theme's page template is correct
- Whether CKEditor is enabled on the body field
Correct answer: Whether the Search index has been rebuilt and includes the content type
Search results depend on an up-to-date index; if the content type is excluded or the index hasn't rebuilt, content won't appear in search.
Question 48: Which coding standard tool is most commonly used for Drupal PHP code quality checks in CI pipelines?
- PHPStan alone
- SonarQube PHP plugin
- PHP_CodeSniffer with Drupal standards (Correct answer)
- Psalm
Correct answer: PHP_CodeSniffer with Drupal standards
PHP_CodeSniffer configured with the Drupal and DrupalPractice sniff sets is the standard linting tool used by the Drupal community and enforced in CI.
Question 49: For FedRAMP authorization, a Drupal application must be hosted in an environment certified to which standard?
- PCI DSS Level 1
- SOC 2 Type II
- ISO 27001 certification
- NIST SP 800-53 controls at the appropriate impact level (Correct answer)
Correct answer: NIST SP 800-53 controls at the appropriate impact level
FedRAMP requires cloud systems hosting federal data to implement NIST SP 800-53 security controls at Low, Moderate, or High impact level.
Question 50: In Drupal theming, what is the difference between a 'template_preprocess' hook and a theme-specific 'THEME_preprocess' hook?
- template_preprocess runs after rendering; THEME_preprocess runs before asset attachment
- template_preprocess is deprecated; THEME_preprocess is the only supported pattern
- template_preprocess only works for node templates; THEME_preprocess works for all entity types
- template_preprocess runs in modules; THEME_preprocess runs last and can override module variables (Correct answer)
Correct answer: template_preprocess runs in modules; THEME_preprocess runs last and can override module variables
template_preprocess hooks in modules run first to set default variables; THEME_preprocess hooks in the active theme run last, giving themes final control to override or extend variables.
Question 51: What Drupal behavior pattern is used to safely attach JavaScript functionality to dynamically loaded AJAX content?
- Drupal.behaviors with attach() and detach() methods (Correct answer)
- window.onload event listeners
- jQuery .ready() document handlers
- DOMContentLoaded event listeners
Correct answer: Drupal.behaviors with attach() and detach() methods
Drupal.behaviors objects with attach() methods are called both on full page load and after every AJAX response, ensuring JS initializes correctly on dynamic content.
Question 52: A stakeholder requests that certain editorial comments on content be visible only to editors, not to the public. Which Drupal feature supports this?
- Custom block visibility
- Path aliases
- Taxonomy terms
- Revision log messages (Correct answer)
Correct answer: Revision log messages
Revision log messages are stored per revision and are only accessible to users with permission to view revision history, keeping editorial notes internal.
Question 53: In a Drupal theme's libraries.yml, what does the 'minified: true' flag tell Drupal?
- Drupal should automatically minify the file during caching
- The file is already minified and Drupal should not attempt to aggregate it further (Correct answer)
- Only serve this file when CSS aggregation is enabled
- Skip this file during automated front-end testing
Correct answer: The file is already minified and Drupal should not attempt to aggregate it further
The 'minified: true' flag tells Drupal's asset aggregation system that the file is already minified so it can skip redundant re-minification during aggregation.
Question 54: How do you attach a CSS or JS library to a specific Twig template in Drupal?
- Call drupal_add_css() in the theme's .theme file
- Use @import in CSS files
- Add {{ attach_library('mytheme/library-name') }} in the Twig file (Correct answer)
- List the file in the .info.yml css section
Correct answer: Add {{ attach_library('mytheme/library-name') }} in the Twig file
The attach_library() Twig function loads a named library (defined in libraries.yml) only on pages where that template renders, avoiding global CSS/JS bloat.
Question 55: A Drupal site must display a GDPR-compliant cookie notice that does not use 'pre-ticked' consent boxes. What does this mean technically?
- Non-essential cookies must be disabled by default until the user actively gives consent (Correct answer)
- Analytics cookies require a separate consent form
- Cookies must be opt-out, not opt-in
- Cookie notices must appear only on the homepage
Correct answer: Non-essential cookies must be disabled by default until the user actively gives consent
GDPR requires freely given, specific, informed, and unambiguous consent — non-essential cookies must be off by default, with consent obtained before they fire.
Question 56: How do Drupal professionals ensure compliance in daily practice?
- By integrating compliance requirements into standard operating procedures and regular audits (Correct answer)
- By memorizing all regulations
- By hiring a compliance officer
- Compliance is checked only annually
Correct answer: By integrating compliance requirements into standard operating procedures and regular audits
This is fundamental to Drupal practice. By integrating compliance requirements into standard operating procedures and regular audits represents the professional standard for regulatory in the Drupal certification framework.
Question 57: How has digital technology transformed Drupal practice?
- It only affects large organizations
- It has replaced all traditional methods
- It has had no impact
- It has enhanced data collection, analysis, communication, and operational efficiency (Correct answer)
Correct answer: It has enhanced data collection, analysis, communication, and operational efficiency
This is fundamental to Drupal practice. It has enhanced data collection, analysis, communication, and operational efficiency represents the professional standard for technology in the Drupal certification framework.
Question 58: Which technology does Drupal's BigPipe module leverage to improve perceived page load time?
- WebSockets
- Server-Sent Events
- Streaming HTML responses (Correct answer)
- HTTP/2 server push
Correct answer: Streaming HTML responses
BigPipe uses streaming HTML responses to send placeholder content first and then stream in personalized or uncached blocks, reducing perceived page load time.
Question 59: Which Drupal module type would you implement to add a custom source plugin for the Migrate framework?
- A custom field type module
- A custom theme with migrate.yml
- A custom block module
- A custom module with a Plugin class in the MigrateSource plugin namespace (Correct answer)
Correct answer: A custom module with a Plugin class in the MigrateSource plugin namespace
To add a custom migration source, you create a custom module with a PHP class annotated with `@MigrateSource` placed in the `Plugin/migrate/source/` directory.
Question 60: What is the purpose of the 'regions' key in a Drupal theme's .info.yml file?
- Define responsive breakpoints for CSS media queries
- Declare named block placement areas available in the theme (Correct answer)
- Map Twig template files to their corresponding hooks
- Specify which content types the theme applies to
Correct answer: Declare named block placement areas available in the theme
Regions declared in a theme's .info.yml (e.g., header, sidebar_first, footer) create named areas where administrators can place blocks via the Block Layout UI.
Acquia Certified Drupal Developer
The Acquia Certified Drupal Developer exam validates skills and knowledge in fundamental web development concepts, Drupal site building, front end theming, and back end module development. It is the flagship developer certification offered by Acquia for the Drupal CMS platform.
Exam Rules
- You can skip questions and return to them later
- Flag questions for review before submitting
- No feedback shown until you submit the entire exam
- Unanswered questions count as wrong — answer everything
- 10 pretest questions are mixed in and don't affect your score
- Timer auto-submits when time runs out
- Your progress is auto-saved every 30 seconds