Adobe Commerce Architect Master AD0-E722 Exam Questions

Page: 1 / 14
Total 50 questions
Question 1

An existing Adobe Commerce website is moving to a headless implementation.

The existing website features an "All Brands'' page, as well as individual pages for each brand. All brand-related pages are cached in Varnish using tags in the same manner as products and categories.

Two new GraphQL queries have been created to make this information available to the frontend for the new headless implementation:

During testing, the queries sometimes return out-of-date information. How should this problem be solved while maintaining performance?



Answer : B

This solution ensures that the data returned by the GraphQL queries is up to date, while also maintaining performance. By specifying a $cache(cacheidentity: Path\To\identityclass) directive for each GraphQL query, the relevant brands and associated products will be added as cache tags.


Question 2

An Adobe Commerce Architect is reviewing API-functional test code. Some tests send errors to indicate that the customer address does not exist. The test codes show the following:

Which step should the Architect take to fix the test errors?



Answer : B

The issue is being caused by the use of @magentoDataFixture annotation, which creates a temporary data fixture that is rolled back after each test execution1. This means that the customer address created by the fixture is not persisted in the database and cannot be retrieved by subsequent tests.To fix this, the Architect should use @magentoPersistDataFixture annotation, which creates a permanent data fixture that is not rolled back after each test execution2. This way, the customer address created by the fixture will be persisted in the database and can be accessed by subsequent tests.Changing the annotation to use @magentoApiDataFixture or specifying address_id in the annotation will not solve the issue, as they are not related to the persistence of the data fixture3.Reference:Data fixtures,Persistent data fixtures,API-functional tests


Question 3

An Adobe Commerce Architect is troubleshooting an issue on an Adobe Commerce Cloud project that is not yet live.

The developers copied the Staging Database to Production in readiness to Go Live. However, when the developers test their Product Import feature, the new products do not appear on the front end.

The developers suspect the Varnish Cache is not being cleared. Staging seems to work as expected. Production was working before the database migration.

What is the likely cause?



Answer : C


Question 4

A merchant asks for a new category attribute to allow uploading an additional mobile image against categories. The merchant utilizes the content staging and preview feature in Adobe Commerce and wants to schedule and review changes to this new mobile image field.

A developer creates the attribute via a data patch and adds it to view/adminhtml/ui_component/category_f orm. xml. The attribute appears against the category in the main form, but does not appear in the additional form when scheduled updates are made.

To change this attribute when scheduling new category updates, which additional action should the Architect ask the developer to take?



Answer : C

This action is necessary to make the attribute available for content staging and preview. According to the Adobe Commerce documentation, the catalogstaging_category_update_form.xml file defines the fields that are displayed in the Scheduled Changes section of the category form. The file extends the category_form.xml file and adds additional fields that are specific to content staging, such as start and end dates, campaign name, description, etc. To include a custom category attribute in the Scheduled Changes section, the attribute must also be declared in the catalogstaging_category_update_form.xml file with the same configuration as in the category_form.xml file.


Content staging | Adobe Commerce Developer Guide

Create a category attribute | Adobe Commerce Developer Guide

Question 5

An Architect working on a headless Adobe Commerce project creates a new customer attribute named my_attribute. Based on the attribute value of the customer, the results of GraphQI queries are modified using a plugin. The frontend application is communicating with Adobe Commerce through Varnish by Fastly. which is already caching the queries that will be modified. The Adobe Commerce Fastly extension is installed, and no other modifications are made to the application.

Which steps should the Architect take to make sure the vcl_hash function of Varnish also considers the newly created attribute?



Answer : A

To make sure the vcl_hash function of Varnish considers the newly created attribute, the Architect needs to do the following steps:

Create a new class that implements the Magento\GraphQlCache\Model\CacheId\CacheIdFactorProviderInterface interface. This interface defines two methods: getFactorName and getFactorValue. The getFactorName method should return the name of the attribute, in this case, my_attribute.The getFactorValue method should return the value of the attribute for the current customer, which can be obtained from the customer session or customer repository1.

