Salesforce Developer interview questions
100 live · 28 easy · 34 medium · 38 hard
Top 10 must-know
CuratedThe 10 questions every Salesforce Developer candidate should be able to answer cold. Mix of difficulties.
- 1What is Apex and how does it differ from Java?easy
- 2What is SOQL and how does it differ from SQL?easy
- 3What is an Apex Trigger and what are trigger context variables?easy
- 4How do you bulkify a trigger and why does it matter?medium
- 5What are the async options in Apex (@future, Queueable, Batch, Schedulable) and when use each?medium
- 6What's the order of execution within a trigger transaction?medium
- 7Walk me through writing a properly bulkified trigger handler.hard
- 8Walk me through Apex governor limits in detail and how to stay under them.hard
- 9How do you design Apex classes for different sharing requirements?medium
- 10What are the canonical Apex bulk patterns?medium
All 100 questions
easy
- What is Apex and how does it differ from Java?
- What is SOQL and how does it differ from SQL?
- What is an Apex Trigger and what are trigger context variables?
- What is the difference between SOQL and SOSL?
- What is DML in Apex and what are its limits?
- What is an sObject in Apex?
- What's the difference between Lightning Web Components (LWC) and Aura Components?
- What is an Apex Test Class and why is it required?
- What is a Custom Metadata Type and why use it?
- What is Visualforce and where does it stand today?
- What is a Lightning Web Component, technically?
- What is a Static Resource and when do you use one?
- What is the Developer Console and what is it good for?
- What is the Salesforce CLI and what can you do with it?
- What is a Scratch Org and how does it differ from a Sandbox?
- What is Salesforce DX and what are its core concepts?
- What is Lightning Data Service (LDS) and when do you use it?
- How do LWC components communicate with each other?
- How do you serialize and deserialize JSON in Apex?
- How do you make an HTTP callout from Apex?
- How does Apex handle DateTime, Date, and Time, and what are common pitfalls?
- What are the differences between List, Set, and Map in Apex, and when do you use each?
- What are Schema describe calls and when do you use them?
- What is Salesforce Connect and what are External Objects?
- What is the Custom Notification API and how do you use it from Apex?
- How do you send email from Apex?
- What is Salesforce Functions / Heroku integration?
- How do you handle inbound webhooks in Salesforce?
medium
- How do you bulkify a trigger and why does it matter?
- What's the difference between database.insert() and the insert statement?
- What are the async options in Apex (@future, Queueable, Batch, Schedulable) and when use each?
- What's the order of execution within a trigger transaction?
- How do governor limits differ between synchronous and asynchronous Apex?
- What is a Wrapper Class in Apex and when do you use one?
- What are the differences between static, instance, and global methods in Apex?
- How does Apex handle null values, and what patterns help avoid NullPointerException?
- What's the difference between `with sharing`, `without sharing`, and `inherited sharing` in Apex?
- How does the Apex testing framework handle test data isolation?
- What is `@AuraEnabled` and how does it differ from `@InvocableMethod`?
- How do you design Apex classes for different sharing requirements?
- What is the difference between SOQL and Aggregate SOQL?
- What is a Managed Package and what are the implications for developers?
- How does Apex handle exceptions and what is the Exception class hierarchy?
- When would you choose an Apex Trigger over a Record-Triggered Flow?
- How would you handle an integration that needs to call an external API for 100 records?
- From a developer perspective, when do you pick Custom Settings over Custom Metadata?
- How do you publish and consume Platform Events from Apex?
- What is Change Data Capture and how does it differ from Platform Events?
- How do you migrate Visualforce pages to LWC at scale?
- What are Streaming API, CometD, and the Pub/Sub API, and when do you use them?
- What are the canonical Apex bulk patterns?
- What is Dynamic Apex and when do you use it?
- What are the patterns for high-quality Apex unit tests?
- How do you implement Apex Managed Sharing in code?
- Why can't you make HTTP callouts directly from a trigger, and how do you work around it?
- How do you avoid "soup" in a growing Apex codebase — what design patterns help?
- How would you build a typeahead search component in LWC + Apex?
- What is the Apex Recipes repository and what patterns does it teach?
- How do you mock dependencies in Apex tests beyond HTTP callouts?
- How do you implement feature toggles in Apex?
- What is a Salesforce DX shape and what does it represent?
- How does Apex parse complex/nested JSON?
hard
- Walk me through writing a properly bulkified trigger handler.
- How do you debug a SOQL query returning unexpected results in Apex?
- Walk me through Apex governor limits in detail and how to stay under them.
- How do you handle recursion in triggers?
- What is the Platform Cache and when do you use it?
- How do you write tests for async Apex (@future, Queueable, Batch)?
- Explain the differences between SOAP, REST, and Apex web services.
- How would you architect a long-running Apex job processing 10M records?
- Walk me through writing a custom REST endpoint in Apex for an external system.
- How do you handle large file uploads and downloads in Apex?
- From a transaction-state perspective, what is the difference between @future, Queueable, and Batch?
- How do you architect Apex code for a multi-tenant managed package?
- Walk me through writing a complex SOQL query with multiple joins, aggregations, and bind variables.
- How do you debug a complex interaction between a Flow and an Apex Trigger?
- What is the difference between immediate, time-based, and scheduled actions in Salesforce, implementation-level?
- How do you implement Salesforce DX-driven CI/CD for an Apex/LWC project?
- How do you optimise LWC performance for a heavy page?
- How do you prevent SOQL injection in Apex?
- How do you migrate Aura components to LWC?
- How do you orchestrate complex async workflows with Apex (chained Queueables, Batch sequences)?
- How do you read and analyse Apex Debug Logs effectively?
- How do you write Jest tests for LWC components?
- How do you architect Apex code for orgs with Large Data Volumes (LDV)?
- How do you handle Apex class versioning over the lifetime of an org or package?
- How would you architect a real-time integration with an external system?
- What is the difference between Aura Locker, Lightning Locker, and Lightning Web Security?
- How do you debug a flaky Apex test that sometimes passes and sometimes fails?
- How would you design Apex that fans out to many external systems and aggregates results?
- How would you design Apex code for an org that may be acquired and migrated to a different Salesforce instance?
- How would you build Apex that interacts with Agentforce / Einstein AI?
- What habits separate junior Apex developers from senior ones?
- When would you build a custom LWC vs use an AppExchange component?
- How would you build a queue-based worker pattern in Apex?
- How do you design Apex classes for extensibility — letting other code customize behavior without modifying yours?
- How do you architect error recovery in a complex Apex system — retries, dead-letter, alerts?
- What are the patterns for handling bulk data loads (1M+ records) into Salesforce?
- When designing a new automation, what's your decision framework for Apex vs Flow vs Process Builder vs Trigger Framework?
- How would you modernize a legacy Apex/VF org over 1-2 years?