Top Salesforce Developer Interview Questions and Answers: Core Architecture, Apex & Modern Best Practices
Technical interviews for Salesforce Developer positions have shifted significantly in recent years. Today's hiring panels expect candidates to demonstrate a solid grasp of modern architecture—including modern CI/CD with the Salesforce CLI, secure data queries with WITH USER_MODE, the retirement of legacy Workflow Rules in favor of Flow and Apex, and asynchronous processing scale. Below is a curated breakdown of the top technical questions, complete with architect-grade answers and code examples.
1. What is the Difference Between an Apex Trigger and Record-Triggered Flow?
Q: How do you choose between declarative Flow automation and Apex Triggers?
While legacy Workflow Rules and Process Builder have been retired by Salesforce, Record-Triggered Flows and Apex Triggers serve complementary roles on the modern platform:
- Apex Triggers: Programmatic handlers capable of handling high-throughput bulk transactions, complex collection transformations, fine-grained recursion control, custom cryptography, and high-frequency external integrations.
- Record-Triggered Flows: Low-code declarative automations ideal for straightforward same-record field updates (Fast Field Updates) and standard cross-object operations maintained by admins and business analysts.
- Complex Logic / Deep Maps: Choose Apex Trigger with an established handler framework.
- Standard Same-Record Updates: Choose Record-Triggered Flow (Before-Save) for rapid configuration.
- High Data Volume (Bulk Ingestion): Choose Apex to prevent CPU timeouts and maintain strict query control.
- Cross-Department Maintainability: Prefer Flow when business teams require visual maintenance.
2. What are Governor Limits and How Do You Design for Them?
Q: Explain Salesforce Governor Limits and how you avoid hitting them.
Because Salesforce operates as a multi-tenant cloud where multiple customers share computing hardware, Governor Limits are runtime constraints enforced by the Apex engine to prevent runaway processes from monopolizing resources.
- Synchronous SOQL Limit: 100 queries per transaction.
- Synchronous DML Limit: 150 statements (affecting up to 10,000 total records).
- Maximum CPU Timeout: 10,000 ms (synchronous) / 60,000 ms (asynchronous).
- Heap Size Limit: 6 MB (synchronous) / 12 MB (asynchronous).
List or Map and execute a single database operation outside the loop.
3. How Do You Optimize SOQL Queries for Enterprise Scale?
Q: What makes a SOQL query "selective" and how do you ensure fast query execution?
When an object holds over 200,000 records (Large Data Volume), non-selective SOQL queries result in full table scans that degrade performance and cause CPU timeouts:
- Use Indexed Fields in Filters: Filter records using standard indexed fields (
Id,Name,OwnerId,CreatedDate) or custom fields marked as External ID or Unique. - Avoid Negative Filter Operators: Operators like
!=,NOT LIKE, andEXCLUDEScannot use standard b-tree indexes. - Enforce User Mode Security: Always append
WITH USER_MODEto queries to automatically enforce object and Field-Level Security (FLS).
// Selective, secure query following modern Salesforce standards
List<Contact> activeContacts = [
SELECT Id, FirstName, LastName, Email
FROM Contact
WHERE AccountId = :targetAccountId
AND IsActive__c = TRUE
WITH USER_MODE
LIMIT 200
];
4. Compare Relationship Types: Lookup, Master-Detail & Many-to-Many
Q: What are the key architectural differences between Lookup and Master-Detail relationships?
| Feature | Lookup Relationship | Master-Detail Relationship |
|---|---|---|
| Record Dependency | Loose link; child can exist without parent | Tight coupling; child is deleted if parent is deleted (Cascade Delete) |
| Security & Ownership | Child has its own Owner field and sharing rules | Child inherits Owner and security settings directly from the Master record |
| Roll-Up Summary Fields | Not supported natively (requires Flow or Apex) | Supported natively on the Master object (SUM, COUNT, MIN, MAX) |
| Relationship Limit | Up to 40 lookups per custom object | Maximum 2 master-detail relationships per custom object |
5. How Do You Structure Modern Exception Handling and Logging in Apex?
Q: How should enterprise Apex code handle exceptions and rollbacks?
Standard try-catch blocks that merely debug errors to the system log fail silently in production. Enterprise architectures rely on dedicated logging frameworks and database savepoints:
Savepoint sp = Database.setSavepoint();
try {
// Perform critical database operations
update as user primaryAccounts;
insert as user relatedTasks;
} catch (DmlException dmlEx) {
// Roll back changes to prevent partial data corruption
Database.rollback(sp);
// Publish an error log record or Platform Event for admin alerting
ErrorLoggerService.logException(dmlEx, 'AccountProcessor', 'updateAccounts');
throw new CustomApplicationException('Operation failed. Rolled back all changes: ' + dmlEx.getMessage());
}
6. How Do You Manage Deployments and CI/CD Pipelines in Modern Salesforce?
Q: What tools and methodologies do you use for source-driven development?
- Salesforce CLI (
sf): Drives automated deployments, scratch org provisioning, and metadata synchronization. - Source-Driven Git Branching: Source of truth lives in Git repositories rather than directly in development sandboxes.
- Automated CI/CD Validation: Every pull request triggers automated unit test runs (
--test-level RunLocalTests) and static code analysis (PMD / Salesforce Code Analyzer) before merging into staging and production branches.
7. Core Developer Best Practices & Key Rules
- Use the Modern Assert Class: Replace deprecated
System.assertEquals()withAssert.areEqual(expected, actual, message)in all unit tests. - Adopt Asynchronous Frameworks: Choose Queueable Apex for sequential job chaining and complex object parameters, and Batch Apex for processing millions of historical records.
- Enforce Strict FLS and CRUD: Always use
WITH USER_MODEon SOQL andas useron DML statements to ensure custom code respects permission sets and profile restrictions.
Summary
Acing a Salesforce developer interview requires articulating both the "how" and the "why" behind your technical decisions. By demonstrating an in-depth understanding of Governor Limit management, secure SOQL patterns, trigger handler frameworks, and modern source-driven CI/CD practices, you can showcase true enterprise engineering capability and stand out to hiring managers.