Hiring guide

Salesforce Developer Interview Questions

March 10, 2026
33 min read

These Salesforce Developer interview questions will guide your interview process to help you find trusted candidates with the right skills you are looking for.

100 Salesforce Developer Interview Questions

  1. What are governor limits? Please provide some examples.

  2. What programming languages can we use to customize a Salesforce instance?

  3. What declarative tools can we use to customize a Salesforce instance?

  4. When would we choose programmatic development over declarative?

  5. What is the Salesforce release model?

  6. What Salesforce supported development tools are there?

  7. What is SOQL?

  8. What are three types of object relationships?

  9. What are the different types of relationships we have in Salesforce?

  10. What is Cloud Computing?

  11. What is required for deploying Apex code to a Production instance?

  12. What's the difference between queueable Apex, batch Apex and schedulable Apex?

  13. What are the different events for an Apex Trigger?

  14. What is a global Apex class?

  15. What is an Interface and why would we use one?

  16. How can we allow Apex to be called by Lightning components?

  17. How can we debug our Apex code?

  18. What is Apex?

  19. What is with sharing and without sharing in Apex?

  20. What is mixed DML error and when do we encounter it?

  21. What is Trigger in Salesforce?

  22. What are the two types of triggers in Salesforce?

  23. What are different events available in Triggers?

  24. What is recursion in Trigger and how can we prevent it?

  25. What is the Apex Trigger Handler pattern?

  26. What is Apex Trigger Framework?

  27. When should we use Apex Trigger?

  28. Does the Apex trigger run with sharing or without sharing?

  29. How many times does the trigger execute on an Upsert event?

  30. What is the difference between Trigger.New and Trigger.newMap?

  31. How can we integrate into external REST web services?

  32. How can an external system integrate into Salesforce?

  33. How can we secure credentials used for outbound integrations?

  34. What is web services?

  35. What is the difference between SOAP and REST?

  36. What is the difference between Enterprise WSDL and Partner WSDL?

  37. What is an API and how does Salesforce use them?

  38. What authentication methods does Salesforce support for integrations?

  39. What is Platform Events and when should we use it?

  40. What is Change Data Capture and how does it differ from Platform Events?

  41. What is the minimum code coverage required to deploy to production?

  42. What are test classes in Salesforce?

  43. What is Test.startTest() and Test.stopTest()?

  44. What is the purpose of Test.setMock()?

  45. What is @testSetup and why would we use it?

  46. How do we test triggers in Salesforce?

  47. What is System.runAs() and when should we use it?

  48. What are best practices for writing test classes?

  49. What debugging tools are available in Salesforce?

  50. How can we debug asynchronous Apex?

  51. What is Lightning Web Components (LWC)?

  52. What are the main files in an LWC component bundle?

  53. How do we pass data from parent to child component in LWC?

  54. How do we pass data from child to parent component in LWC?

  55. What is the difference between @api, @track, and @wire decorators?

  56. What is Lightning Data Service (LDS)?

  57. How do we call Apex methods from LWC?

  58. What is component lifecycle in LWC?

  59. How do we handle errors in LWC?

  60. What is the difference between LWC and Aura Components?

  61. What are the different levels of security in Salesforce?

  62. What is CRUD and FLS security?

  63. How can we enforce security in Apex code?

  64. What are sharing rules and how do they work?

  65. What is the difference between Profiles and Permission Sets?

  66. What are best practices for handling sensitive data in Apex?

  67. What is SOQL Injection and how can we prevent it?

  68. What are Organization-Wide Defaults (OWD)?

  69. What is Role Hierarchy and how does it affect record access?

  70. What are manual sharing and Apex managed sharing?

  71. What tools are available for data migration in Salesforce?

  72. What is the difference between Data Loader and Data Import Wizard?

  73. What is an External ID field and when should we use it?

  74. What is the Bulk API and when should we use it?

  75. How can we prevent duplicate records in Salesforce?

  76. What is Data Skew and how does it impact performance?

  77. What are Big Objects and when should we use them?

  78. How can we optimize SOQL queries for better performance?

  79. What is the difference between Upsert and Insert/Update?

  80. How can we handle large data volumes in triggers?

  81. What deployment methods are available in Salesforce?

  82. What is the difference between Change Sets and Metadata API deployment?

  83. What are the different types of Sandboxes?

  84. What is Continuous Integration/Continuous Deployment (CI/CD) in Salesforce?

  85. What is a Scratch Org and how does it differ from a Sandbox?

  86. What is Salesforce DX?

  87. How can we manage environment-specific configurations?

  88. What are deployment best practices?

  89. What is the role of version control in Salesforce development?

  90. How can we handle failed deployments?

  91. What are common performance bottlenecks in Salesforce?

  92. How can we optimize SOQL queries?

  93. What is bulkification and why is it important?

  94. How can we reduce view state in Visualforce pages?

  95. What caching strategies can we use in Salesforce?

  96. What is asynchronous processing and when should we use it?

  97. How can we optimize Lightning Web Components performance?

  98. What tools can we use to identify performance issues?

  99. What is the impact of workflow rules and process builders on performance?

  100. How can we handle large data volumes efficiently?

