Courseiva
Knowledge + Practice
CertificationsVendorsCareer RoadmapsLabs & ToolsStudy GuidesGlossaryPractice Questions
C
Courseiva

Free IT certification practice questions with explained answers for CCNA, CompTIA, AWS, Azure, Google Cloud, and more.

Certification Practice Questions

CCNA practice questionsSecurity+ SY0-701 practice questionsAWS SAA-C03 practice questionsAZ-104 practice questionsAZ-900 practice questionsCLF-C02 practice questionsA+ Core 1 practice questionsGoogle Cloud ACE practice questionsCySA+ CS0-003 practice questionsNetwork+ N10-009 practice questions
View all certifications →

Product

CertificationsCertification PathsExam TopicsPractice TestsExam Dumps vs Practice TestsStudy HubComparisons

Company

AboutContactEditorial PolicyQuestion Writing PolicyTrust Center

Legal

Privacy PolicyTerms of Service

Courseiva is a free IT certification practice platform offering original exam-style practice questions, detailed explanations, topic-based practice, mock exams, readiness tracking, and study analytics for Cisco, CompTIA, Microsoft, AWS, and other technology certifications.

© 2026 Courseiva. Courseiva is operated by JTNetSolutions Ltd. All rights reserved.

Courseiva is an independent certification practice platform and is not affiliated with, endorsed by, or sponsored by Cisco, Microsoft, AWS, CompTIA, Google, ISC2, ISACA, or any other certification vendor. Vendor names and certification marks are used only to identify the exams learners are preparing for.

← Core Application Development practice sets

SNOW-CAD Core Application Development • Complete Question Bank

SNOW-CAD Core Application Development — All Questions With Answers

Complete SNOW-CAD Core Application Development question bank — all 0 questions with answers and detailed explanations.

72
Questions
Free
No signup
Certifications/SNOW-CAD/Practice Test/Core Application Development/All Questions
Question 1mediummultiple choice
Read the full Core Application Development explanation →

A company has a custom table 'u_asset' with a reference field 'u_location' pointing to 'cmn_location'. When a user changes the location on an asset record, the system must automatically update the location on all related 'u_asset_software' records. Which approach should the developer use?

Question 2hardmultiple choice
Read the full Core Application Development explanation →

A developer needs to create a new application scope. Which of the following is a best practice when defining the scope?

Question 3easymultiple choice
Read the full Core Application Development explanation →

A developer wants to send an email notification when a new incident is created. Which component should be configured to trigger the notification?

Question 4hardmultiple choice
Read the full Core Application Development explanation →

An application has a custom table 'u_project' with a field 'u_status' (choice list: Not Started, In Progress, Completed). The developer wants to prevent any update to the record if the status is 'Completed'. Which approach should be used?

Question 5easymultiple choice
Read the full Core Application Development explanation →

A developer is creating a catalog item that requires a user to upload a file. Which variable type should be used?

Question 6mediummultiple choice
Read the full Core Application Development explanation →

A company has a custom table 'u_incident_task' that extends 'task'. The developer wants to add a field 'u_approval' that is a reference to 'sysapproval_approver'. Which method is the correct way to create this field?

Question 7hardmultiple choice
Read the full Core Application Development explanation →

A developer notices that a scheduled job runs but does not execute the script. The job is set to run every hour. The script uses the 'gs.log' function to write messages. The log shows no output. What is the most likely cause?

Question 8easymultiple choice
Read the full Core Application Development explanation →

A developer needs to create a service catalog variable that allows the user to select multiple values from a predefined list. Which variable type should be used?

Question 9mediummulti select
Read the full Core Application Development explanation →

Which TWO of the following are valid ways to create a Business Rule? (Choose two.)

Question 10hardmulti select
Study the full ACL explanation →

Which THREE of the following are true about ACLs (Access Control Lists)? (Choose three.)

Question 11easymulti select
Read the full Core Application Development explanation →

Which TWO of the following are types of UI Policies? (Choose two.)

Question 12hardmultiple choice
Read the full Core Application Development explanation →

