35+ 最常被问到的 AEM 面试问题及答案

2025年3月17日 | 阅读13分钟

以下是最常被问到的 AEM 面试问题及答案列表。

1) 什么是 Adobe AEM?/ 你对 AEM 有什么理解?

Adobe AEM,也称为 AEM,是 Adobe Experience Manager 的缩写。它是一个全面的内容管理解决方案,用于构建网站、移动应用程序和表单。它用于轻松管理您的营销内容和资产。AEM 基于 Apache Sling 的概念,这是一个基于 OSGi 的 Java 应用程序,使用 Apache Felix 引擎。它也是 Adobe Marketing Cloud 的一部分。


2) 解释 AEM 的架构。

AEM 的架构可以从最低到最高层分为以下几个堆栈。

AEM Interview Questions

Java 平台

AEM 需要 Java 平台。AEM 或 Adobe Experience Manager 是一个 Java Web 应用程序,需要一个服务器端 Java 运行时环境 (JRE)。它至少需要 JRE 1.6 版本,建议使用 JRE 1.7 以获得最佳效果。

Granite 平台

Granite 是 Adobe 的一个开放式 Web 堆栈。它构成了 AEM 构建的技术基础。

OSGi 框架

OSGi 是一个用于 Java 的动态软件组件系统。在此系统中,应用程序由一组称为 OSGi 术语中“bundle”的组件组成,这些组件可以在运行时动态安装、启动、停止和卸载,而无需关闭和重新启动整个应用程序。在运行的 AEM 实例中,可以通过 AEM Web 控制台 http://:/system/console/bundles 来管理 bundle。

Servlet 引擎

在 Quickstart 安装时,内置的 CQSE Servlet 引擎作为 bundle 在 OSGi 框架内运行。在 war 文件安装中,Servlet 处理被委托给第三方应用程序服务器。AEM 包含一个内置的 Servlet 引擎 (CQSE),当通过独立的 Quickstart jar 文件部署 AEM 时,它在 OSGi 框架内作为 bundle 运行。

JCR 内容存储库

JCR 是 Java 内容存储库的缩写。AEM 中的所有数据都存储在内置的 CRX 内容存储库中,该存储库实现了 Java 内容存储库规范。AEM 中的所有数据都存储在其内置的内容存储库中。

  • AEM 内置的存储库称为 CRX。
  • CRX 是 Adobe 对 Java 技术 2.0 内容存储库规范的实现。

Sling 内容交付

Sling 是一个基于 REST 原则的 Web 应用程序框架,可轻松开发面向内容的应用程序。Sling 使用 JCR 存储库,例如 Apache Jackrabbit,或在 AEM 的情况下,使用 CRX 内容存储库作为其数据存储。AEM 是使用 Sling 构建的。

AEM 模块

AEM 在 Granite 平台上的 OSGi 框架内运行。一些单独的 AEM 模块包括 WCM、DAM、Workflow 等。

客户应用程序

客户应用程序在 OSGi 框架内的 AEM 上运行。


3) AEM 的主要特点是什么?

以下是 AEM 的主要特点列表

  • AEM 提供了一种简单的方式来浏览网页中的不同页面、资产、模板和元素。
  • AEM 的新模板编辑器包含许多功能,允许用户创建和管理他们的个性化模板。您可以轻松地使用 HTML5 功能进行拖放操作,制作表单。这使得整个过程更容易。
  • AEM 的最新功能与 Livefyre 相关,并提供更好的内容开发和社交媒体营销。
  • 在 AEM 中,多站点管理器 (Multi-Site Manager) 为国际品牌提供了无缝的在线营销活动启动。它可以轻松地定位本地市场和客户。
  • AEM 提供统一的用户界面,为所有人提供更好的个性化体验。

4) 什么是 AEM 测试?/ 你对 AEM 测试有什么理解?

AEM 提供了一个名为 Bobcat 的测试框架,用于自动化用户界面测试。这是一个开源的测试自动化框架,用于 Web 应用程序的功能测试。它允许您通过使用提供 JavaScript API 来创建测试的框架,直接在 Web 浏览器中编写和运行 UI 测试。AEM 测试还使用一个名为 Hobbes.js 的测试库或框架,该框架是用 JavaScript 编写的。开发 Hobbes.js 框架的主要目的是在开发过程的一部分测试 AEM。现在,它已免费提供给公众用于测试 AEM 应用程序。