Download Free Salesforce Developer Interview Questions

Get expert-crafted questions designed specifically for salesforce developer roles. Our comprehensive PDF includes technical, behavioral, and ethics questions to help you identify top talent.

Platform Knowledge & Fundamentals

What are governor limits? Please provide some examples.

What to Listen For:

  • Clear understanding that governor limits are resource utilization caps enforced by Salesforce to prevent monopolization in multi-tenant environments
  • Specific examples such as SOQL query limits (100 queries per transaction), DML statement limits (150 per transaction), and HTTP callout limits
  • Awareness of different limits for synchronous vs asynchronous operations and how these impact development decisions

What programming languages can we use to customize a Salesforce instance?

What to Listen For:

  • Identification of Apex as the server-side language with Java-like syntax for backend customization
  • Recognition of front-end technologies including Lightning Web Components, Aura Components, and Visualforce using HTML, CSS, and JavaScript
  • Mention of Flow as a low-code alternative for both frontend and backend customizations

What declarative tools can we use to customize a Salesforce instance?

What to Listen For:

  • Knowledge of basic declarative tools like custom fields, custom objects, page layouts, and Lightning app pages
  • Awareness that Flow is the primary declarative automation tool while Process Builder and Workflow Rules are being deprecated
  • Understanding of when declarative tools are appropriate versus programmatic development

When would we choose programmatic development over declarative?

What to Listen For:

  • Recognition that declarative tools excel for rapid development and straightforward business logic with shorter build times
  • Understanding that programmatic development is preferred for complex requirements, specialized business processes, and performance-critical scenarios
  • Ability to articulate that coded solutions offer better performance and complete UI customization compared to out-of-the-box declarative options

What is the Salesforce release model?

What to Listen For:

  • Knowledge that Salesforce has three major updates per year: Spring, Summer, and Winter releases
  • Awareness that sandbox instances are updated 4-6 weeks before production releases for testing purposes
  • Understanding of the importance of staying current with platform updates and testing customizations before releases

What Salesforce supported development tools are there?

What to Listen For:

  • Identification of Salesforce Extensions for VS Code as the main supported development tool
  • Recognition that it utilizes the Salesforce Command Line Interface (CLI) for operations
  • Familiarity with modern development workflows and version control integration

What is SOQL?

What to Listen For:

  • Clear explanation that SOQL stands for Salesforce Object Query Language and is the main language for database queries
  • Understanding of key differences from SQL, particularly that SOQL is exclusively for SELECT statements and queries single objects with related records
  • Knowledge that SOQL can be used within Apex code, via API, and in data loading tools

What are three types of object relationships?

What to Listen For:

  • Explanation of Lookup Relationship as a loosely coupled connection where child records have lookup fields pointing to parent records
  • Understanding of Master-Detail as a tightly coupled relationship where child records cannot exist without parents and allows rollup summary fields
  • Recognition of Self relationships as lookups pointing to the same object type, enabling hierarchies without self-reference

What are the different types of relationships we have in Salesforce?

What to Listen For:

  • Comprehensive knowledge of all six relationship types: Lookup, Master-Detail, Many-to-Many (junction), Self, External, and Hierarchical
  • Clear distinction between loosely coupled (Lookup) and tightly coupled (Master-Detail) relationships with cascade delete behavior
  • Understanding that Hierarchical relationships are unique to the User object for manager-employee structures

What is Cloud Computing?

What to Listen For:

  • Clear definition of cloud computing as on-demand delivery of computing resources over the internet
  • Understanding of the three main service models: IaaS (Infrastructure), PaaS (Platform), and SaaS (Software)
  • Recognition of Salesforce as a SaaS platform and how it fits within the broader cloud computing ecosystem
Apex Programming & Development

What is required for deploying Apex code to a Production instance?

What to Listen For:

  • Knowledge of the three critical requirements: all classes and triggers must compile, tests must cover at least 75% of Apex code with no failures, and all triggers need minimum 1% coverage
  • Understanding of the importance of test coverage for code quality and deployment success
  • Awareness of testing best practices and the role of unit tests in the deployment process

What's the difference between queueable Apex, batch Apex and schedulable Apex?

What to Listen For:

  • Understanding that Queueable Apex handles asynchronous processing for long-running operations or callouts that can't run in triggers
  • Recognition that Batch Apex processes large data volumes (up to 50 million records) in smaller batches of 1-2000 records
  • Knowledge that Scheduled Apex runs at specific times/dates and can be configured for recurring execution via UI or CRON strings

What are the different events for an Apex Trigger?

What to Listen For:

  • Clear explanation of before and after trigger types, with before running before database save and after running post-save
  • Knowledge of operation types: insert, update, delete, and undelete that determine when triggers fire
  • Understanding that before triggers are optimal for same-record calculations/validations while after triggers handle operations on related records

What is a global Apex class?