The Business Rule above runs on the 'incident' table. It is set to run 'before' update. What is the most likely issue with this script?

Exhibit

Refer to the exhibit.

Business Rule script:
(function executeRule(current, previous /*null when async*/) {
    var gr = new GlideRecord('incident');
    gr.addQuery('category', 'network');
    gr.query();
    while (gr.next()) {
        gr.setValue('priority', 2);
        gr.update();
    }
})(current, previous);
Question 13mediummultiple choice
Study the full ACL explanation →

The ACL above is on the 'incident' table. A user with role 'itil' tries to update an incident record. What will happen?

Exhibit

Refer to the exhibit.

ACL record:
Name: incident.write
Type: record
Operation: write
Condition: gs.hasRole('incident_manager')
Script:
answer = true;
Question 14hardmultiple choice
Read the full Core Application Development explanation →

A company has implemented a custom application for tracking employee training. The application uses a custom table 'u_training' with fields: u_employee (reference to sys_user), u_course (string), u_completion_date (date), and u_status (choice: Not Started, In Progress, Completed). The application has a Business Rule that runs after insert and after update. The rule should send an email notification to the employee when the status changes to 'Completed'. However, the email is not being sent. The developer has verified that the notification record exists and is active. The Business Rule script uses the 'gs.eventQueue' method to trigger a custom event. The event is registered and the notification is configured to be triggered by that event. What is the most likely cause of the issue?

Question 15mediummultiple choice
Read the full Core Application Development explanation →

A ServiceNow instance has a custom application for managing IT assets. The application uses a custom table 'u_asset' with fields: u_asset_tag (string), u_model (string), u_assignee (reference to sys_user), u_status (choice: In Use, In Stock, Retired). The application requires that when an asset is retired, the assignee field must be cleared. The developer created a Business Rule on the 'u_asset' table that runs before update. The script checks if the status changes to 'Retired' and sets the assignee to empty. However, the assignee is not being cleared when the status is changed to 'Retired'. The Business Rule is active and runs before update. What is the most likely cause?

Question 16mediumdrag order
Read the full Core Application Development explanation →

Drag and drop the steps to create a new Catalog Item in ServiceNow into the correct order.

Drag steps to the numbered slots on the right, or tap a step then tap a slot.

Steps
Order
1Step 1
2Step 2
3Step 3
4Step 4
5Step 5
Question 17mediummatching
Read the full Core Application Development explanation →

Match each ServiceNow access control rule (ACL) type to its function.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

Controls view access to records

Controls create and update access

Controls delete access

Controls record creation

Controls script execution

Question 18easymultiple choice
Read the full Core Application Development explanation →

A developer needs to display a warning message to the user when a specific field value changes on a form, but the record should still be savable. Which approach should be used?

Question 19mediummultiple choice
Read the full Core Application Development explanation →

A company has a Business Rule that runs after a record is updated. The rule needs to update a related record on a different table. However, the related record update is not being saved. What is the most likely cause?

Question 20hardmultiple choice
Study the full ACL explanation →

A developer implemented an ACL to restrict read access on the 'incident' table. The condition script checks if the user is a member of the 'incident_manager' group. However, users who are not in the group are still able to see incidents. What is the most likely reason?

Question 21easymultiple choice
Read the full Core Application Development explanation →

A developer needs to create a record in the 'task' table when a specific condition is met in a Business Rule. The new record should be linked back to the current record via a reference field. What is the best practice to ensure the new record is created in the same transaction?

Question 22mediummultiple choice
Read the full Core Application Development explanation →

A Script Include is defined as 'Scoped' and has 'Accessible from' set to 'All applications'. It contains a function that uses 'gs.getUser()'. When the Script Include is called from a Business Rule in a different application scope, what is the result?

Question 23hardmultiple choice
Read the full Core Application Development explanation →

A developer is optimizing a Business Rule that runs on every update to the 'incident' table. The rule uses GlideAggregate to count related records. The developer notices performance degradation. Which change will most improve performance while maintaining functionality?

Question 24easymultiple choice
Read the full Core Application Development explanation →