5) AEM 和 Sitecore CMS 之间有什么相似之处和不同之处?

Sitecore CMS 是基于 ASP.NET 构建的领先的企业级内容管理系统之一。Sitecore CMS 和 AEM 都提供资产管理和内容管理功能,但 AEM 还提供工作流管理功能。我们可以根据以下标准比较 AEM 和 Sitecore CMS

比较参数AEMSitecore CMS
成本效益AEM 具有很高的成本效益。Sitecore CMS 也具有很高的成本效益。
复杂度AEM 的复杂性很高。Sitecore CMS 的复杂性也很高。
特点AEM 提供了良好 CMS 的所有功能。Sitecore CMS 也提供了良好 CMS 的所有功能。
集成AEM 易于访问。Sitecore CMS 易于访问。
CMS 支持AEM 可以支持多用户访问Sitecore CMS 也支持多用户访问
安全性AEM 的安全性非常高。Sitecore CMS 的安全性也非常高。
定制AEM 可定制,但适度。Sitecore CMS 高度可定制。
单一平台支持AEM 支持单一平台。Sitecore CMS 不支持单一平台。
用户体验AEM 提供良好的用户体验。Sitecore CMS 也提供良好的用户体验。
建造时间AEM 基于 OSGi 的 Apache Sling,这是一个使用 Apache Felix 引擎的 Java 应用程序。Sitecore CMS 主要基于 .NET 编程语言。

6) 你对 Sitecore CMS 有什么理解?

Sitecore CMS 是基于 ASP.NET 构建的领先的企业级内容管理系统之一。它使 Web 内容编辑者和营销人员能够完全控制其网站的所有方面,从社交集成和博客帖子到高级个性化、电子商务等。许多组织在全球范围内使用这一领先的数字体验软件来创建无缝、个性化的数字体验。它是一个由 .net CMS、电子商务和数字营销工具驱动的集成平台。


7) AEM 中的 Sightly 是什么?

Sightly 是一个 HTML 模板语言,在 AEM 6.0 中引入。它主要用于取代 JSP 文件,并作为 HTML 的批准模板系统。

Sightly 作为一种新的 HTML 模板引擎,取代了 JSP 和 ESP,成为 AEM 6 的主要模板引擎。Adobe 推出了 Sightly,以生成更具可读性、可维护性和安全性的代码,同时明确区分逻辑和标记。


8) AEM CMS CQ5 相对于其他 CMS 的优势是什么?

以下是 AEM CMS CQ5 相对于其他 CMS 的一些巨大优势列表

  • AEM CQ5 相对于其他 CMS (内容管理系统) 的最大优势之一是它与其他 Adobe 产品和 Adobe Marketing Cloud 的集成。
  • AEM 可以创建针对个人用户的定制化数字体验。
  • AEM 提供一流的功能,如内容工作流、数字资产管理、社交和多渠道协作等。
  • AEM 允许用户轻松有效地管理数字内容。
  • AEM 不仅仅是简单的网站管理。它提供了一个令人印象深刻的解决方案来管理移动应用程序、移动网站、电子商务和营销活动管理。
  • AEM 与其他 Adobe Marketing Cloud 解决方案相结合,为数字营销提供了前进的道路。
  • 默认情况下,AEM 附带内置功能,如用于控制 CMS 内容的工作流、使用搜索查询查找所需内容、设置社交协作、标记内容以及一种轻松管理数字内容的方法。
  • AEM 还提供了一种管理移动应用程序、移动网站、电子商务和营销活动管理的方法。

9) Adobe Experience Manager (AEM) 背后的技术栈是什么?

Adobe Experience Manager 或 AEM 背后的技术栈列在下面

  • Apache Sling
  • JCR
  • OSGi (Apache Felix)

10) 什么是 Adobe Marketing Cloud?/ 什么是 Adobe Experience Cloud?

Adobe Marketing Cloud 现在称为 Adobe Experience Cloud。以前,它称为 Adobe Marketing Cloud。它是 Adobe Inc. 推出的集成在线营销和 Web 分析产品集合,旨在为所有客户提供一站式解决方案。它是一套分析、社交、广告、媒体优化、定位、Web 体验管理和内容管理产品工具,面向广告行业,托管在 Amazon Web Services 上。


11) Design Dialog 和 Edit Dialog 之间有什么区别?