What to Listen For:

  • Definition that global classes use the global access modifier making them visible across all namespaces
  • Recognition that global classes should be used sparingly and only when explicitly necessary
  • Awareness of appropriate use cases such as managed packages or Apex REST web services

What is an Interface and why would we use one?

What to Listen For:

  • Understanding that interfaces are class-like structures with method declarations but no implementations
  • Recognition that interfaces abstract method declaration from implementation, as seen with Database.Batchable
  • Ability to explain how interfaces enable different runtime behaviors based on context through polymorphism

How can we allow Apex to be called by Lightning components?

What to Listen For:

  • Knowledge that methods must be annotated with @AuraEnabled to expose them to Lightning Components
  • Understanding of the cacheable parameter: @AuraEnabled(cacheable=true) for methods supporting caching
  • Awareness of when to use cacheable vs non-cacheable methods based on data freshness requirements

How can we debug our Apex code?

What to Listen For:

  • Familiarity with debug logs that capture execution details, exceptions, and System.debug() output
  • Knowledge of Apex Replay Debugger in VS Code for step-through debugging with checkpoints and breakpoints
  • Understanding that increasing logging levels provides more detailed execution insights for troubleshooting

What is Apex?

What to Listen For:

  • Clear explanation that Apex is Salesforce's proprietary server-side programming language with Java-like syntax
  • Understanding of when to use Apex over Flow for complex business logic, performance requirements, or specialized processing
  • Recognition that Apex provides more control and flexibility than declarative tools for advanced customizations

What is with sharing and without sharing in Apex?

What to Listen For:

  • Understanding that "with sharing" enforces the current user's sharing rules while "without sharing" bypasses them
  • Recognition that it's best practice to use "with sharing" unless specific requirements dictate otherwise
  • Awareness that sharing keywords only affect record access, not field-level or object-level security which must be enforced separately

What is mixed DML error and when do we encounter it?

What to Listen For:

  • Clear explanation that mixed DML errors occur when performing DML on setup and non-setup objects in a single transaction
  • Understanding that the error is triggered by sharing recalculation when modifying setup objects like User with role assignments
  • Knowledge of resolution strategies such as using future methods to separate transactions and avoid the error
Apex Triggers & Context Variables

What is Trigger in Salesforce?

What to Listen For:

  • Definition of triggers as Apex code that executes automatically before or after database operations
  • Understanding that triggers respond to insert, update, delete, and undelete operations on records
  • Recognition of appropriate use cases for triggers versus declarative automation tools

What are the two types of triggers in Salesforce?

What to Listen For:

  • Clear distinction between before triggers (execute before record is saved to database) and after triggers (execute after save)
  • Understanding that before triggers are ideal for validations and same-record updates without additional DML
  • Recognition that after triggers are used for operations on related records or when record IDs are needed

What are different events available in Triggers?

What to Listen For:

  • Comprehensive list of trigger events: isInsert, isUpdate, isDelete, isBefore, isAfter, and isUndelete
  • Knowledge of context variables like Trigger.new, Trigger.old, Trigger.newMap, Trigger.oldMap, and Trigger.size
  • Understanding of when to use each context variable for accessing record data in different trigger scenarios

What is recursion in Trigger and how can we prevent it?

What to Listen For:

  • Understanding that recursion occurs when a trigger invokes itself in a loop, eventually hitting governor limits or the 16-level stack depth limit
  • Knowledge of prevention methods: static Boolean variables, static Sets to track processed IDs, static Maps for event tracking, or comparing Trigger.old values
  • Ability to explain practical examples like a trigger updating the same records it's monitoring and how to prevent the loop

What is the Apex Trigger Handler pattern?

What to Listen For:

  • Recognition that the handler pattern separates trigger logic from the trigger itself into dedicated handler classes
  • Understanding of benefits including better code organization, reusability, testability, and maintainability
  • Awareness that this is a best practice that keeps triggers lightweight with business logic in handler classes

What is Apex Trigger Framework?

What to Listen For:

  • Understanding that trigger frameworks provide standardized structures for organizing and managing trigger logic across an org
  • Knowledge of popular frameworks and their benefits for recursion prevention, order of execution control, and code maintainability
  • Practical experience implementing or working with trigger frameworks in real-world projects

When should we use Apex Trigger?

What to Listen For:

  • Recognition that triggers are appropriate for complex business logic that exceeds Flow capabilities
  • Understanding of scenarios requiring triggers: bulk processing, complex calculations, external system integrations, or performance-critical operations
  • Awareness that declarative tools should be evaluated first before resorting to trigger development

Does the Apex trigger run with sharing or without sharing?

What to Listen For:

  • Clear statement that Apex triggers run in system context (without sharing) by default
  • Understanding that triggers cannot have explicit sharing declarations unlike regular Apex classes
  • Awareness that to enforce sharing rules in triggers, you must call classes that use "with sharing" keywords

How many times does the trigger execute on an Upsert event?