A service catalog item has a variable set that includes a reference field to the 'cmdb_ci' table. The requirement is to show only 'Server' type CI's in the reference field. Which approach should be used?

Question 25mediummultiple choice
Read the full Core Application Development explanation →

A developer creates a Scheduled Job that runs daily and sends an email notification to a list of users. The job uses a Script Action to query the 'incident' table and sends an email if the count exceeds a threshold. However, the email is not being sent. What is the most likely cause?

Question 26hardmultiple choice
Read the full Core Application Development explanation →

A company has a requirement that the 'state' field of an incident cannot be changed from 'In Progress' to 'Resolved' if the 'category' field is empty. This validation must be enforced server-side to prevent data integrity issues. Which implementation should be used?

Question 27easymulti select
Read the full Core Application Development explanation →

Which TWO are valid ways to create a new application scope in ServiceNow? (Choose two.)

Question 28mediummulti select
Read the full Core Application Development explanation →

Which THREE of the following are attributes of a Service Portal widget? (Choose three.)

Question 29hardmulti select
Read the full Core Application Development explanation →

Which TWO statements about update sets are correct? (Choose two.)

Question 30easymultiple choice
Read the full Core Application Development explanation →

What happens when a user changes the state from '2' to '1' on an incident record?

Exhibit

Refer to the exhibit.

Exhibit (Business Rule script):
```javascript
(function executeRule(current, previous /*null when async*/) {
    if (current.state == 1 && previous.state == 2) {
        gs.addErrorMessage('State change is not allowed');
        current.setAbortAction(true);
    }
})(current, previous);
```
Question 31mediummultiple choice
Read the full Core Application Development explanation →

The UI Policy has a 'Reverse if false' checkbox unchecked. When will the UI Policy's actions (such as setting a field mandatory) be applied?

Exhibit

Refer to the exhibit.

Exhibit (UI Policy condition script on incident table):
```javascript
(function executeCondition() {
    if (g_user.hasRole('admin') && g_user.isInteractive()) {
        return true;
    }
    return false;
})();
```
Question 32hardmultiple choice
Study the full ACL explanation →

This ACL is configured to control read access on the 'incident' table. Under what condition will a user be allowed to read an incident record?

Exhibit

Refer to the exhibit.

Exhibit (ACL condition script):
```javascript
(function evaluateRule() {
    if (gs.getUser().getCompany() == gs.getProperty('my_company.sys_id')) {
        var mgr = gs.getUser().getManagerID();
        if (mgr != '' && current.assigned_to == mgr) {
            return true;
        }
    }
    return false;
})();
```
Question 33easymultiple choice
Read the full Core Application Development explanation →

A developer is creating a new custom table for tracking software licenses. The table must inherit the core fields (sys_id, sys_created_by, etc.) and support extensibility for future sub-tables. Which base table should be used?

Question 34mediummultiple choice
Read the full Core Application Development explanation →

An application scope includes a Business Rule that runs on the 'before' operation of the Incident table. It attempts to set the 'assignment_group' based on the caller's company. However, the assignment is not being applied. Which is the most likely cause?

Question 35hardmultiple choice
Read the full Core Application Development explanation →

A developer is designing a solution to allow users to request access to specific applications through a Service Catalog. Each application can be requested by multiple users, and each user can request multiple applications. The request must capture the user's business justification and the date needed. The developer needs to model the data. Which database schema design best adheres to ServiceNow best practices?

Question 36easymultiple choice
Read the full Core Application Development explanation →

An administrator sees that a client script on a catalog item is not firing. The script is defined in the catalog item's 'Variable Editor' as a 'onSubmit' script. Which is the most likely reason?

Question 37mediummultiple choice
Read the full Core Application Development explanation →

A developer is building a Flow in Flow Designer that needs to update an incident record when a certain event occurs. The flow uses a 'Update Record' action. However, the incident record is not being updated even though the flow runs without errors. What could be the issue?

Question 38hardmultiple choice
Read the full Core Application Development explanation →

A scoped application includes a script include that is intended to be used by a business rule in the global scope. The script include is marked as 'Client callable: false' and 'Accessible from: This application only'. The business rule cannot call the script include. Which change fixes this?

