All Practice Exams

100+ Free Acquia Back End Specialist (D10) Practice Questions

Pass your Acquia Certified Back End Specialist - Drupal 10 exam on the first try — instant access, no signup required.

✓ No registration✓ No credit card✓ No hidden fees✓ Start practicing immediately
100+ Questions
100% Free
1 / 100
Question 1
Score: 0/0

Which Symfony component is the foundation of Drupal 10's HTTP request/response handling?

A
B
C
D
to track
2026 Statistics

Key Facts: Acquia Back End Specialist (D10) Exam

60

Scenario Questions

Acquia Academy

120 min

Exam Duration

Acquia

70%

Passing Score

Acquia

$350

Exam Fee

Acquia

PHP 8.1+

Required Platform

Drupal 10

Symfony 6.x

Framework Foundation

Drupal 10

The Acquia Certified Back End Specialist - Drupal 10 exam has 60 scenario-based questions in 120 minutes with a 70% passing score and a $350 fee. It validates Drupal 10 back-end coding skills - module development, plugin system, hooks/events, Form/Entity/Database APIs, caching, REST/JSON:API, and PHPUnit testing - on Symfony 6.x and PHP 8.1+. Suitable for developers with 1-2+ years of hands-on Drupal coding experience.

Sample Acquia Back End Specialist (D10) Practice Questions

Try these sample questions to test your Acquia Back End Specialist (D10) exam readiness. Each question includes a detailed explanation. Start the interactive quiz above for the full 100+ question experience with AI tutoring.

1Which Symfony component is the foundation of Drupal 10's HTTP request/response handling?
A.Symfony Console
B.Symfony HttpFoundation
C.Symfony Finder
D.Symfony Yaml
Explanation: Drupal 10 uses Symfony 6.x HttpFoundation as the basis for its Request and Response objects. Controllers receive a Symfony\Component\HttpFoundation\Request and return Response (or subclass) objects. HttpKernel ties this together with the routing and event dispatcher subsystems.
2Drupal 10 requires which minimum PHP version?
A.PHP 7.4
B.PHP 8.0
C.PHP 8.1
D.PHP 8.3
Explanation: Drupal 10 requires PHP 8.1 as the minimum supported version. This enables use of readonly properties, never return type, enums, and first-class callable syntax in custom modules. Drupal 10.3+ supports PHP 8.3 but 8.1 remains the floor.
3What is the recommended way to inject a service into a custom controller in Drupal 10?
A.Use \Drupal::service() directly inside controller methods
B.Implement ContainerInjectionInterface and define a create() static factory
C.Define a global PHP variable for each service
D.Read the service ID from settings.php
Explanation: Controllers should extend ControllerBase (which already implements ContainerInjectionInterface) and override create(ContainerInterface $container) to inject services through the constructor. Calling \Drupal::service() inside a controller is a service-locator anti-pattern and breaks unit testability.
4In a my_module.services.yml file, which key declares the PHP class that implements a service?
A.service
B.class
C.provider
D.factory
Explanation: The class key under each service ID names the fully-qualified class. Optional keys include arguments (constructor arguments referenced as @service_id or %parameter%), tags, factory, and lazy. The factory key is only used when a static method or another service produces the instance.
5Which hook fires immediately before an entity is written to storage during save?
A.hook_entity_insert
B.hook_entity_presave
C.hook_entity_load
D.hook_entity_view
Explanation: hook_entity_presave() is invoked just before the storage handler writes the entity, giving modules a final chance to modify field values on the in-memory entity. hook_entity_insert/update fire after the row is committed and should not be used to alter values for storage.
6Which file declares routes for a custom module named example?
A.example.routing.yml
B.example.routes.yml
C.example.module
D.example.info.yml
Explanation: Drupal 10 routes are declared in {module}.routing.yml using the Symfony routing format. Each route specifies a path, defaults (with _controller, _form, _entity_view, or _title), and requirements (such as _permission or _access).
7To return a controller response that supports both HTML and an AJAX command sequence, which response class should you use?
A.\Symfony\Component\HttpFoundation\Response
B.\Drupal\Core\Ajax\AjaxResponse
C.\Symfony\Component\HttpFoundation\JsonResponse
D.\Drupal\Core\Render\HtmlResponse
Explanation: AjaxResponse extends JsonResponse and serializes a queue of CommandInterface objects (e.g. ReplaceCommand, OpenModalDialogCommand) consumed by Drupal.ajax on the client. Plain HtmlResponse and JsonResponse cannot trigger Drupal AJAX commands.
8Which interface must a class implement to be discovered by EventSubscriberInterface tagged services?
A.\Drupal\Core\DependencyInjection\ContainerInjectionInterface
B.\Symfony\Component\EventDispatcher\EventSubscriberInterface
C.\Drupal\Core\Plugin\PluginInterface
D.\Drupal\Core\Form\FormInterface
Explanation: Subscriber classes implement EventSubscriberInterface and provide getSubscribedEvents() returning a map of event name to method (or array of method/priority). They must be registered as services tagged with event_subscriber for the kernel's event dispatcher to find them.
9What is the correct return type for FormBase::buildForm()?
A.string
B.array
C.\Drupal\Core\Form\FormStateInterface
D.\Symfony\Component\HttpFoundation\Response
Explanation: buildForm() returns a render array describing the form. Each child element has a #type (textfield, submit, managed_file, etc.) and optional properties. FormStateInterface is the second parameter, not the return type.
10Which base class should you extend for a settings form whose values map directly to a configuration object?
A.FormBase
B.ConfigFormBase
C.ConfirmFormBase
D.EntityForm
Explanation: ConfigFormBase provides the boilerplate for editable configuration: getEditableConfigNames(), config() helper, and a status message after submit. You declare the editable config keys and the parent submitForm() persists them via the ConfigFactory.