Design Dialog 和 Edit Dialog 都用于定义 UI 界面并允许用户配置组件。它们之间的主要区别在于我们可以在页面的设计模式下查看或编辑组件的设计对话框。设计对话框位于模板级别,因此所有模板页面都将共享相同的设计对话框,并存储在/etc/designs 文件夹下。

另一方面,组件的编辑对话框位于页面级别,因此每个组件实例都有自己的对话框,并且在对话框中输入的信息。它存储在 /content 文件夹下。


12) 什么是组件?/ 你对扩展组件有什么理解?

组件是用于实现特定逻辑来渲染网站内容的重用模块。当您想创建一个新组件,该组件不会覆盖基本组件,但会具有原始组件的相同功能以在其基础上进行构建时,此过程称为扩展组件。要扩展组件,您必须将组件的“sling:resourceSuperType”设置为您要继续使用的基本组件。


13) 应该在 sidekick 的显示中包含什么脚本?

应该在 sidekick 的显示中包含的脚本是:Init.jsp。它包含在脚本文件中。


14) Dispatcher 在 AEM 中如何执行负载均衡活动?

在 AEM 中,Dispatcher 通过执行以下步骤来执行负载均衡活动

  • 性能统计
  • 粘性连接
  • 增加故障安全覆盖
  • 处理能力

通过对上述参数进行分类,负载均衡器可以高效地工作。


15) 你对 AEM 中的复制代理有什么理解?

在 AEM 中,复制代理是中心化的,用于将动态内容从作者环境发布到发布环境,从 Dispatcher 缓存刷新内容,并将用户输入从发布环境返回到作者环境。


16) 包 (package) 和捆绑包 (bundle) 之间有什么区别?

包 (Package): 包是一个 zip 文件,其中包含文件系统序列化(也称为“vault”序列化)形式的内容。它显示存储库中的内容,并且是易于使用和编辑的文件和文件夹表示。包通常包含内容和项目相关数据。

捆绑包 (Bundle): 捆绑包是类、jar 文件和配置文件的一个紧密耦合、动态可加载的集合,如果它们有任何外部依赖项,则会明确声明。


17) Adobe Experience Manager (AEM) 中有哪些可用的接口?

以下是 Adobe Experience Manager (AER) 中所有可用接口的列表

  • CRX Delite
  • Site Admin
  • Apache Felix
  • Etc/Tool
  • CRX Explorer

18) AEM 或 CQ 中内容管理系统的需求是什么?

在 AEM 或 CQ 中需要 CMS 或内容管理系统,因为如今网站非常动态,我们需要频繁更新内容,所以使用 CMS 可以更轻松地管理这些网站的内容。


19) AEM Dispatcher 的作用是什么?

AEM Dispatcher 是一个缓存和/或负载均衡工具,用于保护我们的 AEM 服务器免受攻击,因为它使用缓存的页面。Dispatcher 的主要目标是尽可能多地缓存内容,因此它不需要访问布局引擎。负载均衡用于将网站的计算负载分布到多个 AEM 实例上。Dispatcher 作为负载均衡工具,通过在多个 AEM 实例之间共享文档请求并增加故障安全覆盖来提高处理能力。如果 Dispatcher 未从某个实例收到响应,它将自动将请求中继到另一个实例。


20) Sightly 与其他模板系统有什么区别?

Sightly 在以下三个方面与其他模板系统不同

  • Sightly 默认是安全的,因为它会自动过滤和转义所有变量到表示层,以防止跨站点脚本攻击漏洞,并提供关注点分离。
  • Sightly 提供关注点分离,因为它确保使用真正的编程语言来表达相应的逻辑。这是通过 Use-API 模式实现的。
  • Sightly 是一个有效的 HTML5 文件。

21) Live Copy 和 Language Copy 之间有什么区别?

以下是 Live Copy 和 Language Copy 之间的区别

  • Live Copy: Live Copy 是从现有站点或蓝图创建的。我们可以从工具控制台配置此 Live Copy 的 rollout 配置。
  • Language Copy: Language Copy 是使用语言工具创建的站点。它基本上用于为不同语言创建站点。

22) Persistence Manager 在 AEM 中的作用是什么?

Persistence Manager 在 AEM 中的作用是将存储库内容保存到永久存储解决方案,例如文件系统或数据库。我们可以使用以下任何数据库,即 DB2、Oracle、SQL Server、MySQL 来存储内容。


23) 在创建组件时,Edit Config 节点有什么用?

Edit Config 节点用于在创建组件时定义组件的行为。


