Commerce Architecture
Core concepts
Adobe Commerce is a PHP application built on the Magento framework with an MVC-style layered architecture. Candidates must understand the separation of presentation (themes), business logic (modules), and data (MySQL plus the EAV model for catalog and customer entities). The EAV (entity-attribute-value) model lets attributes be added without schema changes; flat catalog tables are an optional performance optimization. Know the role of the service contracts and repositories/APIs, and the difference between the REST and GraphQL APIs - GraphQL is the modern choice for headless storefronts, while REST/SOAP serve integrations.
Frontend and extensibility
Understand the two rendering approaches: traditional Luma/theme-based (PHP templates, layout XML, blocks) versus headless/PWA (a separate frontend consuming GraphQL). Modules are the unit of customization, declared in module.xml, and can be enabled/disabled. Themes extend the view layer and inherit from a parent theme. Know that the framework supports dependency injection via di.xml and that plugins (interceptors) wrap methods without modifying core code.
Traps to watch for
Questions often confuse where logic belongs: business logic in modules, presentation in themes. Another trap is assuming all APIs are equivalent - GraphQL is read-heavy and preferred for storefronts, while REST handles many admin/integration operations. Do not conflate the EAV model with flat tables; flat is a derived optimization, not the source of truth.
Worked example
A headless storefront needs product data. Rule of thumb: query the GraphQL endpoint for catalog and cart operations rather than scraping REST; reserve REST for admin-side or third-party integration flows where its broader write coverage applies.