Add this class to the idFactorProviders array of Magento\GraphQlCache\Model\CacheId\CacheIdCalculator through dependency injection. The CacheIdCalculator is responsible for generating a cache ID for each GraphQL request based on the factors provided by the idFactorProviders.By adding the new class to this array, the Architect ensures that the cache ID will include the value of my_attribute1.

The cache ID is then used by Varnish to hash and lookup the cached response for each request.By including my_attribute in the cache ID, the Architect ensures that Varnish will serve different responses based on the attribute value of the customer2.Reference:

Magento_GraphQlCache module | Magento 2 Developer Documentation

Varnish caching | Adobe Commerce 2.4 User Guide - Magento


Question 6

An Architect is configuring the preload.keys for Redis on an Adobe Commerce on-premise instance.

The Architect discovers that the following cache keys are loaded on each frontend request: EAV_ENTITY_TYPES, GLOBAL_PLUGIN_LIST, DB_IS_UP_TO_DATE, SYSTEM_DEFAULT.

* The id_prefix of the frontend => page_cache is set to 063_.

* The id_pref ix of frontend => default is set to 762_.

* The Architect has enabled and configured Redis L2 caching.

How should the preload.keys be configured?

A)

B)

C)

D)



Answer : C

Option C is correct because it configures the preload.keys correctly for Redis L2 caching on an Adobe Commerce on-premise instance. Redis L2 caching is a feature that allows storing the cache data in both Redis and the local file system. This way, the cache data can be loaded faster from the local storage, while Redis acts as a cache invalidation service.To use Redis L2 caching, the backend option for both frontend => page_cache and frontend => default must be set to Magento\Framework\Cache\Backend\RemoteSynchronizedCache1. To enable the preload feature, which reduces the number of requests to Redis, the preload.keys option must be specified with the cache keys that are loaded on each frontend request.However, unlike Redis L1 caching, the preload.keys must include the suffix :hash to indicate that only the hash values of the cache data are stored in Redis2. Therefore, the correct configuration for preload.keys is:

[ '762_EAV_ENTITY_TYPES:hash', '762_GLOBAL_PLUGIN_LIST:hash', '762_DB_IS_UP_TO_DATE:hash', '762_SYSTEM_DEFAULT:hash', ],

Option A is incorrect because it configures the preload.keys incorrectly for Redis L2 caching. It uses the id_prefix of frontend => page_cache (063_) instead of frontend => default (762_) for the cache keys. This will cause a mismatch between the cache keys and the cache data, and result in incorrect or missing cache data.Moreover, it does not include the suffix :hash for the preload.keys, which is required for Redis L2 caching2.

Option B is incorrect because it configures the preload.keys incorrectly for Redis L2 caching.It does not include the suffix :hash for the preload.keys, which is required for Redis L2 caching2. It also uses a wrong cache key (GLOBAL_PLUGIN_LIST) instead of GLOBAL_PLUGIN_LIST.

Option D is incorrect because it configures the preload.keys incorrectly for Redis L2 caching. It uses a wrong id_prefix (162_) instead of frontend => default (762_) for the cache keys. This will cause a mismatch between the cache keys and the cache data, and result in incorrect or missing cache data. It also uses a wrong cache key (EAV_ENTITY_TYPES) instead of EAV_ENTITY_TYPES.


1:Two-level caching | Adobe Commerce Developer Guide

2:Use Redis for default cache | Adobe Commerce Developer Guide

Question 7

A merchant is utilizing an out-of-the-box Adobe Commerce application and asks to add a new reward card functionality for customers. During the code review, the Adobe Commerce Architect notices the reward_card_number attribute setup created for this functionality is causing the customer attribute to be unavailable in the My account/My rewards page template.

What should be added to set the customer attribute correctly?



Answer : A

The group property determines which section of the customer account the attribute belongs to. By setting the group property to 1, the reward_card_number attribute will be assigned to the default group, which is the Account Information section.This will make the attribute available in the My account/My rewards page template.Reference: https://experienceleague.adobe.com/docs/commerce-admin/customers/customer-accounts/attributes/attribute-properties.html?lang=en#group1


Page:    1 / 14   
Total 50 questions