Question 39easymultiple choice
Read the full Core Application Development explanation →

A developer needs to create a UI Policy that hides a field when a checkbox is checked. The UI Policy has a condition: 'State is 2'. The field should be hidden when the checkbox is checked and state is 2. What is the correct approach?

Question 40mediummultiple choice
Read the full Core Application Development explanation →

A developer is configuring an approval flow for a catalog item. When a user submits a request, an approval record is created with a single approver. The approver must be the user's manager. Which is the correct way to set the approver?

Question 41hardmultiple choice
Read the full Core Application Development explanation →

A developer reports that an after business rule on the Change Request table is running twice for each update. The business rule is not scheduled or async. Which is the most likely cause?

Question 42mediummulti select
Read the full Core Application Development explanation →

Which TWO statements about ServiceNow UI Policies are true?

Question 43hardmulti select
Read the full Core Application Development explanation →

Which TWO conditions must be met for a Scoped Application to access a table from another scope without using an access grant?

Question 44easymulti select
Read the full Core Application Development explanation →

Which THREE are valid actions that can be performed by a Workflow Activity in Legacy Workflow Editor?

Question 45mediummultiple choice
Read the full Core Application Development explanation →

The business rule above does not set the urgency on new incidents created via web service when the caller's department is IT. What is the most likely reason?

Exhibit

Refer to the exhibit.

Business Rule on Incident table:

Name: Set Urgency
Order: 100
Table: Incident
When: before
Condition: current.caller_id.department == 'IT' && current.urgency == ''
Script:
gs.log('Setting urgency to 2');
current.urgency = 2;
Question 46hardmultiple choice
Study the full ACL explanation →

The ACL is meant to allow users to read an incident only if they are the manager of the assigned user. However, users who are not managers can also read the incident. What is the flaw?

Exhibit

Refer to the exhibit.

ACL configuration:

Name: Incident - Read - Custom
Type: record
Operation: read
Table: incident
Condition: gs.getUser().getManagerID() == current.assigned_to
Script:
answer = true;
Question 47easymultiple choice
Read the full Core Application Development explanation →

The data policy is intended to require short description when category changes during an update. However, the short description is never made mandatory. Which issue exists?

Exhibit

Refer to the exhibit.

Data Policy configuration on Incident table:

Name: DP - Require short description on category change
Table: Incident
Conditions: short_description IS NOT EMPTY OR category IS NOT EMPTY
Script:
if (current.operation() == 'update' && current.category.changes()) {
    current.short_description.setMandatory(true);
}
Question 48easymultiple choice
Read the full Core Application Development explanation →

A developer needs to ensure that a catalog variable of type 'Reference' displays only active users from the sys_user table. Which property configuration should be applied to the variable?

Question 49mediummultiple choice
Read the full Core Application Development explanation →

A business rule runs on 'before' and 'update' for the incident table. The rule sets the short_description to 'Test' only when the state changes to 'In Progress'. However, the short_description is being updated even when the state does not change. What is the most likely cause?

Question 50hardmultiple choice
Read the full Core Application Development explanation →

A developer creates a script include with client-callable true. The script include is used in a client script to validate a field. However, when the client script runs, it throws an error that GlideAjax is not defined. What is the most likely issue?

Question 51easymultiple choice
Read the full Core Application Development explanation →

A developer wants to prevent users from closing an incident after it has been resolved for more than 30 days. Which approach should be used?

Question 52mediummultiple choice
Read the full Core Application Development explanation →

A developer needs to create a scheduled job that runs every Monday at 8 AM to update all incidents with a priority of '1' that are still open. Which condition script should be used in the scheduled job?

Question 53hardmultiple choice
Read the full Core Application Development explanation →

A developer is troubleshooting a UI policy that sets a field to mandatory when another field equals 'Yes'. The UI policy works on desktop but not on the mobile app. What is the most likely cause?

Question 54easymultiple choice
Study the full ACL explanation →

A developer wants to restrict access to a specific record in the incident table so that only members of the 'ITIL' group can read it. Which type of ACL should be created?

