Certified Application Developer (CAD) Exam Prep
Free practice questions

Free CAD Practice Questions

10 exam-style questions with answers and explanations, straight from our 1,030-question bank. Tap an answer to check yourself. When you're ready, take the scored version in the free practice test.

Start the free practice test → ★★★★★4.9/5 from 2,400+ candidates · No signup

The CAD exam has 60 questions and runs 1 hour 30 minutes.

These 10 free CAD questions are organized by exam domain, so you can see how each part of the Certified Application Developer (CAD) blueprint is tested. Reveal the answer and explanation under each question.

Domain 1: Designing and Creating an Application 20% of exam

Question 1

A developer builds a scoped application (x_acme_travel) whose logic must update records in a table that belongs to a different scoped application. By default, that table rejects writes from other scopes. What is the correct way to permit the update?

Show answer & explanation

Correct answer: C - Enable 'Can update' for all application scopes in the target table's Application Access settings

Question 2

A team is starting a brand-new custom application that will store sensitive data in its own tables. Following ServiceNow best practice, which approach should they choose, and why?

Show answer & explanation

Correct answer: B - Build a scoped application, because scoping isolates its artifacts and governs cross-application table access

Domain 2: Application User Interface 20% of exam

Question 3

A field-level ACL on incident.priority for the 'write' operation has a condition that evaluates to true and a script that returns answer = true. However, the current user holds none of the roles in that ACL's Requires role list. Based on how a single ACL is evaluated, what is the result?

Show answer & explanation

Correct answer: C - Access is denied, because an ACL grants only if its role, condition, and script all pass

Question 4

When a user opens an Incident form, in what order does the platform evaluate the matching Access Controls for a given field?

Show answer & explanation

Correct answer: D - From most specific to most general - for example, incident.priority, then incident.*, then *.*

Question 5

A Script Include returns a list of records to a Service Portal widget for users who may have restricted access to some rows and fields. To make the results honor each user's row- and field-level security, which server-side API should be used to query the data?

Show answer & explanation

Correct answer: A - GlideRecordSecure, because it enforces the current user's row- and field-level ACLs on the results

Question 6

A developer who has the admin role opens a high-security Access Control to change it, but the record is read-only. What must they do to edit it?

Show answer & explanation

Correct answer: B - Elevate to the security_admin role for the current session, then edit the ACL

Domain 3: Security and Restricting Access 20% of exam

Question 7

A requirement states that the 'Justification' field must become mandatory and visible only when 'Priority' is set to 1 - Critical, with no other logic involved. Which is the recommended way to implement this?

Show answer & explanation

Correct answer: C - A UI Policy whose condition checks Priority, with actions setting the field mandatory and visible

Question 8

A field must be required whether a record is created through a form, an import set, or a web service. Which tool enforces the rule across all of these interfaces?

Show answer & explanation

Correct answer: D - A Data Policy, which enforces the rule on forms, imports, and web services

Question 9

In a list view, a developer needs to validate a value the moment a user edits a cell inline, before the row is saved. Which client script type should be used?

Show answer & explanation

Correct answer: A - onCellEdit, because it runs when a value is edited directly in a list cell

Domain 4: Application Automation 20% of exam

Question 10

A developer writes: var gr = new GlideRecord('incident'); gr.get('number', 'INC0010042'); - Which statement about this code is correct?

Show answer & explanation

Correct answer: B - get() runs its own query and positions gr on the matching record

The rest of the CAD blueprint

The CAD exam also covers these domains. Drill them in the full free practice test:

That's 10 of 1,030

The full bank has 1,020 more CAD questions with explanations.

Continue in the free practice test →

View plans