- 1.Magento Architecture & Customization Techniques 18%
- 2.Request Flow Processing 12%
- 3.Customizing the Magento UI 10%
- 4.Working with Databases in Magento 7%
- 5.Using the Entity-Attribute-Value (EAV) Model 8%
- 6.Developing with Adminhtml 10%
- 7.Customizing the Catalog 12%
- 8.Customizing the Checkout Process 13%
- 9.Sales Operations 5%
- 10.Customer Management 5%
-
Describe module limitations? amasty, magento2-exam-notes
-
How do different modules interact with each other? belvg, exam-notes, devdocs
-
What side effects can come from this interaction? belvg
-
Determine how to locate different types of files in Magento? exam-notes, sudhanshubajaj,
-
Where are the files containing JavaScript, HTML, and PHP located? belvg, amasty
-
How do you find the files responsible for certain functionality? amasty,belvg,devdocs
-
Determine how to use configuration files in Magento? devdocs, amasty, belvg
-
Which configuration files correspond to different features and functionality? exam-notes, devdocs
-
Describe Magento’s dependency injection approach and architecture. amasty, devdocs
-
Why is it important to have a centralized process creating object instances? amasty
-
Identify how to use DI configuration files for customizing Magento. devdocs
-
How can you override a native class, inject your class into another object, and use other techniques available in di.xml (such as virtualTypes)? amasty, mageplaza, sudhanshubajaj, mage2.pro
-
Demonstrate how to design complex solutions using the plugin’s life cycle? mageplaza,
-
how can multiple plugins execution order be controlled? elightwalk, inchoo
-
How do you debug a plugin if it doesn’t work? stackexchange, stackexchange
-
Identify strengths and weaknesses of plugins? devdocs,magestore
-
What are the limitations of using plugins for customization? [devdocs] (), stackexchange
-
Demonstrate how to configure observers? exam-notes, devdocs ,cloudways,mageplaza,magenticians
-
How do you make your observer only be active on the frontend or backend? magefoo
-
Demonstrate how to configure a scheduled job? devdocs
-
Which parameters are used in configuration scheduled job? amasty,magestore
-
how can configuration interact with server configuration scheduled job? devdocs,kiwicommerce
-
Identify the function and proper use of automatically available events, for example _ load_after, etc? atwix, magenest
-
Describe the usage of bin/magento commands in the development cycle? devdocs,[]
-
Which commands are available magento 2? emiprotechnologies
-
How are commands used in the development cycle?
-
Demonstrate an ability to create a deployment process? cloudways
-
How does the application behave in different deployment modes?mageplaza, belvg
-
how do these behaviors impact the deployment approach for PHP code, frontend assets, etc.? devdocs
-
Describe cache types and the tools used to manage caches? devdocs,belvg
-
How do you add dynamic content to pages served from the full page cache? trellis,magenticians
-
Describe how to operate with cache clearing. fmeextensions,
-
How would you clean the cache? amasty
-
In which case would you refresh cache/flash cache storage? exam-notes
-
Describe how to clear the cache programmatically. mageplaza, magecomp,metagento
-
What mechanisms are available for clearing all or part of the cache? belvg
-
How would you design a customization that should act on every request and capture output data regardless of the controller? exam-notes,belvg
-
What are pros and cons of using developer mode/production mode? customerparadigm,
-
When do you use default mode? meetanshi
-
How do you enable/disable maintenance mode? simicart,magestore
-
Describe front controller responsibilities? belvg,devlineagency
-
In which situations will the front controller be involved in execution? exam-notes
-
how can front controller be used in the scope of customizations? devdocs
-
Describe how Magento processes a given URL.belvg,exam-notes
-
How do you identify which module and controller corresponds to a given URL? mageplaza
-
What is necessary to create a custom URL structure? alanstorm
-
Describe the URL rewrite process and its role in creating user-friendly URLs.
-
How are user-friendly URLs established? mageplaza
-
Describe how action controllers and results function.pierrefay, mage2-blog
-
How do controllers interact with another? amasty
-
When is it necessary to create a new router or to customize existing routers? notes
-
How do you handle custom 404 pages? mageplaza
-
Determine how layout is compiled.exam-notes,devdocs, jamersan,belvg, webkul,inviqa
-
How would you debug your layout.xml files & verify that right layout instructions are used? stackexchange,jamersan
-
Determine how HTML output is rendered? stackexchange,alanstorm
-
How does Magento flush output & what mechanisms exist to access and customize output? belvg,
-
Determine module layout XML schema ? belvg,coursehero
-
How do you add new elements to the pages introduced by a given module? atwix, notes
-
Demonstrate the ability to use layout fallback for customizations & debugging? devdocs
-
How do you identify which exact layout.xml file is processed in a given scope?[exam-notes]
-
How does Magento treat layout XML files with the same names in different modules? inchoo
-
Identify the differences between admin and frontend scopes.devdocs
-
What differences exist for layout initialization for the admin scope? devdocs,emiprotechnologies
-
Identify and understand root templates, empty.xml, and page_layout. devdocs, belvg,
-
How are page structures defined, including number of columns?exam-notes
-
which basic containers are present, etc.?exam-notes
-
Describe the role of blocks and templates in the request flow?exam-notes,magenticians
-
In which situations would you create a new block or a new template? exam-notes,belvg
-
Demonstrate the ability to customize the Magento UI using themes.mageplaza
-
When would you create a new theme? cloudways
-
How do you define theme hierarchy for your project? devdocs
-
Demonstrate the ability to customize/debug templates using the template fallback process.belvg
-
How do you identify which exact theme file is used in different situations? exam-notes
-
How can you override native files? classyllama,
-
Demonstrate an understanding of block architecture and its use in development.belvg, amasty, devdocs,belvg2
-
Which objects are accessible from the block? alanstorm,digitalsix
-
What is the typical block’s role? belvg,
-
In what cases would you put your code in the _ prepareLayout(), _ beforeToHtml(), and _ toHtml() methods? belvg
-
How would you use events fired in the abstract block? belvg
-
Describe how blocks are rendered and cached. belvg
-
Identify the uses of different types of blocks. belvg
-
When would you use non-template block types? belvg
-
In what situation should you use a template block or other block types? belvg
-
Describe the elements of the Magento layout XML schema, including the major XML directives. belvg
-
How do you use layout XML directives in your customizations? belvg
-
Describe how to create a new layout XML file. belvg
-
Describe how to pass variables from layout to block. belvg
-
Describe different types and uses of JavaScript modules? belvg
-
Which JavaScript modules are suited for which tasks? magestore
-
Describe UI components. devdocs, magently, belvg magento 2 ui components-pdf
-
In which situation would you use UiComponent versus a regular JavaScript module? exam-notes, alanstorm,inchoo,belvg
-
Describe the use of requirejs-config.js, x-magento-init, and data-mage-init?alanstorm,toweringmedia, firebearstudio,
-
Describe repositories and data API classes? belvg,vinaikopp,exam-notes, black.bird
-
How do you obtain an object or set of objects from the database using a repository? alanstorm,devdocs
-
How do you configure and create a SearchCriteria instance using the builder? vinaikopp, Magestudy,packtpub, medium
-
How do you use Data/Api classes? belvg, magestore,iperiusbackup
-
Describe how to create and register new entities.mageplaza,techjeffyu,excellencemagentoblog
-
How do you add a new table to the database? devdocs,bsscommerce
-
Describe the entity load and save process. belvg
-
Describe how to extend existing entities. exam-notes , magestore
-What mechanisms are available to extend existing classes, for example by adding a new attribute, a new field in the database, or a new related entity? devdocs,devdocs2,hellomagento2
-
Describe how to filter, sort & specify the selected values for collections and repositories? devdocs,webkul
-
How do you select a subset of records from the database? belvg,stackexchange
-
Describe the database abstraction layer for Magento. devdocs,belvg, medium
-
What type of exceptions does the database layer throw? belvg,
-
What additional functionality does Magento provide over Zend_Adapter? stackexchange, mageplaza
-
How to manipulate columns and keys using declarative schema? declarative
-
What is the purpose of whitelisting? declarative
-
How to use Data and Schema patches? declarative
-
How to manage dependencies between patch files? declarative
- Describe the EAV hierarchy structure.
- What happens when a new attribute is added to the system?
- What is the role of attribute sets and attribute groups?
- How are attributes presented in the admin?
- Describe how EAV data storage works in Magento.
- Which additional options do you have when saving EAV entities?
- How do you create customizations based on changes to attribute values?
- Describe the key differences between EAV and flat table collections.
- In which situations would you use EAV for a new entity?
- What are the pros and cons of EAV architecture?
- Describe the EAV load and save process and differences from the flat table load and save process.
- What happens when an EAV entity has too many attributes?
- How does the number of websites/stores affect the EAV load/save process?
- How would you customize the load and save process for an EAV entity in the situations described here?
- Describe EAV attributes, including the frontend/source/backend structure.
- How would you add dropdown/multiselect attributes?
- What other possibilities do you have when adding an attribute (to a product, for example)?
- Describe how to implement the interface for attribute frontend models.
- What is the purpose of this interface?
- How can you render your attribute value on the frontend?
- Identify the purpose and describe how to implement the interface for attribute source models.
- For a given dropdown/multiselect attribute, how can you specify and manipulate its list of options?
- Identify the purpose and describe how to implement the interface for attribute backend models.
- How (and why) would you create a backend model for an attribute?
- Describe how to create and customize attributes.
- How would you add a new attribute to the product, category, or customer entities?
- What is the difference between adding a new attribute and modifying an existing one?
-
Describe the difference between Adminhtml and frontend? belvg,exam-notes,
-
What additional tools and requirements exist in the admin? mageplaza, mageworx
-
Define form structure, form templates, grids, grid containers & elements? bitsofco, mageplaza,
-
What steps are needed to display a grid or form? aionhill,atwix, belvg
-
Describe the grid and form workflow? magentodeveloper,
-
How is data provided to the grid or form? magestore
-
How can this be process be customized or extended? create-admin-grid
-
Describe how to create a simple form and grid for a custom entity? techjeffyu
-
Given a specific entity with different types of fields (text, dropdown, image, file, date, and so on)? atwix,
-
how would you create a grid and a form? webkul, mage-world, meetanshi
6.3 Define system configuration XML and configuration scope inviqa
-
Define basic terms and elements of system configuration XML, including scopes. magestore, atwix
-
How would you add a new system configuration option? mageplaza,
-
What is the difference in this process for different option types (secret, file)? aureatelabs, metagento
-
Describe system configuration data retrieval? mage2
-
How do you access system configuration options programmatically? blogtreat,
-
Describe how to set up a menu item and permissions.firebearstudio,mageplaza, magestore
-
How would you add a new tab in the Admin menu?
-
Describe how to check for permissions in the permissions management tree structures.
-
How would you add a new user with a given set of permissions?
-
How can you do that programmatically?
- Identify/describe standard product types (simple, configurable, bundled, etc.)? magestore
- How would you obtain a product of a specific type?firebearstudio
- What tools (in general) does a product type model provide?magestore
- What additional functionality is available for each of the different product types? mageworx, amasty
- Identify the basic concepts of price generation in Magento.devdocs
- How would you identify what is composing the final price of the product? magestore
- How can you customize the price calculation process? stackexchange
- Describe how price is rendered in Magento.stackexchangestackexchange
- How would you render price in a given place on the page?
- How would you modify how the price is rendered?
- Describe category properties and features. sherocommerce, amasty
- How do you create and manage categories? belvg
- Describe the category hierarchy tree structure implementation (the internal structure inside the database). stackoverflow, firebearstudio
- What is the meaning of parent_id 0? How are paths constructed? magentoextensions, dckap, community
- Which attribute values are required to display a new category in the store? docs
- What kind of strategies can you suggest for organizing products into categories?
- Identify how to implement catalog price rules. magestore, belvg
- When would you use catalog price rules? toweringmedia, mydons
- How do they impact performance?
- How would you debug problems with catalog price rules?
- Describe how to customize the process of adding a product to the cart.mageplaza, belvg, inchoo, cloudways, atwix
- Which different scenarios should you take into account?, bsscommerce
- Describe how to modify the price calculation process in the shopping cart.belvg, webkul, cloudways
- How can you add a custom totals model or modify existing totals models? belvg, siphor
- Describe how to implement shopping cart rules.mageplaza, magento, magenticians, cloudways
- What is the difference between sales rules and catalog rules? magento, mageplaza, mageworx, excellencemagentoblog, amasty
- How do sales rules affect performance? onilab, templatemonster
- What are the limitations of the native sales rules engine? tigrensolutions
- Describe add-to-cart logic in different scenarios. belvg, magebay
- What is the difference in adding a product to the cart from the product page, from the wishlist, by clicking Reorder, and during quotes merge? belvg
- Describe the difference in behavior of different product types in the shopping cart. mageplaza, bsscommerce
- How are configurable and bundle products rendered? belvg, firebearstudio
- How can you create a custom shopping cart renderer? tigren
- Describe the available shopping cart operations.
- Which operations are available to the customer on the cart page?
- How can you customize cart edit functionality?
- How would you create an extension that deletes one item if another was deleted?
- How do you add a field to the shipping address? github
- Describe shipping methods architecture & create a new shipping method? banglacourier, devdocs, mageplaza, classyllama, cloudways
- What is the relationship between carriers and rates? maurisource
- Describe how to troubleshoot shipping methods and rate results. community
- Where do shipping rates come from? mageplaza
- How can you debug the wrong shipping rate being returned? stackexchange
- Describe how to troubleshoot payment methods. stripe, maxpronko, stackexchange
- What types of payment methods exist? mageworx, magestore
- What are the different payment flows? devdocs, devdocs,mageplaza
-
Describe how to modify order processing and integrate it with a third-party ERP system? belvg, devdocs firebearstudio, elogic
-
Describe how to modify order processing flow? mag-manager, docs, stackexchange, magecom, amasty
-
How would you add new states and statuses for an order? atwix , mageplaza, stackexchange, magestore
-
How do you change the behavior of existing states and statuses? magestore
-
Described how to customize invoices? mageplaza, magestore, magento
-
How would you customize invoice generation, capturing, and management? magestore, webkul, magenticians
-
Describe refund functionality in Magento? mageplaza, simicart
-
Which refund types are available, and how are they used? magestore, magento, mage2
- Describe how to customize the “My Account” section. belvg, stackexchange, magecomp, meetanshi, belvg
- How do you add a menu item? mageplaza, fmeextensions
- How would you customize the “Order History” page? belvg, rakeshjesadiya, stackexchange
-
Describe how to add or modify customer attributes. m2example
-
Describe how to extend the customer entity? mageplaza, arpatech, magesolution
-
How would you extend the customer entity using the extension attributes mechanism? stackexchange, belvg,
-
Describe how to customize the customer address? packagist, fooman
-
How would you add another field into the customer address? github, webkul
-
Describe customer groups and their role in different business processes? mageplaza
-
What is the role of customer groups? paulnrogers, magento
-
What functionality do they affect? mageplaza
-
Describe Magento functionality related to VAT? docs, mageplaza
-
How do you customize VAT functionality? stackexchange