最常问的 ServiceNow 面试题

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

以下是最常被问到的 ServiceNow 面试题及其最佳答案。

1) 什么是 ServiceNow?/ 您对 ServiceNow 有什么理解?

ServiceNow 是一个基于云的 IT 服务管理工具 (ITSM 工具)。它为 IT 服务、运营和业务管理提供了单一的记录系统。它为我们提供了服务的完整视图和资源,还使我们能够以最佳方式控制和分配资源以及设计这些服务的流程。


2) ServiceNow 的用途是什么?/ 为什么选择 ServiceNow?

ServiceNow 是一个用于处理和分类客户服务请求的工单工具。它还使我们能够使用 ServiceNow 等工具处理涉及事件、变更、问题和其他服务的请求。

ServiceNow 提供以下五项主要服务

  • 安全性
  • 人力资源服务
  • IT 服务交付
  • 商业应用
  • 客户服务

它提供了一个集成的云解决方案,将所有这五项服务集中在一个地方。


3) 您对 ServiceNow 中的应用程序有什么理解?

在 ServiceNow 中,应用程序代表着用于提供服务和管理业务流程的打包解决方案。换句话说,我们可以说应用程序是模块的集合,它提供了关于这些模块的信息。例如,事件应用程序提供了与事件管理流程相关的信息。


4) CMDB 的完整形式是什么?它的用途是什么?

CMDB 的完整形式是配置管理数据库 (Configuration Management Database)。这是一个存储库,充当信息技术安装的数据仓库。它存储与 IT 资产集合以及这些资产之间描述性关系相关的数据。


5) 您对 ServiceNow 中的记录匹配和数据查找功能有什么理解?

记录匹配和数据查找功能使我们能够在不编写脚本的情况下,根据特定条件设置字段值。


6) 您对 CMDB 基线有什么理解?

CMDB 基线或配置管理数据库基线使我们能够理解和控制对配置项 (CI) 所做的更改。CMDB 基线充当配置项的快照。


7) LDAP 的完整形式是什么?它的应用是什么?

LDAP 的完整形式是轻量级目录访问协议 (Light Weight Directory Access Protocol)。LDAP 用于用户身份验证和用户数据填充。ServiceNow 与 LDAP 目录集成,以增强用户登录过程并自动化用户创建和角色分配。


8) 您对“业务规则”这个术语有什么理解?

业务规则是一个服务器端脚本。它在任何记录被插入、修改、删除、显示或表被查询时运行。创建业务规则时要牢记的主要一点是它何时以及应该执行什么操作。您可以在执行操作时将业务规则应用于“显示时”、“之前”或“之后”。


9) 在 ServiceNow 中启用或禁用应用程序的程序是什么?

在 ServiceNow 中启用或禁用应用程序的程序或步骤如下:

  • 首先,导航到应用程序菜单模块
  • 然后,您需要打开所需的应用程序。
  • 最后,只需将“活动”设置为 true 以启用应用程序,或设置为 false 以禁用应用程序。

10) 是否可以通过客户端脚本调用业务规则?

是的。我们可以使用 glide ajax 通过客户端脚本轻松调用业务规则。


11) 您对字典覆盖有什么理解?

字典覆盖用于定义一个扩展表或字段,使其与父表的字段不同。您可以使用以下示例更好地理解它:

例如,我们可以对任务表字段使用字典覆盖,以更改事件表上的默认值,而无需更改变更表或任务表字段上的默认值。这是字典覆盖的主要好处。


12) 您对 ServiceNow 中的域分离有什么理解?

域分离是 ServiceNow 的一项有用方法。它用于将数据分离到逻辑定义的域中。它还提供了分离管理的功能。

例如,假设 Alex 是两家公司的 CEO,他正在为这两家公司使用同一个 ServiceNow 实例。他不想让一家公司的用户看到另一家公司的数据。因此,他可以使用域分离来隔离两家公司的数据记录。


13) 使用 ServiceNow 时应遵循哪些最佳实践?

以下是我们使用 ServiceNow 时需要遵循的一些最佳实践:

  • 我们应该用协作工作区替换电子表格和电子邮件。
  • 我们应该自动化我们组织的所有业务流程。
  • 我们应该使用 ServiceNow 开发现代化的工作环境。
  • 我们应该尝试增强结构并自动化工作流程以简化服务交付。

14) 您对“coalesce”这个术语有什么理解?

Coalesce 设置在转换映射 (Transform Map) 中。它是转换映射字段映射中使用的字段的属性。它只是源导入集字段和目标表字段之间的 true 或 false 值。在字段或字段集上进行 coalescing 可以使该字段作为唯一键。如果使用 coalesce 字段找到匹配项,ServiceNow 将使用导入的信息更新现有记录。如果找不到匹配项,则会在数据库中插入一条新记录。