What to Listen For:

  • Understanding that upsert operations trigger both insert and update events depending on whether records exist
  • Recognition that triggers may fire multiple times in a single upsert operation for different record sets
  • Awareness of the importance of bulkifying trigger logic to handle mixed insert/update scenarios efficiently

What is the difference between Trigger.New and Trigger.newMap?

What to Listen For:

  • Clear explanation that Trigger.new is a list of sObject records while Trigger.newMap is a map of record IDs to sObject records
  • Understanding that Trigger.newMap provides faster lookup performance when accessing specific records by ID
  • Recognition of appropriate use cases: use Trigger.new for iteration and Trigger.newMap for ID-based lookups
Integration & Web Services

How can we integrate into external REST web services?

What to Listen For:

  • Knowledge of using HTTP callouts to invoke external REST APIs from Salesforce
  • Understanding of JSON and XMLStreamWriter classes for building payloads that match external API specifications
  • Awareness of callout limitations, authentication methods, and error handling best practices

How can an external system integrate into Salesforce?

What to Listen For:

  • Recognition that external systems can utilize Salesforce's built-in REST API for creating, updating, and querying records
  • Understanding of custom Apex REST services for bespoke or niche integration requirements
  • Knowledge of authentication mechanisms like OAuth 2.0 for securing inbound integrations

How can we secure credentials used for outbound integrations?

What to Listen For:

  • Strong preference for Named Credentials which handle authentication automatically and keep credentials secure
  • Knowledge of Custom Metadata types as an alternative for storing credentials with environment-specific values and controlled access
  • Clear understanding that hard-coding credentials in code is a critical security violation and should never be done

What is web services?

What to Listen For:

  • Clear definition of web services as standardized methods for application-to-application communication over networks
  • Understanding of the two main types: SOAP (protocol-based) and REST (architectural style)
  • Recognition of when to use each type based on requirements for structure, security, and simplicity

What is the difference between SOAP and REST?

What to Listen For:

  • Understanding that SOAP is a protocol with strict standards while REST is an architectural style with more flexibility
  • Recognition that SOAP uses XML exclusively while REST supports multiple formats including JSON, XML, and others
  • Awareness that REST is generally simpler and more lightweight while SOAP offers built-in security and transaction standards

What is the difference between Enterprise WSDL and Partner WSDL?

What to Listen For:

  • Understanding that EnterpriseWSDL is strongly-typed and specific to a single org's schema, while Partner WSDL is loosely-typed and generic across orgs
  • Recognition that Enterprise WSDL must be regenerated whenever the schema changes, while Partner WSDL remains stable
  • Awareness that Enterprise WSDL offers better compile-time type checking while Partner WSDL provides more flexibility for multi-org integrations

What is an API and how does Salesforce use them?

What to Listen For:

  • Clear explanation that APIs (Application Programming Interfaces) are contracts that define how applications communicate
  • Knowledge of Salesforce's various APIs including REST, SOAP, Bulk, Metadata, Streaming, and Tooling APIs
  • Understanding of when to use each API type based on data volume, real-time requirements, and operation types

What authentication methods does Salesforce support for integrations?

What to Listen For:

  • Knowledge of OAuth 2.0 as the primary authentication protocol for modern integrations
  • Understanding of different OAuth flows: Web Server, User-Agent, JWT Bearer, and Username-Password
  • Awareness of session ID authentication and when it's appropriate versus OAuth methods

What is Platform Events and when should we use it?

What to Listen For:

  • Understanding that Platform Events enable event-driven architecture with publish-subscribe messaging
  • Recognition of use cases like real-time integration, decoupling systems, and notifying external systems of Salesforce changes
  • Knowledge that Platform Events support both inbound and outbound scenarios with guaranteed delivery

What is Change Data Capture and how does it differ from Platform Events?

What to Listen For:

  • Clear explanation that Change Data Capture automatically publishes change events for record creates, updates, deletes, and undeletes
  • Understanding that CDC is specifically for data synchronization while Platform Events are for custom business events
  • Recognition that CDC requires no code to set up and provides both standard and custom object support
Testing & Debugging

What is the minimum code coverage required to deploy to production?

What to Listen For:

  • Precise knowledge that 75% overall code coverage is required for production deployment
  • Understanding that each trigger must have at least 1% coverage individually
  • Recognition that while 75% is the minimum, best practice is to aim for higher coverage (80-90%+) for code quality

What are test classes in Salesforce?

What to Listen For:

  • Clear definition that test classes are Apex classes annotated with @isTest that verify functionality and business logic
  • Understanding that test classes don't count toward org limits and don't commit data to the database
  • Knowledge that test methods use System.assert methods to validate expected vs actual results

What is Test.startTest() and Test.stopTest()?

What to Listen For:

  • Understanding that these methods create a new context with fresh governor limits for the code being tested
  • Recognition that Test.stopTest() forces completion of asynchronous operations like future methods and batch jobs
  • Awareness that only one Test.startTest()/stopTest() pair can be used per test method

What is the purpose of Test.setMock()?