About the Acquia Back End Specialist (D10) Exam

The Acquia Certified Back End Specialist - Drupal 10 exam validates the skills of a Drupal back-end developer. It covers custom module development, the plugin system (annotations and PHP attributes), hook and event implementations, the Routing/Form/Entity/Database APIs, configuration management, caching, web services (REST/JSON:API), Migrate API, automated tests (PHPUnit, Kernel, Functional), and performance/security best practices on Drupal 10 with PHP 8.1+ and Symfony 6.x.

Questions

60 scored questions

Time Limit

120 minutes

Passing Score

70%

Exam Fee

$350 (Acquia / Webassessor (Kryterion))

Acquia Back End Specialist (D10) Exam Content Outline

30%

Fundamental Web Development Concepts

PHP 8.1+ language features (readonly, enums, attributes), Symfony 6.x components, Composer (require/replace/conflict), OOP patterns, dependency injection, and the service container

25%

Drupal Core API

Plugin system (PluginManager, derivatives, attributes), hooks (entity_presave, form_alter, query_alter, token_info), KernelEvents subscribers, Form API (FormBase, ConfigFormBase, AJAX), Entity API (content/config entities), Database API (DBTNG, transactions, query tags)

20%

Performance, Security, and Caching

Cache contexts, cache tags, max-age, render cache invalidation; Memcached/Redis backends; CSRF/XSS protection; placeholders; AccessResult and access checks; Twig auto-escape

15%

Web Services, Migrate, and Configuration

REST resources, JSON:API filters and includes, OAuth2 with simple_oauth, Migrate source/process/destination plugins, ConfigFactory, ConfigEvents, and per-environment overrides

10%

Automated Tests and Tooling

PHPUnit Unit, Kernel, Functional, and FunctionalJavascript (WebDriverTestBase) tests; Drush 12+ generate commands; hook_update_N, hook_post_update_NAME; logger.factory channels

How to Pass the Acquia Back End Specialist (D10) Exam