15) ServiceNow 中的数据策略是什么?

在 ServiceNow 中,数据策略与 UI 策略非常相似。数据策略使开发人员能够通过为所有字段分配只读属性来强制执行在线数据策略。

以下是数据策略和 UI 策略之间一些主要区别的列表:

  • UI 策略仅适用于通过标准浏览器在表单上输入的数据。另一方面,数据策略可以对输入到系统中的每条数据应用规则。
  • 与 UI 策略不同,数据策略在服务器端执行。
  • UI 策略逻辑仅适用于在表单中输入的数据,并且开发人员无法将脚本应用于数据策略。

16) ServiceNow 中的 UI 策略是什么?

UI 策略用于设置必填字段,这些字段是只读的并且在表单上可见。它们用于动态更改表单上的字段并控制任务的自定义流程。UI 策略是客户端脚本的替代方案。


17) ServiceNow 中有哪些不同的搜索选项?

以下是 ServiceNow 中可用的五种主要搜索选项:

  • 列表:用于在列表中查找记录。
  • 全局文本搜索:帮助我们从单个搜索字段中搜索多个任务表中的记录。
  • 知识库:帮助我们查找知识文章。
  • 导航过滤器:用于允许我们过滤应用程序导航器中的项目。
  • 搜索场景:这是一个仅由管理员创建的自定义模块。

18) 您对客户端脚本有什么理解?它的用途是什么?

客户端脚本驻留在客户端或浏览器上,并且仅在客户端运行。它允许系统在发生客户端事件时运行,例如表单加载时、表单提交后或字段值更改时。

以下是客户端脚本的不同类型:

  • OnLoad()
  • OnSubmit()
  • OnChange()
  • OncellEdit)

19) 如何通过客户端脚本取消表单提交?

如果您想通过客户端脚本取消表单提交,则 onSubmit 函数应返回 false。您可以使用以下语法通过客户端脚本取消表单提交:


20) HTML Sanitizer 的用途是什么?

HTML Sanitizer 用于自动清理 HTML 字段中的标记。它有助于消除代码并防范跨站脚本攻击等安全问题。


21) 您对 ServiceNow 中的记录生成器有什么理解?

在 ServiceNow 中,记录生成器是一个目录项,允许用户从服务目录创建基于任务的记录。记录生成器提供了通过服务目录创建记录的替代方法。

例如,我们可以借助记录生成器轻松创建变更记录或问题记录。


22) 您对 glide record 有什么理解?

Glide record 是一个 Java 类,用于执行数据库操作,而不是编写 SQL 查询。


23) Import Set 工具的用途是什么?

Import Set 工具用于从各种数据源导入数据,而不是使用转换映射。导入集可以充当导入记录的暂存表。


24) 您对转换映射有什么理解?

转换映射用于将导入到 ServiceNow 导入集表中的记录转换为目标表。它还用于指定显示导入集表和目标表中的字段之间的关系。


25) 模仿用户是什么意思?它有什么好处?

模仿用户使管理员能够以不同用户的身份登录系统。此过程用于为管理员提供对用户有访问权限的模块和菜单的访问权限。ServiceNow 会记录管理员在模仿其他用户时的活动。

模仿用户非常有益,因为它便于测试。我们可以使用此功能进行测试,而无需退出我们的会话。如果您不使用模仿用户的特性,您将需要退出您的会话并使用该用户的凭据重新登录进行测试。


26) ServiceNow 中使用哪种搜索技术来搜索文本或记录?

Zing 是一种搜索技术或文本索引和搜索引擎,用于在 ServiceNow 中执行所有文本搜索。


27) 变更、事件和问题表单的父表用途是什么?

变更、事件和问题表单的父表是任务表,用于确保在父表中定义的任何配置或字段自动应用于子表。


28) 您对外部记录插入有什么理解?

当导入更改到不是该导入的目标表的表时,会发生外部记录插入。当我们更新表上的引用字段时,会发生此过程。


29) 您对非活动监视器有什么理解?

如果任务记录在一段时间内保持非活动状态,非活动监视器会触发一个事件。如果任务继续保持空闲,非活动监视器会以固定的时间间隔重复。


30) 您对数据字典有什么理解?

数据字典包含有关字段的数据类型、默认值、依赖项和其他属性的信息。它还用于定义系统中的每个表和字段。


31) 如果用户对主页进行了一些更改,会发生什么?

如果用户对主页进行了一些更改,那么该页面将保存为他/她的个性化主页,而不是更新到实际主页。例如,假设您有一个名为“记录”的主页。当用户对其进行更改时,此页面将保存为“我的记录”,并且仅对该用户可见。


32) Client Transaction Timings 插件的用途是什么?

Client Transaction Timings 插件用于增强系统日志。它很有用,因为它提供了有关客户端和服务器之间事务持续时间更多的信息。