What to Listen For:

  • Clear explanation that Test.setMock() simulates HTTP callout responses without making actual external calls
  • Understanding that mock classes must implement HttpCalloutMock interface and define respond() method
  • Recognition that mocking is essential for testing integration code since test methods cannot make real HTTP requests

What is @testSetup and why would we use it?

What to Listen For:

  • Understanding that @testSetup methods create test data once that's available to all test methods in the class
  • Recognition that this improves test execution performance by avoiding redundant data creation
  • Awareness that each test method receives a fresh copy of the setup data, preventing test interdependencies

How do we test triggers in Salesforce?

What to Listen For:

  • Understanding that trigger testing requires performing DML operations that invoke the trigger logic
  • Knowledge of testing all trigger events (insert, update, delete, undelete) and both before/after contexts
  • Recognition of the importance of bulk testing with 200+ records to verify proper bulkification

What is System.runAs() and when should we use it?

What to Listen For:

  • Clear explanation that System.runAs() executes code in the context of a specific user for testing user-specific functionality
  • Understanding that it's used to test sharing rules, permission sets, profiles, and user-specific behaviors
  • Awareness that runAs() only enforces record access, not object or field-level security in test context

What are best practices for writing test classes?

What to Listen For:

  • Knowledge of key practices: test one thing per method, use meaningful test method names, create test data in tests (not @SeeAllData)
  • Understanding of testing positive, negative, and bulk scenarios for comprehensive coverage
  • Recognition of using assertions effectively and testing for expected exceptions with try-catch blocks

What debugging tools are available in Salesforce?

What to Listen For:

  • Familiarity with Debug Logs for viewing execution details, System.debug() statements, and exception traces
  • Knowledge of Developer Console with log filtering, checkpoints, and query editors
  • Understanding of VS Code Apex Replay Debugger for step-through debugging with breakpoints

How can we debug asynchronous Apex?

What to Listen For:

  • Understanding that asynchronous processes generate separate debug logs that must be located and analyzed
  • Knowledge of using System.debug() statements strategically and checking Apex Jobs or Apex Flex Queue for job status
  • Awareness of Test.stopTest() in test classes to force synchronous execution for easier debugging
Lightning Web Components

What is Lightning Web Components (LWC)?

What to Listen For:

  • Clear explanation that LWC is Salesforce's modern programming model built on web standards (HTML, CSS, JavaScript)
  • Understanding that LWC provides better performance than Aura components due to lightweight framework and browser-native features
  • Recognition that LWC is the recommended approach for new Lightning component development

What are the main files in an LWC component bundle?

What to Listen For:

  • Knowledge of the three required files: HTML (template), JavaScript (controller), and XML (metadata configuration)
  • Understanding of optional files: CSS for styling, SVG for icons, and additional JavaScript for utilities
  • Awareness that all files must share the same base name as the component folder

How do we pass data from parent to child component in LWC?

What to Listen For:

  • Clear explanation that parent components pass data via public properties decorated with @api in child components
  • Understanding that the parent sets these properties as HTML attributes when declaring the child component
  • Recognition that @api properties are reactive and automatically update the child component when changed

How do we pass data from child to parent component in LWC?

What to Listen For:

  • Understanding that child components communicate to parents by dispatching custom events using CustomEvent
  • Knowledge that parents listen for these events using oneventname handlers in the HTML template
  • Recognition that event.detail carries the data payload from child to parent

What is the difference between @api, @track, and @wire decorators?

What to Listen For:

  • Clear distinction: @api makes properties public, @track forces reactivity for complex objects (mostly deprecated), @wire connects to Salesforce data
  • Understanding that @track is rarely needed in modern LWC as primitive properties are automatically reactive
  • Knowledge that @wire can call Apex methods or use Lightning Data Service for efficient data retrieval

What is Lightning Data Service (LDS)?

What to Listen For:

  • Understanding that LDS provides data layer functionality with built-in caching, sharing rules enforcement, and field-level security
  • Recognition of benefits including no Apex required for basic CRUD operations and automatic UI updates across components
  • Knowledge of wire adapters (getRecord, getRecords) and imperative methods (createRecord, updateRecord, deleteRecord)

How do we call Apex methods from LWC?

What to Listen For:

  • Knowledge that Apex methods must be static, annotated with @AuraEnabled, and optionally cacheable=true
  • Understanding of two approaches: @wire decorator for automatic invocation or imperative calls using import and promises
  • Recognition of when to use cacheable vs non-cacheable based on data freshness requirements

What is component lifecycle in LWC?

What to Listen For:

  • Knowledge of lifecycle hooks: constructor(), connectedCallback(), renderedCallback(), disconnectedCallback(), and errorCallback()
  • Understanding of when each hook fires and appropriate use cases for each
  • Awareness that constructor() has restrictions (no DOM manipulation, no attribute access)

How do we handle errors in LWC?

What to Listen For:

  • Understanding of try-catch blocks for handling errors in imperative Apex calls
  • Knowledge of error handling in @wire using error property alongside data property
  • Familiarity with reduceErrors utility for formatting Apex error messages for user display