Question 55mediummultiple choice
Read the full Core Application Development explanation →

A developer needs to capture the time when a field (assigned_to) was last changed. Which approach should be used?

Question 56hardmultiple choice
Read the full Core Application Development explanation →

A developer is debugging an issue where a Script Action in a Flow Designer flow is not triggering. The flow is configured to run when a record is created or updated in the incident table. The Script Action is supposed to set a field based on a condition, but it never executes. What should the developer check first?

Question 57easymulti select
Read the full Core Application Development explanation →

Which TWO of the following are valid ways to reference a sys_id of a record in a business rule? (Choose two.)

Question 58mediummulti select
Read the full Core Application Development explanation →

Which TWO of the following are true about client-callable script includes? (Choose two.)

Question 59hardmulti select
Study the full ACL explanation →

Which THREE of the following statements are true about ACLs? (Choose three.)

Question 60easymultiple choice
Read the full Core Application Development explanation →

The exhibit shows a business rule script snippet. The business rule is triggered on 'before update' of incident table. When an incident's state is changed to 2 (Resolved), the short_description is set to 'Resolved'. However, the short_description is also being set to 'Resolved' when the state is already 2 and other fields are updated. Which change to the script would fix this issue?

Exhibit

Refer to the exhibit.

Business Rule Script:
(function executeRule(current, previous /*null when async*/) {
   if (current.state == 2) {
      current.short_description = 'Resolved';
   }
})(current, previous);
Question 61mediummultiple choice
Study the full ACL explanation →

The exhibit shows an ACL condition script intended to allow read access to an incident only if the user has the 'itil' role and is a member of the incident's assignment group. However, users who are members of the assignment group but do not have the 'itil' role are still able to read the incident. What is the most likely problem?

Exhibit

Refer to the exhibit.

ACL Condition Script:
(function checkMembership() {
   if (gs.hasRole('itil') && current.assignment_group.isMemberOf(gs.getUserID())) {
      return true;
   }
   return false;
})();
Question 62hardmultiple choice
Read the full Core Application Development explanation →

A company is using ServiceNow for incident management. They have a business rule on the 'before update' of the incident table that automatically assigns the incident to the first available member of the 'Support' group when the state changes to 'New'. The business rule works correctly when an incident is first created with state 'New', but when an existing incident's state is changed to 'New' from another state, the assignment does not happen. The business rule script checks if current.state.changesTo('New') and then queries the group members. The group has multiple members. Other business rules that run on state changes work fine. What is the most likely cause?

Question 63mediummultiple choice
Read the full Core Application Development explanation →

A developer has created a Business Rule that runs on the 'After' order of the incident table. The Business Rule modifies several fields on the incident record. After testing, the developer notices that the changes are not being saved to the database. What is the most likely cause?

Question 64hardmulti select
Read the full Core Application Development explanation →

Which TWO of the following are valid ways to retrieve a single record from a GlideRecord query on the task table?

Question 65easymultiple choice
Read the full Core Application Development explanation →

A ServiceNow developer is working on a new application that requires a custom table to store project information. The table needs to have fields for project name, start date, end date, and project manager (reference to sys_user). The developer creates the table using the Application Creator and adds the fields. After creating the table, the developer wants to automatically generate a unique project ID in the format 'PROJ-00001' for each new record. The developer considers using a Business Rule with a script or a Default Value with a scripted function. Which approach would be the most efficient and maintainable for generating the project ID?

Question 66mediummultiple choice
Read the full Core Application Development explanation →

A company is expanding its use of ServiceNow and needs to create a custom application for managing employee onboarding tasks. The application includes several tables: Onboarding Request, Task, and Checklist Items. The business requires that when an onboarding request is submitted, a set of tasks should be automatically created in a specific order. Additionally, when all tasks are completed, the onboarding request status should automatically update to 'Completed'. The developer decides to use Flow Designer to automate this process. The developer creates a flow with a trigger on the Onboarding Request table for 'Record created or updated' and adds actions to create tasks. However, during testing, the flow creates tasks but does not update the request status when tasks are completed. What is the most likely issue?