33) 如何检查您正在处理哪个 ServiceNow 实例节点?

您可以通过遵循以下步骤快速检查您正在处理哪个 ServiceNow 实例节点:

  • 首先,转到 SystemDiagnostic
  • 然后转到 stats

在统计页面上,您将获得有关您正在处理的节点和实例的详细信息。


34) 您对域分离有什么理解?

域分离是一种将数据分离到逻辑定义的域中的技术。


35) 如何启用或禁用饼图标签?

您可以通过将属性 glide.ui.chart.pie.labels 设置为 true 或 false 来轻松启用或禁用饼图中的标签。


36) 您对安装退出有什么理解?

安装退出是 Java 的一个自定义退出,用于在返回 Java 之前调用脚本。一些安装退出,如 Login、Logout、ValidatePassword、ExternalAuthentication 是保留的,不能更改。


37) 从登录页面删除“记住我”复选框的过程是什么?

我们可以通过将属性“glide.ui.forgetme”设置为 TRUE 来轻松从登录页面删除“记住我”复选框。


38) ServiceNow 中的 Gauge 是什么?

Gauge 出现在 ServiceNow 主页上,可以包含有关 ServiceNow 表中记录当前状态的实时信息。Gauge 可以放置在主页或内容页上。


39) 如何将字段设置为表中的唯一字段?

要将字段设置为表中的唯一字段,我们必须转到该字段的字典并将其唯一复选框设置为 true。


40) 您对 ServiceNow 中的指标有什么理解?

在 ServiceNow 中,指标用于记录和衡量单个记录的工作流程。它还衡量和评估 IT 服务管理流程的有效性。例如,通过使用指标,您可以计算解决事件所需的时间来衡量事件解决流程的有效性。


41) 您对 BSM Map 有什么理解?

BSM 代表业务服务管理。因此,BSM Map 是业务服务管理图。它用于以图形方式显示配置项 (CI)。这些项支持业务服务并指示这些配置项的状态。


42) 何时发生外部记录插入?

当导入更改到不是该导入目标表的表时,会发生外部记录插入。这通常发生在我们更新表上的引用字段时。


43) 您对 Schema Map 有什么理解?

Schema Map 用于可视化地显示表及其关系的详细信息。它还允许管理员查看并快速访问数据库模式的不同部分。


44) 您对记分卡有什么理解?

记分卡是进度随时间变化的图形表示。它用于衡量员工或业务流程的绩效。您可以为记分卡添加目标、细分(每个组的分数)、汇总(计数、总和、最大值)和时间序列(总数和平均值)以增强它。


45) ACL 的完整形式是什么?它的用途是什么?

ACL 代表访问控制列表 (Access Control List)。它用于定义用户在 ServiceNow 中可以访问哪些数据以及如何访问它们。


46) 您对 ServiceNow 中的仪表板有什么理解?

仪表板是报表和分析的视觉集合,以 KPI 记分卡和指示器摘要标签的形式呈现。


47) 您对 sys_id 有什么理解?

sys_id 是一个唯一的 32 个字符的 GUID,用于标识 ServiceNow 中每个表创建的每个记录。


48) 如何在 ServiceNow 中创建新角色?

要在 ServiceNow 中创建新角色,请转到用户管理 >> 角色,然后单击“新建”按钮。


49) 是否可以将主页和内容页添加到 ServiceNow 的“更新集”中?

否。在 ServiceNow 中,默认情况下我们无法将主页和内容页添加到“更新集”中,因为我们必须通过卸载页面来手动将页面添加到当前的“更新集”中。


50) 是否可以有多个函数监听同一事件?

是的,可以有多个函数监听同一事件,但不能保证顺序。通过使用多个函数监听同一事件,无法预测事件处理程序的运行顺序。


51) 如何从 ServiceNow 中的表中获取所有活动/非活动记录?

您可以使用以下方法从 ServiceNow 中的表中获取所有活动/非活动记录:

  • addActiveQuery() 方法:此方法用于获取所有活动记录。
  • addInactiveQuery() 方法:此方法用于获取所有非活动记录。

52) 如何在不刷新系统字段的情况下更新记录?

您可以在服务器端脚本中使用 autoSysFields() 函数来更新记录,而无需刷新其系统字段。在更新记录的任何时候,将 autoSysFields() 设置为 false。


53) setForceUpdate() 函数的用途是什么?/ 是否可以在不更新系统字段(如 sys_updated_by、sys_updated_on 等)的情况下更新记录?

setForceUpdate() 函数用于更新记录,即使记录没有任何更改。是的。可以在不更新系统字段的情况下更新记录。为此,您必须在服务器端脚本中使用 autoSysFields() 函数。每当您更新记录时,请将 autoSysFields() 设置为 false。

示例


54) set limit(n) 函数的用途是什么?

set limit(n) 函数用于限制记录数量。