Skip to content

Latest commit

 

History

History
662 lines (422 loc) · 53.4 KB

mcpd.md

File metadata and controls

662 lines (422 loc) · 53.4 KB

Magento 2 Certified Professional Developer exam Preparation



Topics and Objectives


1.1 Describe Magento’s module-based architecture

1.2 Describe Magento’s directory structure

1.3 Utilize configuration XML and variables scope

  • Determine how to use configuration files in Magento? devdocs, amasty, belvg

  • Which configuration files correspond to different features and functionality? exam-notes, devdocs

1.4 Demonstrate how to use dependency injection

  • Describe Magento’s dependency injection approach and architecture. amasty, devdocs

  • How are objects realized in Magento 2? amasty, bigbridge

  • 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

1.5 Demonstrate ability to use plugins

1.6 Configure event observers and scheduled jobs

1.7 Utilize the CLI

  • 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

1.8 Demonstrate the ability to manage the cache

simicart

  • 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

2.1 Utilize modes and application initialization

  • How would you design a customization that should act on every request and capture output data regardless of the controller? exam-notes,belvg

  • Describe how to use Magento modes. devdocs cloudways

  • 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

2.2 Demonstrate ability to process URLs in Magento

  • 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

  • how are user-friendly URLs customized? meetanshi,amasty

  • Describe how action controllers and results function.pierrefay, mage2-blog

  • How do controllers interact with another? amasty

  • How are different response types generated? belvg notes

2.3 Demonstrate ability to customize request routing

  • Describe request routing and flow in Magento.atwix,belvg

  • When is it necessary to create a new router or to customize existing routers? notes

  • How do you handle custom 404 pages? mageplaza

2.4 Determine the layout initialization process

  • 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

2.5 Determine the structure of block templates

  • 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

3.1 Demonstrate ability to utilize themes and the template structure

  • 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,

3.2 Determine how to use blocks

  • 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,

  • Identify the stages in the lifecycle of a block.

  • 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

3.3 Demonstrate ability to use layout and XML schema

  • 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

3.4 Utilize JavaScript in Magento

dballl

4.1 Demonstrate ability to use data-related classes

-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

4.2 Demonstrate an ability to use declarative schema

  • 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

dballl

5.1 Demonstrate ability to use EAV model concepts

  • 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?

5.2 Demonstrate ability to use EAV entity load and save

  • 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?

5.3 Demonstrate ability to manage attributes

  • 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?

6.1 Describe common structure/architecture

6.2 Define form and grid widgets

  • 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,

6.4 Utilize ACL to set menu items and permissions

  • Describe how to set up a menu item and permissions.firebearstudio,mageplaza, magestore

  • How would you add a new menu item in a given tab?

  • How would you add a new tab in the Admin menu?

  • How do menu items relate to ACL permissions?

  • 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?

7.1 Demonstrate ability to use products and product types

  • 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

7.2 Describe price functionality

  • 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?

7.3 Demonstrate ability to use and customize categories

  • 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?

7.4 Determine and manage catalog rules

  • 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?

8.1 Demonstrate ability to use quote, quote item, address & shopping cart rules in checkout

8.2 Demonstrate ability to use totals models

  • 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

8.3 Demonstrate ability to customize the shopping cart

  • 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

8.4 Demonstrate ability to customize shipping and payment methods

9.1 Demonstrate ability to customize sales operations

10.1 Demonstrate ability to customize My Account

10.2 Demonstrate ability to customize customer functionality


Tutorials Series Go to Top