What is the difference between LWC and Aura Components?

What to Listen For:

  • Recognition that LWC uses web standards while Aura uses proprietary framework with custom syntax
  • Understanding that LWC offers better performance, smaller bundle sizes, and faster rendering
  • Awareness that LWC can be used within Aura components but not vice versa, facilitating gradual migration
Security & Best Practices

What are the different levels of security in Salesforce?

What to Listen For:

  • Comprehensive understanding of four security layers: Organization (login access), Object (CRUD), Field (read/edit), and Record (sharing rules)
  • Knowledge that security moves from least to most granular through these layers
  • Recognition that all layers must be considered for comprehensive security implementation

What is CRUD and FLS security?

What to Listen For:

  • Clear explanation that CRUD (Create, Read, Update, Delete) controls object-level access permissions
  • Understanding that FLS (Field-Level Security) controls individual field visibility and editability
  • Awareness that Apex doesn't enforce these automatically and requires WITH SECURITY_ENFORCED or Security methods

How can we enforce security in Apex code?

What to Listen For:

  • Knowledge of WITH SECURITY_ENFORCED clause in SOQL queries for object and field-level security
  • Understanding of Security.stripInaccessible() method for removing inaccessible fields from query results
  • Familiarity with Schema methods like isAccessible(), isCreateable(), isUpdateable() for manual permission checks

What are sharing rules and how do they work?

What to Listen For:

  • Understanding that sharing rules extend access beyond organization-wide defaults to specific users or groups
  • Knowledge of rule types: criteria-based and owner-based sharing rules
  • Recognition that sharing rules can only extend access, never restrict it

What is the difference between Profiles and Permission Sets?

What to Listen For:

  • Clear distinction that each user has exactly one Profile (baseline permissions) but can have multiple Permission Sets (additional permissions)
  • Understanding that Permission Sets can only extend permissions, never restrict them
  • Recognition that Permission Sets are more flexible and recommended for managing additional access

What are best practices for handling sensitive data in Apex?

What to Listen For:

  • Never hard-code credentials or sensitive data in code; use Custom Settings, Custom Metadata, or Named Credentials
  • Always enforce sharing rules with "with sharing" keyword unless explicitly required otherwise
  • Implement proper error handling that doesn't expose sensitive system information to users

What is SOQL Injection and how can we prevent it?

What to Listen For:

  • Understanding that SOQL Injection occurs when user input is directly concatenated into dynamic SOQL queries
  • Knowledge of prevention methods: use bind variables, String.escapeSingleQuotes(), or type-casting for numeric values
  • Recognition that static queries with bind variables are always preferred over dynamic SOQL when possible

What are Organization-Wide Defaults (OWD)?

What to Listen For:

  • Clear explanation that OWD sets the baseline record access level for each object across the organization
  • Knowledge of access levels: Private, Public Read Only, Public Read/Write, and Controlled by Parent (for detail records)
  • Understanding that OWD should be as restrictive as possible, with sharing rules extending access as needed

What is Role Hierarchy and how does it affect record access?

What to Listen For:

  • Understanding that Role Hierarchy automatically grants record access to users higher in the hierarchy
  • Knowledge that this applies only when OWD is set to Private or Public Read Only
  • Recognition that "Grant Access Using Hierarchies" checkbox can disable this for sharing rules

What are manual sharing and Apex managed sharing?

What to Listen For:

  • Understanding that manual sharing allows users to grant access to individual records via Share button
  • Knowledge that Apex managed sharing uses Share objects (like AccountShare) to programmatically grant record access
  • Awareness that Apex sharing is necessary for complex, custom sharing logic beyond declarative capabilities
Data Management & Migration

What tools are available for data migration in Salesforce?

What to Listen For:

  • Knowledge of Data Loader for bulk operations (insert, update, upsert, delete) with up to 5 million records
  • Understanding of Data Import Wizard for simpler imports (up to 50,000 records) with automatic duplicate matching
  • Awareness of third-party ETL tools like MuleSoft, Informatica, or Jitterbit for complex integrations

What is the difference between Data Loader and Data Import Wizard?

Whatcontent-item__box-title">What to Listen For:

  • Clear distinction: Data Loader handles up to 5 million records and requires installation, while Data Import Wizard handles up to 50,000 records and is web-based
  • Understanding that Data Loader supports all DML operations including delete and hard delete, while Import Wizard only supports insert and update
  • Recognition that Data Import Wizard offers built-in duplicate matching and is more user-friendly for standard objects

What is an External ID field and when should we use it?

What to Listen For:

  • Understanding that External IDs are custom fields marked to contain unique identifiers from external systems
  • Knowledge that External IDs enable upsert operations to match records without knowing Salesforce IDs
  • Recognition that External IDs are automatically indexed for better query performance on large data volumes

What is the Bulk API and when should we use it?

