Sections
How to use this guide:
Read the answer, then test yourself by explaining it out loud — interviewers want to see you can articulate concepts clearly, not recite definitions.
Platform & Admin Questions
Q1
What is ServiceNow?
ServiceNow is a cloud-based platform that provides IT Service Management (ITSM), IT Operations Management (ITOM), and IT Business Management (ITBM) solutions. It uses a single data model and a common platform to connect workflows across departments — IT, HR, Customer Service, Security, and more. Everything runs on the Now Platform, which includes tables, forms, workflows, and a scripting engine.
Q2
What are the different types of tables in ServiceNow?
- Base tables — standalone tables not extended from another (e.g.,
cmdb) - Extended tables — inherit fields from a parent table (e.g.,
incidentextendstask) - Core tables — platform system tables (e.g.,
sys_user,sys_user_group) - Custom tables — user-created, prefixed with
u_(orx_for scoped apps)
Q3
What is the Task table?
The
task table is the base table for most work-related records. Incident, Problem, Change Request, and Requested Item all extend it. This means they inherit common fields like number, state, assigned_to, priority, and short_description. Any field added to task automatically appears on all child tables.
Q4
What is an ACL in ServiceNow?
Access Control List (ACL) rules define who can read, write, create, or delete records. ACLs operate at three levels: table, row (conditional), and field level. Each ACL checks three things: Roles, Conditions, and Scripts — all three must pass for access to be granted. ACLs are evaluated from most specific (field-level) to least specific (table-level).
Q5
What is the difference between UI Policy and Data Policy?
- UI Policy — client-side only. Makes fields mandatory, read-only, or visible on the form. Does not enforce via APIs, imports, or server scripts.
- Data Policy — server-side. Enforces rules across all access points: forms, APIs, Import Sets, and server scripts. Use Data Policy when rules must be enforced universally.
Q6
What are Update Sets?
Update Sets capture configuration changes (not data) made in a development instance so they can be migrated to test/production. They track changes via the
sys_update_xml table. Important: Update Sets do not capture data records (like users or CIs), scheduled jobs, or homepage configurations. Workflows must be published to be captured.
Q7
What is the CMDB?
The Configuration Management Database stores information about IT assets (Configuration Items or CIs) and their relationships. CIs can be servers, applications, network devices, etc. The CMDB follows the Common Service Data Model (CSDM) structure. It's critical for Impact Analysis — understanding how a change to one CI affects dependent services.
Q8
Explain the Incident lifecycle.
New → In Progress → On Hold → Resolved → Closed. When a user reports an issue, an Incident is created in New state. An agent picks it up (In Progress), may pause it (On Hold), applies a fix (Resolved), and after confirmation, it's Closed. SLAs typically track time from New to Resolved.
Q9
What is the difference between Incident, Problem, and Change?
- Incident — an unplanned interruption. Goal: restore service ASAP.
- Problem — the root cause of one or more incidents. Goal: prevent recurrence.
- Change — a planned modification to the IT environment. Goal: implement safely with approvals.
Q10
What is Flow Designer?
Flow Designer is a no-code/low-code automation tool that replaces legacy Workflows. It uses triggers (what starts the flow), actions (what the flow does), and conditions (branching logic). Flows can be triggered by record changes, schedules, or other flows. It supports subflows for reusability and integrates with IntegrationHub for external system actions.
Q11
What is an Import Set?
Import Sets allow you to import data from external sources (CSV, Excel, JDBC, LDAP) into ServiceNow. Data first lands in a staging table (import set table), then a Transform Map maps fields from the staging table to the target table. Transform maps support coalesce fields for matching existing records (update vs insert).
Q12
What are SLAs in ServiceNow?
Service Level Agreements define response and resolution time commitments. ServiceNow tracks SLAs via Task SLA records that attach to incidents/cases. Key components: SLA Definition (the rule), SLA Schedule (business hours), and SLA Conditions (when to start/stop/pause the clock). Breached SLAs can trigger notifications and escalations.
Q13
What is the Service Catalog?
The Service Catalog is a self-service portal where end users can request services and items. Key components:
- Catalog Items — orderable services/products
- Record Producers — create records (like incidents) via a catalog-like form
- Order Guides — bundle multiple items into one guided order
- Categories — organize items into logical groups
Q14
What is the difference between Roles and Groups?
Roles control what a user can do (access, read, write, admin). Groups control who works together (assignment, approval routing). Roles are assigned to users or groups. A user inherits all roles from their groups. Example: the
itil role lets you work Incidents; being in the "Network Team" group means network incidents get assigned to you.
Q15
What is the Knowledge Base?
Knowledge Management stores articles (solutions, how-tos, FAQs) in Knowledge Bases. Articles go through a workflow: Draft → Review → Published → Retired. Knowledge is surfaced to users via search, the Service Portal, and Virtual Agent. It helps deflect incidents by enabling self-service resolution.
Q16
What are Notifications in ServiceNow?
Notifications are email alerts triggered by events or conditions on records. Key fields: When to send (event or condition), Who will receive (users, groups, email fields), and What it will contain (email template with variable substitution). Notifications use Events as triggers — e.g.,
incident.assigned fires when an incident is assigned.
Q17
What are System Properties?
System Properties are key-value pairs that control instance-wide behavior. Examples:
glide.ui.default_page sets the landing page, glide.sys.date_format sets date display format. Properties can be accessed via gs.getProperty('name') in server scripts. They're useful for configuration without code changes.
Q18
What is Domain Separation?
Domain Separation allows a single ServiceNow instance to serve multiple independent organizations (tenants). Each domain has its own data, processes, and configurations. Data in one domain is invisible to users in another. It's commonly used by MSPs (Managed Service Providers) and large enterprises with independent business units.
Q19
What is the difference between a View and a Filter?
- View — controls which fields are displayed on a form or list (layout). Different views show different fields for the same record.
- Filter — controls which records are displayed in a list. Filters don't change the fields shown, just which rows appear.
Q20
What is impersonation?
Impersonation lets an admin act as another user to test their access and see their view of the platform. It's useful for debugging ACLs, testing role-based access, and troubleshooting user issues. All actions during impersonation are logged and attributed to the impersonating admin for audit purposes.
Test Your Knowledge
640+ practice questions covering all CSA and CAD exam domains with instant feedback.
Developer & Scripting Questions
Q21
What is GlideRecord?
GlideRecord is a server-side JavaScript API for querying and manipulating database records. It's the primary way to interact with tables in Business Rules, Script Includes, and Scheduled Jobs. Example:
var gr = new GlideRecord('incident'); gr.addQuery('state', 1); gr.query(); while(gr.next()) { /* process */ }
Q22
What is the difference between GlideRecord and GlideAggregate?
GlideRecord retrieves individual records. GlideAggregate performs aggregate operations (COUNT, SUM, AVG, MIN, MAX) without loading full records — it's much faster for counting or summing. Use GlideAggregate when you need statistics, not individual record data.
Q23
What are Business Rules?
Business Rules are server-side scripts that execute when a record is displayed, inserted, updated, or deleted. Types:
- Before — runs before the database operation (can modify
current) - After — runs after the database operation (current is read-only)
- Async — runs after, in a separate thread (for heavy operations)
- Display — runs before the form loads (can pass data via
g_scratchpad)
Q24
What are Client Scripts?
Client Scripts run in the user's browser. Types:
- onLoad — when the form loads
- onChange — when a field value changes
- onSubmit — when the form is submitted (can prevent submission)
- onCellEdit — when a cell is edited in list view
g_form and the list via g_list. They cannot directly query the database — use GlideAjax for server calls.
Q25
What is GlideAjax?
GlideAjax allows client-side scripts to call server-side Script Includes. It's the bridge between browser and server. The client script sends a request to a Script Include (which must extend
AbstractAjaxProcessor), and the server returns data. Use it when a Client Script needs to query the database or run server logic.
Q26
What is a Script Include?
Script Includes are reusable server-side JavaScript classes/functions. They're only loaded when called (on-demand), unlike Business Rules which execute automatically. Use cases: utility functions, custom APIs, GlideAjax handlers. Script Includes that handle GlideAjax calls must extend
AbstractAjaxProcessor.
Q27
What is the difference between
What is the difference between current and previous in a Business Rule?
current contains the new values being saved. previous contains the values before the update. Example: to check if priority changed: if (current.priority != previous.priority) { /* do something */ }. Note: previous is only available on update operations, not insert.
Q28
What is
What is g_form?
g_form is the client-side GlideForm API for interacting with forms. Common methods:
g_form.getValue('field')— get field valueg_form.setValue('field', value)— set field valueg_form.setMandatory('field', true)— make field mandatoryg_form.setVisible('field', false)— hide a fieldg_form.addInfoMessage('text')— show info banner
Q29
What is
What is g_scratchpad?
g_scratchpad passes data from a Display Business Rule (server) to a Client Script (browser). In the Display BR: g_scratchpad.isVip = current.caller_id.vip.toString();. In the Client Script: if (g_scratchpad.isVip == 'true') { /* highlight */ }. It's the recommended way to avoid client-side GlideRecord calls.
Q30
What is Application Scope?
Application Scope isolates custom applications from each other and from global. Scoped apps have their own namespace (
x_[vendor]_[app]), their own tables, and controlled access to global resources. Scripts in a scoped app can only access global APIs explicitly allowed. This prevents naming conflicts and enforces security boundaries.
Q31
What is the difference between
What is the difference between gs.log(), gs.info(), and gs.print()?
gs.log()— writes to the system log (syslog). Visible in System Logs → System Log.gs.info(),gs.warn(),gs.error()— structured logging with severity levels.gs.print()— outputs to the screen (only works in background scripts). Not for production use.
Q32
What is the ATF (Automated Test Framework)?
ATF lets you create and run automated tests for ServiceNow configurations. You can test form submissions, server-side scripts, and UI interactions. Tests include steps like "Open a record", "Set field value", "Assert field equals". ATF is critical for validating that configurations work correctly before promoting to production.
Q33
What is a UI Action?
UI Actions add buttons, links, or context menu items to forms and lists. They can run client-side scripts, server-side scripts, or both. Examples: "Resolve Incident" button, "Assign to Me" link. UI Actions have conditions that control when they appear and can be restricted by roles.
Q34
What is a REST API in ServiceNow?
ServiceNow provides both inbound and outbound REST APIs:
- Table API — CRUD operations on any table (
/api/now/table/{tableName}) - Scripted REST API — custom endpoints with your own logic
- REST Message — outbound calls to external systems
Q35
What is the difference between
What is the difference between getDisplayValue() and getValue()?
getValue() returns the internal/database value (e.g., sys_id for reference fields, integer for choice fields). getDisplayValue() returns the human-readable label (e.g., user's name for reference fields, choice label for choice fields). Always use getDisplayValue() when showing data to users.
Q36
How do you prevent a record from being saved in a Business Rule?
In a before Business Rule:
current.setAbortAction(true); This prevents the insert/update from happening. You should also show a message: gs.addErrorMessage('Cannot save: reason');. This only works in before rules — after rules can't abort because the save already happened.
Q37
What is a Scheduled Job?
Scheduled Jobs run server-side scripts on a schedule (daily, weekly, custom intervals). Use cases: data cleanup, sending reports, syncing with external systems. They're configured via System Definition → Scheduled Jobs. Important: Scheduled Jobs run as the
system user unless configured otherwise.
Q38
What is
What is current.update() and when should you avoid it?
current.update() saves the current record immediately. Avoid it in Before Business Rules — it causes a recursive save loop and double execution of other Business Rules. In a Before rule, just set values on current and the system will save automatically. Use current.update() only in After rules or Scheduled Jobs when necessary.
Q39
What is the difference between Workflow and Flow Designer?
Workflow is the legacy automation engine (graphical drag-and-drop). Flow Designer is the modern replacement — no-code, supports subflows, integrates with IntegrationHub, and is actively developed. ServiceNow recommends Flow Designer for all new automation. Workflows must be published to be captured in Update Sets; Flows are captured automatically.
Q40
What is
What is GlideSystem (gs)?
gs is the GlideSystem API — a server-side utility object available everywhere. Common methods:
gs.getUserID()— current user's sys_idgs.getUserName()— current user's usernamegs.hasRole('admin')— check if user has a rolegs.addInfoMessage()— show message on the formgs.getProperty('name')— read system propertygs.now()— current date/time
Scenario-Based Questions
Q41
A user reports they can't see a field on a form. How do you troubleshoot?
Check in this order:
- Form layout — is the field on the current view/form layout?
- ACL — does the user have read access to that field?
- UI Policy — is a UI Policy hiding the field based on a condition?
- Client Script — is a Client Script using
g_form.setVisible('field', false)? - Role — does the user have the required role to see the field?
/sys_security.do).
Q42
How would you migrate configurations from Dev to Prod?
- Make all changes in Dev inside a named Update Set
- Complete the Update Set
- Export the Update Set as XML (or use connected instances)
- Import it into Test/Prod as a Retrieved Update Set
- Preview — check for conflicts and errors
- Commit — apply the changes
Q43
A Business Rule is running twice. What could cause this?
Most common cause: calling
current.update() in a Before Business Rule. This triggers another save, which re-triggers the Business Rule. Fix: remove current.update() from Before rules — just set values on current and let the system save. Other causes: duplicate Business Rules on the same table, or a Workflow/Flow that updates the record.
Q44
How would you auto-assign incidents based on the category?
Create an Assignment Rule or a Before Insert Business Rule:
- Assignment Rules — no-code, set conditions (category = Network) → assign to group (Network Team)
- Business Rule — more flexible, can use scripts for complex logic
- Flow Designer — trigger on insert, use decision logic to set assignment group
Q45
A customer wants to import 10,000 users from a CSV. How?
- Create an Import Set — upload the CSV
- ServiceNow creates a staging table with the CSV columns
- Create a Transform Map — map CSV columns to
sys_userfields - Set a coalesce field (e.g., email) — this determines update vs insert
- Run the transform — data moves from staging to
sys_user
Q46
How do you make a field mandatory only when the state is "Resolved"?
Use a UI Policy:
- Condition:
State = Resolved - Action: Set
resolution_codeto Mandatory = true
current.setAbortAction(true) if the field is empty.
Q47
How would you restrict a table so only the creator can see their own records?
Create a row-level ACL on the table:
- Operation:
read - Role: leave empty (applies to all users)
- Condition:
Created by is (dynamic) Me
Q48
An SLA is not pausing when the incident goes to "On Hold". Why?
Check the SLA Definition:
- Is the Pause condition set correctly? It should be
State = On Hold. - Is the SLA using a Schedule? Pausing only works within the schedule context.
- Check Retroactive Pause — if not enabled, SLAs created before the config change won't pause.
- Check the Task SLA record — look at the Stage field and SLA timeline for debugging.
Q49
How do you send data from the server to a client script without using GlideAjax?
Use a Display Business Rule with
g_scratchpad. In the Display BR (server-side): g_scratchpad.callerVip = current.caller_id.vip.toString();. In the Client Script (onLoad): var isVip = g_scratchpad.callerVip;. This is more efficient than GlideAjax because the data is loaded with the form — no extra server call needed.
Q50
A customer wants different approval workflows for different change types. How?
Use Flow Designer with decision logic:
- Trigger: Change Request inserted or updated
- Decision: Check
typefield (Standard, Normal, Emergency) - Standard → auto-approve (pre-approved template)
- Normal → route to CAB for approval
- Emergency → route to Emergency CAB + post-implementation review
Ready for Your Interview?
Practice with 640+ real-format questions covering all CSA and CAD domains. The best way to solidify your knowledge before the interview.
Related Resources
- Complete CSA & CAD Study Guide (2026)
- CSA vs CAD — Which Certification First?
- Free CSA Practice Quiz — 300+ Questions
- Free CAD Practice Quiz — 340+ Questions
Found this helpful? Share it with someone preparing for a ServiceNow interview.