24) 你对 DAM Renditions 有什么理解?

DAM 允许用户创建图像的渲染图,包括同一资产的不同大小和版本。我们可以在网站内容中使用这些渲染图,这在我们需要为大型高分辨率图像创建缩略图或小视图时非常有用。

当我们需要创建互联网带宽是变化的因素的多设备网站时,此功能变得非常重要。在这里,我们需要最小化网站访问者需要下载的文件大小,以使我们的网站加载更快。它还提高了搜索引擎优化和用户体验。


25) 如何在 DAM 中加载数字资产?

有两种方法可以向 DAM 添加数字资产

  • 使用图形用户界面:要使用图形用户界面,您必须首先浏览要添加的选定文件。然后,CQ 会自动在 DAM 文件夹中为这些资产创建元数据。
  • 通过 WebDav 访问:当我们想要一次上传许多资产时,通常使用 WebDav 选项。

26) 什么是 xtypes,为什么它们在 AEM 中使用?

xtype 是分配给 ExtJS 语言中类的符号名称。AEM 包含许多有用的组件。在 AEM 中,xtypes 是用于创建组件的小部件。我们可以创建和定义自己的 xtype 以在 AEM 中使用。


27) 如何在 AEM 中解析资源?

在 AEM 中,我们可以使用 ResourceResolver 来解析资源,ResourceResolver 可以通过 getResourceResolver() 方法获取,然后使用 resolve() 方法。


28) 你对 Adaptive Form 和 Adaptive Documents 有什么理解?

自适应表单 (Adaptive forms) 使最终用户能够专注于填写表单,并将表单分解为逻辑部分。当我们要求用户输入时,通常使用自适应表单。

另一方面,自适应文档 (Adaptive Documents) 用于向最终用户显示输出。例如,银行对账单是自适应文档,因为它的所有内容保持不变,只有姓名和金额会改变。在自适应文档中,使用占位符文本,该文本在运行时动态填充。


29) AEM 6.3 中新增了哪些功能?

AEM 6.3 或 Adobe Experience Manager 6.3 是 Adobe Experience Manager 6.2 代码库的升级版本。它包含了一些新的和增强的功能、关键客户修复、高优先级客户增强和面向产品稳定的常规 bug 修复。它还包含了所有 Adobe Experience Manager 6.2 功能包、热修复和 Service Pack 版本。


30) 是否可以使用 TestNG 来自动化 AEM UI 测试?

是的。可以使用 TestNG 来自动化 AEM UI 测试,因为 TestNG 支持自动化 AEM UI 测试。


31) AEM 6.5 中新增了哪些功能?

AEM 6.5 是 Adobe Experience Manager 的最新版本。这个新版本包含了一些很棒的功能,例如它更以客户为中心。它使开发人员、营销人员和 IT 专家能够协同工作,快速交付定制的品牌体验。


32) 你对 AEM 中的自定义标签库有什么理解?

自定义标签库是使用 AEM 开发的,用于从 AEM 组件调用或触发其操作。这些操作可以使用 XML 代码调用。


33) AEM 中的 HTL 是什么,为什么使用它?

HTL 是 HTML Template Language 的缩写。它与 Adobe Experience Manager (AEM) 相关,并且是首选和推荐的服务器端模板系统。


34) 什么是 Sling TV?

Sling TV 是一款基于应用程序的服务,它使用户能够观看直播电视和可以录制到 DVR 的节目,例如有线电视。它还允许您选择您想观看的频道和功能。观看电视需要互联网接入和兼容的设备。


35) 如何以调试模式启动 AEM?

您可以使用命令行中的以下代码以调试模式启动 AEM


36) AEM 中的覆盖 (overlay) 是什么?

在 AEM 中,覆盖是重新定义现有功能的过程,也是一种自定义其功能的方法。通过根据要求修改当前的基础组件,我们可以将其制作成自定义组件。


37) 什么是 Adobe Marketing Cloud 或 AMC?

AMC 是 Adobe Marketing Cloud 的缩写。它是 Adobe 提供的一个平台,也是数字营销领域的领导者之一。Adobe Marketing Cloud 提供了强大的创意能力以及新开发的营销功能,并且是流行的 Adobe Web Analytic 产品。它是一个完全集成的营销套件,用于优化和衡量各种规模的营销绩效和开发各种规模和行业的营销活动及结果。它还帮助您处理移动、搜索、活动、内容、社交和电子邮件营销。它于 2012 年推出。