What to Listen For:

  • Clear explanation that Bulk API is designed for loading or querying large data sets asynchronously with better performance
  • Understanding that Bulk API processes data in batches and is ideal for operations involving thousands or millions of records
  • Knowledge of Bulk API 2.0 improvements including higher throughput and simpler implementation compared to Bulk API 1.0

How can we prevent duplicate records in Salesforce?

What to Listen For:

  • Knowledge of Duplicate Rules that identify potential duplicates based on matching rules during record creation or editing
  • Understanding of Matching Rules that define the criteria for identifying duplicate records using fuzzy or exact matching
  • Awareness of options to block duplicates, allow with alerts, or report only, depending on business requirements

What is Data Skew and how does it impact performance?

What to Listen For:

  • Understanding that Data Skew occurs when a single parent record has an excessive number of child records (typically 10,000+)
  • Recognition that skew can cause lock contention, slower processing, and timeout issues during operations
  • Knowledge of mitigation strategies: redesigning data model, using asynchronous processing, or implementing record locking strategies

What are Big Objects and when should we use them?

What to Listen For:

  • Clear explanation that Big Objects store and manage massive data volumes (millions to billions of records) with consistent performance
  • Understanding that Big Objects have limitations: no triggers, workflows, or standard UI, and queries must filter on indexed fields
  • Recognition of use cases like historical data archiving, audit trails, or IoT sensor data storage

How can we optimize SOQL queries for better performance?

What to Listen For:

  • Knowledge of using selective filters on indexed fields (Id, Name, External ID, unique fields) to leverage query optimizer
  • Understanding of limiting result sets with WHERE clauses, avoiding non-selective queries like open-ended date ranges
  • Awareness of using SOQL FOR loops for processing large result sets without hitting heap size limits

What is the difference between Upsert and Insert/Update?

What to Listen For:

  • Clear explanation that Upsert combines insert and update in a single operation based on External ID or Salesforce ID matching
  • Understanding that Upsert creates new records when no match is found and updates existing records when a match exists
  • Recognition that Upsert is more efficient for data synchronization scenarios than separate insert/update operations

How can we handle large data volumes in triggers?

What to Listen For:

  • Understanding of bulkification principles: processing collections rather than individual records, avoiding SOQL/DML in loops
  • Knowledge of using Maps and Sets for efficient data lookups instead of nested loops or repeated queries
  • Awareness that asynchronous processing (Queueable, Batch) may be necessary for operations that exceed synchronous limits
Deployment & DevOps

What deployment methods are available in Salesforce?

What to Listen For:

  • Knowledge of Change Sets for moving metadata between related orgs with a point-and-click interface
  • Understanding of Salesforce CLI and metadata API for script-based deployments and CI/CD integration
  • Familiarity with third-party tools like Copado, Gearset, or AutoRABIT for enterprise-level deployment management

What is the difference between Change Sets and Metadata API deployment?

What to Listen For:

  • Clear distinction: Change Sets are UI-based and require deployment connection between orgs, while Metadata API is code-based and more flexible
  • Understanding that Metadata API supports version control integration and automation, making it preferred for DevOps practices
  • Recognition that Change Sets are simpler for small teams but don't scale well for complex deployments or multiple environments

What are the different types of Sandboxes?

What to Listen For:

  • Comprehensive knowledge of four sandbox types: Developer (metadata only), Developer Pro (more storage), Partial Copy (metadata + sample data), and Full (complete copy)
  • Understanding of refresh intervals: Developer/Developer Pro (daily), Partial Copy (5 days), Full (29 days)
  • Recognition of appropriate use cases: Developer for development, Partial for QA/testing, Full for staging/performance testing

What is Continuous Integration/Continuous Deployment (CI/CD) in Salesforce?

What to Listen For:

  • Understanding that CI/CD automates testing and deployment processes to reduce manual errors and accelerate delivery
  • Knowledge of tools like Jenkins, GitHub Actions, GitLab CI, or Azure DevOps integrated with Salesforce CLI
  • Recognition of key practices: automated testing, version control, automated deployments, and environment management

What is a Scratch Org and how does it differ from a Sandbox?

What to Listen For:

  • Clear explanation that Scratch Orgs are temporary, configurable environments created from source control for development and testing
  • Understanding that Scratch Orgs are part of Salesforce DX and support source-driven development workflows
  • Recognition that Scratch Orgs are disposable (7-30 days) while Sandboxes are persistent copies of production

What is Salesforce DX?

What to Listen For:

  • Understanding that Salesforce DX is a development approach emphasizing source-driven development, version control, and team collaboration
  • Knowledge of key components: Scratch Orgs, Salesforce CLI, source format (not metadata format), and Dev Hub
  • Recognition that DX enables modern DevOps practices and is recommended for team-based development

How can we manage environment-specific configurations?

What to Listen For:

  • Knowledge of Custom Metadata Types for deployable, environment-specific settings that can be packaged and deployed
  • Understanding of Custom Settings for configuration data, though less flexible than Custom Metadata for deployment
  • Awareness of Named Credentials for managing environment-specific endpoint URLs and authentication

What are deployment best practices?

