First 50 of 200 questions. Each one lists the choices, the correct answer, and an explanation. The checker at the top of this page saves progress in this browser when it is available.
Continue in the practice tool above to load more questions, 50 at a time.
Question 1Salesforce Fundamentals
A company subscribes to Salesforce and shares the same application servers and database as thousands of other customers, yet its records are invisible to those customers. Which architectural characteristic makes this possible?
- A per-customer virtual machine that stores records in local flat files
- A separate physical server cluster allocated to each customer organization
- A multitenant architecture that partitions data by organization ID Correct answer.
- A dedicated database instance provisioned for each customer organization
Explanation
Salesforce runs on a multitenant architecture in which all customers share the same application infrastructure, and data is separated logically through unique organization identifiers and metadata. No customer receives a dedicated database or server. This shared-resource model is what allows the platform to scale to many orgs at once.
Question 2Salesforce Fundamentals
A testing team needs a sandbox that uses a sandbox template to copy a defined subset of production records, up to 10,000 records per object. Which sandbox type should be used?
- Partial Copy Correct answer.
- Developer
- Developer Pro
- Full
Explanation
A Partial Copy sandbox uses a sandbox template to select which objects and how much data are copied from production, with a cap of 10,000 records per selected object. It is the only sandbox type that copies a template-driven sample of data.
Question 3Salesforce Fundamentals
Which Salesforce search language is designed to search text across multiple objects at once and return results grouped by object?
- SQL
- Apex DML
- SOSL Correct answer.
- SOQL
Explanation
SOSL performs text-based searches across several objects in a single statement and returns results as a list of lists, one list per searched object. SOQL, by contrast, queries one object at a time using structured field conditions.
Question 4Salesforce Fundamentals
A user's profile grants read-only access to the Account object. An administrator also assigns the user a permission set that grants edit access to Account. What is the user's effective access to Account?
- No access, because the two settings conflict and cancel out
- Read-only, until the profile itself is also updated
- Edit, because permission sets add permissions to those of the profile Correct answer.
- Read-only, because profile settings override permission sets
Explanation
Permission sets are additive: the effective permission for a user is the union of all permissions granted by the profile and every assigned permission set. A permission set can therefore extend access beyond the profile but can never revoke access the profile already gives.
Question 5Salesforce Fundamentals
Two custom objects must be related so that each record of one object can be linked to many records of the other, and vice versa. What should be created?
- A hierarchical relationship on both objects
- A rollup summary field on each object
- A junction object that has two master-detail relationships Correct answer.
- A self-relationship on each object
Explanation
Many-to-many relationships are modeled with a junction object that sits between the two objects and holds a master-detail relationship to each of them. Each junction record then represents one association between a record of the first object and a record of the second.
Question 6Salesforce Fundamentals
Which Data Loader operation updates existing records and inserts new records in a single pass by matching on an external ID field?
- Upsert Correct answer.
- Export
- Insert
- Update
Explanation
Upsert matches incoming rows against an external ID field: rows that match an existing record are updated and rows that do not match are inserted. Insert and Update each perform only one of those operations.
Question 7Salesforce Fundamentals
An administrator wants a graphical canvas where new custom objects and fields can be created and the relationships between objects can be inspected visually. Which tool provides this?
- AppExchange
- Schema Builder Correct answer.
- Workbench
- Data Import Wizard
Explanation
Schema Builder presents the data model as a drag-and-drop diagram, allowing objects and fields to be created and relationships to be viewed visually. The other tools either install applications, run ad hoc API calls, or import data.
Question 8Salesforce Fundamentals
An active validation rule on Opportunity returns true when Amount is blank. What happens when a user tries to save a new Opportunity with a blank Amount?
- The record is saved and Amount is filled in from a default value
- The save is blocked and the error message is shown to the user Correct answer.
- The record is deleted and an email is sent to the owner
- The record is saved but flagged for review by an administrator
Explanation
A validation rule fires when its formula evaluates to true, and it always blocks the save while displaying the configured error message. Validation rules cannot assign values or route records for later review.
Question 9Salesforce Fundamentals
An administrator needs a field on a parent object that automatically totals a currency field across all related child records. Which combination is required?
- A lookup relationship and a rollup summary field
- A lookup relationship and a cross-object formula field
- A master-detail relationship and a cross-object formula field
- A master-detail relationship and a rollup summary field Correct answer.
Explanation
Rollup summary fields can only be defined on the parent of a master-detail relationship, where the child's ownership and lifecycle are tied to the parent. A cross-object formula can display a value from a related record but cannot aggregate many child records.
Question 10Salesforce Fundamentals
The organization-wide default for Opportunity is Private. A sales manager must see the opportunities owned by the reps who report to them. What is the simplest way to grant this access?
- Assign the manager a profile that includes Modify All Data
- Create a public group and add the manager as a member
- Change the organization-wide default to Public Read Only
- Place the manager above the reps in the role hierarchy Correct answer.
Explanation
When the organization-wide default is Private or Public Read Only, users higher in the role hierarchy receive access to records owned by users below them, provided the object grants access using hierarchies. Positioning the manager above the reps therefore provides the required visibility without broad permissions.
Question 11Salesforce Fundamentals
Two sales teams must select from different sets of Stage picklist values on the same Opportunity object. What should the administrator configure?
- Two separate custom fields, one for each team
- A validation rule for each team
- Record types assigned to separate sales processes Correct answer.
- A permission set for each team
Explanation
A record type is tied to a sales process, and each sales process defines which Stage values are available for that record type. Assigning different record types to the two teams therefore gives each team its own picklist values.
Question 12Salesforce Fundamentals
Which task can a delegated administrator perform?
- Manage users in the roles and profiles assigned to them Correct answer.
- Change organization-wide sharing defaults
- Reset passwords for every user in the organization
- Create and delete custom objects
Explanation
Delegated administrators are granted a limited subset of administrative privileges, typically over specified roles, profiles, and the users assigned to them. Organization-wide settings, schema changes, and org-wide user management remain with full system administrators.
Question 13Salesforce Fundamentals
A developer needs asynchronous Apex that accepts a collection of custom objects as a parameter and can enqueue a follow-up job when it finishes. Which should be used?
- Scheduled Apex
- Queueable Apex Correct answer.
- Batch Apex
- A future method
Explanation
Queueable Apex accepts complex types such as collections of sObjects and supports chaining by enqueuing another job from within the execute method. Future methods accept only primitives or collections of primitives and cannot be chained this way.
Question 14Salesforce Fundamentals
On a standard or custom object, which DML event supports only an after trigger and has no before variant?
- Insert
- Undelete Correct answer.
- Delete
- Update
Explanation
Undelete fires after records are recovered from the Recycle Bin, so only an after undelete trigger is available; there is no before undelete event. Insert, update, and delete all support both before and after triggers.
Question 15Salesforce Fundamentals
The organization-wide default for a custom object is Private. Which users can see a record by default, before any sharing rules are considered?
- Any user who has read access to the object through a profile
- All users assigned to the same territory as the record owner
- The owner plus users above the owner in the role hierarchy Correct answer.
- Every internal user in the organization, regardless of role
Explanation
With a Private organization-wide default, access starts with the record owner and the users positioned above that owner in the role hierarchy, provided the object grants access using hierarchies. Any wider access must come from sharing rules, manual sharing, or similar mechanisms.
Question 16Salesforce Fundamentals
A record is submitted into an approval process that has the initial submission action set to lock the record. What is the effect while the record is awaiting a decision?
- The record is automatically cloned so that each approver works on a copy
- The record owner loses read access until the request is approved
- The record is locked so it cannot be edited while the request is pending Correct answer.
- The record is deleted if the approver rejects it at the end of the process
Explanation
The initial submission action can lock a submitted record, preventing users from editing it while the approval request is pending. The lock is released when the record is approved or rejected, and administrators can still unlock it manually.
Question 17Salesforce Fundamentals
What is the maximum number of SOQL queries that a single synchronous Apex transaction can issue?
- 150
- 20
- 100 Correct answer.
- 200
Explanation
Synchronous Apex transactions are limited to 100 SOQL queries, and asynchronous transactions are allowed 200. The limit is cumulative per transaction, so queries issued inside loops can exhaust it quickly.
Question 18Salesforce Fundamentals
A developer must store configuration records that can be deployed from a sandbox to production with a change set. Which feature should be used?
- A custom metadata type Correct answer.
- A hierarchy custom setting
- A list custom setting
- A custom object with a text field
Explanation
Custom metadata records are metadata, so they travel with the definition through change sets, packages, and the Metadata API. Custom setting data, by contrast, is treated as data and must be migrated with a data tool.
Question 19Salesforce Fundamentals
Which method signature is valid for a method annotated with @future?
- public static String doWork(String value)
- public void doWork(String value)
- public static void doWork(Account record)
- public static void doWork(String value) Correct answer.
Explanation
A future method must be declared static and must return void, and its parameters may only be primitives, collections of primitives, or collections of primitive-like types. Returning a value, using an sObject parameter, or omitting static all make the method invalid.
Question 20Salesforce Fundamentals
A developer calls Database.executeBatch with only the batch class instance and does not supply a scope size. What batch size is used?
- 200 Correct answer.
- 100
- 1000
- 50
Explanation
When no scope size is passed, batch Apex uses a default of 200 records per batch execution. Each batch execution runs as its own transaction with its own set of governor limits.
Question 21Salesforce Fundamentals
A before insert trigger on Account sets a custom field to a value that violates an active validation rule. What is the result of the save operation?
- The trigger's value is silently reverted and the record saves
- The save fails with a governor limit error
- The save fails and the validation rule error is returned Correct answer.
- The save succeeds because triggers run after validation
Explanation
Before triggers run before system validation and before custom validation rules are evaluated, so a value assigned in a before trigger is still subject to validation. If that value violates a rule, the save is blocked and the error is returned to the user or API caller.
Question 22Salesforce Fundamentals
A workflow rule with a field update modifies a field on Opportunity when records are updated, and the object has both before update and after update triggers. What happens on the next save of an affected record?
- The before update and after update triggers each fire one additional time Correct answer.
- Only the after update trigger fires again
- The triggers fire repeatedly until the field value stops changing
- No triggers fire because workflow rules run after all triggers
Explanation
When a workflow field update changes a field value, the before update and after update triggers fire one more time for that record. This re-execution happens only once, so a field update cannot cause an endless trigger loop.
Question 23Salesforce Fundamentals
A trigger on a parent object loops over 200 records and issues one separate update statement for a child record on each iteration. Which governor limit is exceeded first?
- The 50,000 record query row limit
- The 150 DML statement limit Correct answer.
- The 100 SOQL query limit
- The 6 MB heap size limit
Explanation
A synchronous transaction may execute at most 150 DML statements, and 200 individual update calls exceed that ceiling. The fix is to collect the child records into a list and perform a single bulk DML call, which is the core principle of trigger bulkification.
Question 24Salesforce Fundamentals
A class declared without sharing is called from a class declared with sharing. How does the called class enforce record-level access?
- It ignores sharing rules and runs in system mode Correct answer.
- It fails to compile because the two sharing modes conflict
- It inherits with sharing behavior from the calling class
- It enforces sharing only for users who hold the System Administrator profile
Explanation
The sharing mode is determined by the class in which the code executes, so a class declared without sharing runs in system mode and does not enforce the current user's sharing rules. Only the entry-point class can run in system mode without the keyword when it is invoked from an anonymous context or a trigger.
Question 25Salesforce Fundamentals
What is the maximum number of records that a single SOQL query can retrieve in one transaction before the row limit is reached?
- 150,000
- 10,000
- 50,000 Correct answer.
- 1,000,000
Explanation
Each transaction may retrieve up to 50,000 records through SOQL, and the limit is cumulative across all queries in that transaction. Querying in a loop over many records is a common cause of hitting this ceiling.
Question 26Salesforce Fundamentals
A company evaluating Salesforce asks how a single platform can serve many unrelated customers at once. Which statement describes the Salesforce multi-tenant architecture?
- Customers share a common infrastructure, and each org's data is separated by a unique organization identifier. Correct answer.
- Each org stores its data in a private on-premises data center that Salesforce manages remotely over a VPN connection.
- Each customer org runs a separately compiled copy of the application code that is generated when the org is created.
- Each customer org is assigned its own dedicated database server and its own dedicated application servers.
Explanation
In a multi-tenant architecture, all customers run on the same application servers and database infrastructure. Salesforce partitions each customer's data using a unique organization identifier, so records from one org are never visible to another org while the hardware and code are shared.
Question 27Salesforce Fundamentals
A developer creates a new custom object named Invoice. Which API name does Salesforce assign to the object?
- c_Invoice
- Invoice__c Correct answer.
- Invoice__r
- Invoice
Explanation
Custom objects and custom fields receive a double-underscore c suffix (__c) on their API names so the platform can distinguish them from standard objects and fields. The object label can remain Invoice, but code, SOQL, and the API use Invoice__c.
Question 28Salesforce Fundamentals
An administrator wants to find, test drive, and install applications built by Salesforce partners without writing custom code. Which resource provides this?
- The AppExchange Correct answer.
- The Schema Builder
- The Setup Audit Trail
- The Developer Console
Explanation
The AppExchange is the Salesforce marketplace where partners and ISVs publish apps, components, and consulting offerings. Administrators can browse listings, use test drives or trial orgs, and install packages directly into their org.
Question 29Salesforce Fundamentals
A developer defines a master-detail relationship from a custom object Line Item to a custom object Order. Which behavior results from this definition?
- Each Line Item record requires an Order record, and deleting the Order deletes its Line Item records. Correct answer.
- A single Line Item record can be linked to more than one Order record at the same time.
- The Line Item object keeps its own owner field, which is maintained separately from the owner of the Order record.
- Each Line Item record may exist without an Order record, because master-detail relationships are optional by default.
Explanation
A master-detail relationship makes the parent required, so a detail record cannot be created or saved without a master. It also makes the relationship tightly bound: deleting the master cascades to its detail records, and the detail record inherits sharing and ownership from the master.
Question 30Salesforce Fundamentals
A user's profile grants Read access to the Account object. An administrator assigns the same user a permission set that grants Edit access to Account. What effective object access does the user have?
- Edit only, because the permission set replaces the profile's object permission.
- No access, because the conflicting object permissions cancel each other out.
- Read only, because profile permissions always override permission sets.
- Read and Edit, because permission sets add permissions on top of the profile. Correct answer.
Explanation
Permission sets are additive: a user's effective permissions are the union of the profile and all assigned permission sets. Because Edit implies Read, the user ends up with Read and Edit access to Account.
Question 31Salesforce Fundamentals
An administrator needs a sandbox that contains a copy of all production metadata and all production data so the team can run a full-scale performance test. Which sandbox type should be used?
- Partial Copy sandbox
- Developer Pro sandbox
- Full sandbox Correct answer.
- Developer sandbox
Explanation
A Full sandbox is a replica of the production org that includes all metadata and all data, which makes it the correct choice for load and performance testing. Partial Copy sandboxes use a data template that samples production data, and Developer and Developer Pro sandboxes copy metadata with only small data limits.
Question 32Salesforce Fundamentals
An administrator removes a custom field from the Account page layout, so it no longer appears on Account record detail pages. Field-level security still grants Visible access to the field for the user's profile. Where can the user still see values for this field?
- Only after the administrator deletes and recreates the field.
- In reports and list views that include the field. Correct answer.
- Only inside related lists that are placed on the Account page layout.
- Nowhere, because removing a field from the page layout hides it everywhere in the org.
Explanation
Page layouts control only which fields appear on record detail and edit pages in the user interface. Field-level security governs whether a user can access the field's data at all, so when FLS is visible the field remains available in reports, list views, and the API even if it is not on the layout.
Question 33Salesforce Fundamentals
An administrator enables Field History Tracking on a custom object and tries to add a formula field named Discount_Rate__c to the tracked fields list. What is the result?
- The formula field is tracked only when the object is the detail side of a master-detail relationship.
- The formula field is tracked only if its formula references at least one field on the same object.
- The formula field cannot be selected for tracking, because formula values are not stored. Correct answer.
- The formula field is tracked, and a history record is written every time any field on the record changes.
Explanation
Field History Tracking records changes to stored field values, and formula fields are calculated at query time rather than stored. Because no value is persisted for a formula field, it never appears as an option in the tracked fields list.
Question 34Salesforce Fundamentals
A formula field on Contact references a field on its related Account record. What happens when the value of the referenced Account field changes?
- The Contact formula field displays the new value whenever the record is viewed. Correct answer.
- A validation rule on Contact must be added to push the new value from the Account.
- The formula must be recompiled by an administrator before the Contact shows the new value.
- The Contact formula field keeps the value it had when the Contact was last saved until the Contact record is edited.
Explanation
Formula fields are not stored values; they are calculated each time the record is queried or displayed. A cross-object formula therefore reflects the current parent value automatically with no recalculation job, recompile step, or record edit required.
Question 35Data Modeling and Management
A developer needs child records to be deleted automatically when their parent record is deleted, and needs the parent to display a summary of its child records. Which relationship type meets both requirements?
- Lookup
- External lookup
- Master-detail Correct answer.
- Hierarchical
Explanation
A master-detail relationship makes the child record dependent on the parent, so deleting the parent deletes the children and the parent can host roll-up summary fields. Lookup and hierarchical relationships do not provide cascade delete or roll-up summaries.
Question 36Data Modeling and Management
Two custom objects must be related so that each record of either object can be linked to many records of the other. Which configuration produces that relationship?
- A required lookup field on each object pointing to the other
- A junction object with two master-detail relationships Correct answer.
- A self-referencing lookup on each object
- A hierarchical relationship on one of the objects
Explanation
Many-to-many relationships are modeled with a junction object that holds two master-detail relationships, one to each of the objects being related. Each junction record then links one record from each side.
Question 37Data Modeling and Management
Which aggregate is available as a roll-up summary field type on a master-detail relationship?
- Sum Correct answer.
- Product
- Average
- Median
Explanation
Roll-up summary fields support COUNT, SUM, MIN, and MAX of detail records or of a numeric detail field. Average, product, and median are not offered as roll-up summary types.
Question 38Data Modeling and Management
A developer wants records to be matched against an existing record during an upsert instead of always creating duplicates. Which field attribute enables that matching?
- Defaulted
- Unique
- Required
- External ID Correct answer.
Explanation
An upsert matches incoming rows against a field marked as an External ID, and inserts a new record only when no match is found. A unique field also enforces distinctness in the org but is not the attribute used for upsert matching.
Question 39Data Modeling and Management
A developer must load 2,000 new contact records and cannot install any client application on the machine. Which tool can perform the load from the browser?
- SOAP API
- Bulk API
- Data Loader
- Data Import Wizard Correct answer.
Explanation
The Data Import Wizard runs in the browser from Setup and supports loads of up to 50,000 records for supported objects. Data Loader and the APIs require a client application or custom code.
Question 40Data Modeling and Management
Which standard field stores the user who created a record and cannot be edited afterward?
- OwnerId
- LastModifiedById
- LastActivityDate
- CreatedById Correct answer.
Explanation
CreatedById is an audit field written by the system at insert time and is read-only for users and the API. OwnerId can change through ownership transfer, and LastModifiedById updates whenever the record is edited.
Question 41Data Modeling and Management
What is Schema Builder primarily used for?
- Writing Apex triggers against standard objects
- Running SOQL queries against related records
- Creating and viewing objects, fields, and relationships on a drag-and-drop canvas Correct answer.
- Defining validation rules and error messages
Explanation
Schema Builder provides a visual canvas for viewing the data model and for adding objects, fields, and relationships. It does not execute code or define validation logic.
Question 42Data Modeling and Management
For how long after deletion can a record normally be restored from the Recycle Bin?
- 15 days Correct answer.
- 60 days
- 45 days
- 30 days
Explanation
Deleted records remain in the Recycle Bin for 15 days before permanent removal. Restoring a record from the Recycle Bin also restores its associated child records where applicable.
Question 43Data Modeling and Management
Child records in a master-detail relationship must be moveable from one parent record to another. Which relationship setting must be enabled?
- Require the child field
- Allow reparenting Correct answer.
- Cascade delete
- Mark the relationship as primary
Explanation
Master-detail children cannot change parents unless the relationship allows reparenting, which is disabled by default. Enabling it lets users reassign the detail record to a different master record.
Question 44Data Modeling and Management
What happens to child records when a parent record is deleted through a lookup relationship where the lookup field is not required?
- The child records become read-only
- The child records are reassigned to the record owner's manager
- The child records are deleted along with the parent
- The lookup field on the child records is cleared Correct answer.
Explanation
Lookup relationships do not cascade delete by default, so the child records remain and their lookup field is set to blank. If the lookup is required, the parent cannot be deleted while children reference it.
Question 45Data Modeling and Management
A formula field on Contact must display the BillingCity of the contact's related Account. Which expression is valid in the formula editor?
- $Account.BillingCity
- Account.BillingCity Correct answer.
- BillingCity
- Account__r.BillingCity
Explanation
For a standard object relationship the formula navigates through the relationship using the parent object name followed by the field, as in Account.BillingCity. The __r suffix applies to custom relationships, and the $ prefix is reserved for global variables.
Question 46Data Modeling and Management
A field appears on the page layout assigned to a user, yet the user reports that the field is not visible on the record. Which configuration explains this?
- The object is not included in any permission set
- The field data type is not supported by the page layout
- Read access to the field is removed in field-level security Correct answer.
- The user's profile is missing the record type assignment
Explanation
Field-level security determines whether a user can see and edit a field on any layout, page, report, or API call, and it overrides the page layout. If read access is removed, the field is hidden even when it is present on the layout.
Question 47Data Modeling and Management
A Case object has two record types, and users with the same profile report seeing different picklist options depending on the case they open. What controls the available values?
- The sharing rules on the Case object
- The record type assigned to the record and its picklist values Correct answer.
- Field-level security on the picklist field
- The page layout assigned to the profile
Explanation
When record types are used, each picklist value can be enabled or disabled per record type, so the available values depend on the record's record type. Profiles determine which record types a user may select, but the values themselves come from the record type configuration.
Question 48Data Modeling and Management
How many master-detail relationships can a single custom object have?
- Unlimited
- Five
- Two Correct answer.
- Three
Explanation
A custom object can have at most two master-detail relationships, which is what makes junction objects possible. Additional relationships must be lookups.
Question 49Data Modeling and Management
Which SOQL query returns each Account along with its related Contacts?
- SELECT Id FROM Account WHERE Id IN (SELECT Id FROM Contact)
- SELECT Id, (SELECT Id FROM Contacts) FROM Account Correct answer.
- SELECT Id, Contacts FROM Account
- SELECT Id, (SELECT Name FROM Contact) FROM Account
Explanation
Parent-to-child queries use a subquery on the child relationship name, which is plural, such as Contacts. The child object's name is not valid as a relationship name in the subquery.
Question 50Data Modeling and Management
A custom object Invoice__c has a lookup to Account whose relationship name is Account. Which query returns the name of each invoice's account?
- SELECT Id, (SELECT Account__r.Name FROM Invoice__c) FROM Account
- SELECT Id, Invoice__r.Name FROM Account
- SELECT Id, Account.Name FROM Invoice__c
- SELECT Id, Account__r.Name FROM Invoice__c Correct answer.
Explanation
Child-to-parent queries traverse a custom relationship using the relationship name with the __r suffix, followed by the parent field. Custom relationship API names always end in __r.