What You Need to Know

  • Passing score: 70%
  • Exam length: 60 questions
  • Time limit: 120 minutes
  • Exam fee: $350

Keys to Passing

  • Complete 500+ practice questions
  • Score 80%+ consistently before scheduling
  • Focus on highest-weighted sections
  • Use our AI tutor for tough concepts

Acquia Back End Specialist (D10) Study Tips from Top Performers

1Build a sandbox custom module that exercises every domain - content entity, config entity, custom plugin type, route + controller, config form, event subscriber, migrate source, and kernel test
2Master the difference between hooks (Drupal-native invokeAll) and Symfony events (EventSubscriberInterface) - know when each is appropriate
3Practice both Doctrine annotations and PHP 8 attribute discovery for plugins - Drupal 10.2+ prefers attributes
4Always include accessCheck(TRUE) on entity queries - omitting it throws QueryException in Drupal 10
5Learn cache contexts (variation) vs cache tags (invalidation) vs max-age - the most-tested caching topic
6Practice writing FormBase, ConfigFormBase, and ConfirmFormBase subclasses with AJAX callbacks and #ajax wrappers
7Get comfortable with simple_oauth, JSON:API filter[] syntax, and REST resource permissions() return arrays
8Write a PHPUnit Unit test, a KernelTestBase test, and a WebDriverTestBase test - the exam asks which base to choose for which scenario

Frequently Asked Questions

What does the Acquia Certified Back End Specialist - Drupal 10 exam cover?

The exam covers back-end coding skills for Drupal 10: custom module development, the plugin system (annotations and PHP attributes), hook and event implementations, the Routing, Form, Entity, and Database APIs, configuration management, caching (cache tags, contexts, max-age), web services (REST and JSON:API), the Migrate API, automated tests (PHPUnit Unit, Kernel, Functional), and performance/security best practices.

How many questions are on the Acquia Back End Specialist Drupal 10 exam?

The exam has 60 questions delivered in 120 minutes, with a passing score of 70%. Questions are multiple-choice and multiple-response and are presented as scenarios that test how a Drupal 10 back-end developer would approach real coding tasks rather than rote API recall.

How much does the Acquia Drupal 10 Back End Specialist exam cost?

The Acquia Certified Back End Specialist - Drupal 10 exam costs $350 USD. It is delivered through Webassessor (Kryterion) at a testing center or as an online proctored session, and it is valid until you choose to take a newer version of the credential.

What experience is recommended before taking the Acquia Back End Specialist exam?

Acquia recommends 1-2+ years of hands-on Drupal back-end development experience. You should be comfortable writing custom modules, declaring services, building plugins, working with the Entity API, writing PHPUnit tests, and using Composer and Drush. Production experience with caching, REST/JSON:API, and security best practices is also expected.

Is this exam still relevant for Drupal 11 projects?

Yes. The Drupal 10 Back End Specialist exam tests APIs and patterns that carry forward into Drupal 11 - the same plugin system, hooks, Entity API, cache metadata, and Symfony 6.x foundation are still in use. Acquia's exam page notes that the credential validates skills relevant to both Drupal 10 and 11 codebases.

What programming language and framework knowledge is tested?

The exam tests PHP 8.1+ language features (readonly properties, enums, first-class callable syntax, PHP 8 attributes), Symfony 6.x HttpFoundation/EventDispatcher/Routing, dependency injection patterns, OOP design (interfaces, abstract classes, SOLID principles), and Composer fundamentals (require, replace, conflict, scripts).

How long should I study for the Acquia Back End Specialist Drupal 10 exam?

Most candidates with 1-2+ years of Drupal experience need 4-8 weeks at 6-10 hours per week (30-80 total hours). Build a small custom module that covers each domain - a content entity, a config entity, a custom plugin type, a route with a controller, a config form, an event subscriber, a migrate source plugin, and a kernel test. Aim for 80%+ on full-length practice exams before scheduling.