What to Listen For:

  • Understanding of validation-before-deployment: always validate changes in production before actual deployment
  • Knowledge of deployment windows: schedule during low-usage periods, communicate with stakeholders, have rollback plans
  • Recognition of the importance of comprehensive testing, documentation, and post-deployment verification

What is the role of version control in Salesforce development?

What to Listen For:

  • Understanding that version control (Git, SVN) tracks changes, enables collaboration, and serves as source of truth
  • Knowledge of branching strategies: feature branches, development branch, and main/production branch
  • Recognition that version control enables code reviews, change history, and easier conflict resolution in team environments

How can we handle failed deployments?

What to Listen For:

  • Understanding of analyzing deployment logs to identify specific failures (test failures, missing dependencies, validation errors)
  • Knowledge of rollback strategies: revert to previous version using version control or deploy previous working state
  • Awareness of quick deploy feature for validated change sets to reduce deployment time during remediation
Performance Optimization

What are common performance bottlenecks in Salesforce?

What to Listen For:

  • Identification of SOQL queries in loops, non-selective queries on large data volumes, and excessive DML operations
  • Understanding of view state issues in Visualforce pages and inefficient Lightning component rendering
  • Recognition of trigger recursion, large batch sizes, and inefficient algorithms as performance issues

How can we optimize SOQL queries?

What to Listen For:

  • Knowledge of using indexed fields in WHERE clauses: Id, Name, OwnerId, CreatedDate, SystemModStamp, External IDs
  • Understanding of selective queries: filters that return less than 10% of records or 100,000 records, whichever is smaller
  • Awareness of using LIMIT clauses, avoiding wildcard filters in indexed fields, and proper use of relationship queries

What is bulkification and why is it important?

What to Listen For:

  • Clear explanation that bulkification is designing code to handle multiple records efficiently rather than one at a time
  • Understanding that bulkification prevents hitting governor limits by processing collections instead of individual records
  • Recognition of key principles: no SOQL/DML in loops, use Maps/Sets for lookups, process Trigger.new/old as collections

How can we reduce view state in Visualforce pages?

What to Listen For:

  • Knowledge of using transient keyword for variables that don't need to be maintained across postbacks
  • Understanding of limiting data in controller variables, using pagination, and avoiding unnecessary getter/setter methods
  • Awareness of view state limits (135KB for standard pages, 170KB for pages with warnings enabled)

What caching strategies can we use in Salesforce?

What to Listen For:

  • Knowledge of Platform Cache for storing frequently accessed data across sessions and users (Org Cache and Session Cache)
  • Understanding of @AuraEnabled(cacheable=true) for caching Apex method results in Lightning components
  • Awareness of static variables for caching within a single transaction context

What is asynchronous processing and when should we use it?

What to Listen For:

  • Understanding that asynchronous processing (Future, Queueable, Batch, Scheduled) runs in separate threads with higher governor limits
  • Recognition of use cases: long-running operations, callouts from triggers, processing large data volumes, scheduled jobs
  • Knowledge of trade-offs: asynchronous methods have delays and different debugging approaches compared to synchronous

How can we optimize Lightning Web Components performance?

What to Listen For:

  • Knowledge of using @wire with cacheable Apex methods for efficient data retrieval and automatic caching
  • Understanding of conditional rendering to minimize DOM elements and lazy loading for heavy components
  • Awareness of avoiding unnecessary re-renders by properly managing reactive properties and using event delegation

What tools can we use to identify performance issues?

What to Listen For:

  • Familiarity with Developer Console's Query Plan tool for analyzing SOQL query performance and indexing
  • Knowledge of Debug Logs with CPU time, heap size, and SOQL/DML statements for identifying bottlenecks
  • Understanding of Event Monitoring and Transaction Security for enterprise-level performance monitoring and analysis

What is the impact of workflow rules and process builders on performance?

What to Listen For:

  • Understanding that excessive automation tools can slow down record saves and trigger multiple evaluation cycles
  • Recognition that consolidating automations and using Flow (which is more performant) improves overall performance
  • Awareness of order of execution and how multiple automations can cascade, causing performance degradation

How can we handle large data volumes efficiently?

What to Listen For:

  • Knowledge of Batch Apex for processing millions of records in chunks with separate governor limits per batch
  • Understanding of Bulk API for data loading operations on large datasets with better performance than standard API
  • Awareness of data archiving strategies using Big Objects or external systems to keep active data volumes manageable
Start Here
Get Salesforce Developer Job Description Template
Create a compelling salesforce developer job posting before you start interviewing

How X0PA AI Helps You Hire Salesforce Developer

Hiring Salesforce Developers shouldn't mean spending weeks screening resumes, conducting endless interviews, and still ending up with someone who leaves in 6 months.

X0PA AI uses predictive analytics across 6 key hiring stages, from job posting to assessment to find candidates who have the skills to succeed and the traits to stay.

Job Description Creation

Multi-Channel Sourcing

AI-Powered Screening

Candidate Assessment

Process Analytics

Agentic AI