Question 67hardmultiple choice
Read the full Core Application Development explanation →

A senior developer is troubleshooting a performance issue in a Production instance. The instance has a large number of Business Rules that run on the incident table. One particular Business Rule, 'Update CI Impact', runs on the 'After Update' order and performs a GlideRecord query on the cmdb_ci table based on the incident's configuration item (ci) field. The query uses a filter to find all CIs related to the same location as the incident. Recently, users have reported that saving an incident takes over 30 seconds. The developer suspects this Business Rule is the cause. The developer examines the script and finds it uses a synchronous GlideRecord query with no scoping on the query. The developer wants to minimize impact on performance without removing the functionality. Which approach should the developer take?

Question 68easymultiple choice
Read the full Core Application Development explanation →

A junior developer is creating a new catalog item for requesting software licenses. The catalog item includes several variables such as software name, quantity, and cost center. The business requires that when a user submits the request, the cost center variable should automatically populate with the cost center of the user's manager. The developer has written a script in the 'On Load' catalog client script to populate the cost center field. However, during testing, the cost center field remains empty after the form loads. The developer checks the script and finds it uses GlideAjax to call a Scripted REST API to fetch the manager's cost center. What is the most likely cause of the issue?

Question 69easymultiple choice
Read the full Core Application Development explanation →

A developer needs to create a catalog item that requires approval from the user's manager. What is the best practice to configure this?

Question 70mediummulti select
Read the full Core Application Development explanation →

Which TWO of the following are valid ways to personalize a Service Portal widget without modifying the original widget code?

Question 71hardmultiple choice
Read the full Core Application Development explanation →

A developer implements the above Business Rule on the 'incident' table. What is the effect of this script?

Exhibit

Refer to the exhibit.

(function executeRule(current, previous /*null when async*/) {
    if (current.state == 'closed') {
        current.setAbortAction(true);
    }
})(current, previous);
Question 72mediummultiple choice
Read the full Core Application Development explanation →

A company uses a custom application with a table 'incident_task' to track work on incidents. The requirement is to automatically reassign any incident_task that has not been updated in the last 7 days to a specific 'Escalation' group. A developer writes a Business Rule on the 'incident_task' table with the condition 'Current' table and runs on 'before query'. The script checks if (gs.daysAgo(current.sys_updated_on) >= 7) and then performs a current.assignment_group.setValue('escalation_group_sys_id'), followed by current.update(). After testing, the tasks are not being reassigned. What is the most likely cause of this issue?

Practice tests

Scored 10-question sessions with instant feedback and explanations.

SNOW-CAD Practice Test 1 — 10 Questions→SNOW-CAD Practice Test 2 — 10 Questions→SNOW-CAD Practice Test 3 — 10 Questions→SNOW-CAD Practice Test 4 — 10 Questions→SNOW-CAD Practice Test 5 — 10 Questions→SNOW-CAD Practice Exam 1 — 20 Questions→SNOW-CAD Practice Exam 2 — 20 Questions→SNOW-CAD Practice Exam 3 — 20 Questions→SNOW-CAD Practice Exam 4 — 20 Questions→Free SNOW-CAD Practice Test 1 — 30 Questions→Free SNOW-CAD Practice Test 2 — 30 Questions→Free SNOW-CAD Practice Test 3 — 30 Questions→SNOW-CAD Practice Questions 1 — 50 Questions→SNOW-CAD Practice Questions 2 — 50 Questions→SNOW-CAD Exam Simulation 1 — 100 Questions→

Practice by domain

Each domain maps to a weighted exam section. Focus on the domain where you are weakest.

Working with DataPlatform Features and IntegrationIntegrating and managing application dataAutomating application logic with business rules and scriptsApplication development using ServiceNow StudioCreating and customizing tables and dataDesigning interfaces and user experiencesCore Application DevelopmentUser Interface Development

Practice by scenario

Filter questions by type — troubleshooting, exhibit, drag-and-drop, PBQ, ACLs, OSPF, and more.

Browse scenarios→

Continue studying

All Core Application Development setsAll Core Application Development questionsSNOW-CAD Practice Hub