Skip to main content

Top 10 Salesforce Interview Questions: Data Skew, Lightning Out, Integration Patterns & Security

Technical interviews for Salesforce developers and architects test your understanding of enterprise data modeling, high-volume performance bottlenecks, cross-platform integrations, and security frameworks. Here is a clear breakdown of 10 essential interview questions and architectural concepts.

In plain words: Senior Salesforce technical interviews evaluate how well you design scalable architectures—avoiding record-locking bottlenecks, orchestrating integration patterns, and structuring clean data models.

1. Data Architecture: Data Skew

Question: What is Data Skew in Salesforce, and how do you prevent it?

Data Skew occurs when an unbalanced data distribution creates performance bottlenecks, lock contentions, and slow sharing recalculations. It generally appears in three major forms:

  • Account Data Skew: A single parent Account record is linked to more than 10,000 child records (such as Contact or Opportunity). Updating child records triggers parent record locks that block concurrent transactions.
  • Ownership Skew: A single user (such as a generic integration user or system admin) owns more than 10,000 records of a specific object. If this user has an assigned role, sharing calculations must re-evaluate every time role hierarchy updates occur.
  • Lookup Skew: Excessive lookup relationships point to a single target record across hundreds of thousands of child records, leading to lookup lock failures during bulk DML inserts.
Architecture Trap: Never assign a role in the role hierarchy to generic API integration users or data-loading admin accounts that own vast quantities of records. Leaving integration users without a role prevents costly group membership sharing recalculations.

2. Declarative Automation: Time-Based Actions

Question: When are time-based automated actions restricted in Salesforce?

In legacy Workflow Rules and modern Record-Triggered Flows (Scheduled Paths), time-dependent actions cannot be configured if the evaluation criteria is set to trigger "Every time a record is created or edited" without an entry criteria change constraint. Allowing time-based queues to fire on every general edit without state evaluation would continuously overwrite and enqueue redundant queue records.

3. Frontend Fundamentals: CSS Box Model (Padding vs. Margin)

Question: What is the technical difference between Padding and Margin in CSS?

  • Padding: The internal space between the content of an HTML element and its own border. Padding expands the clickable area and background color inside the element boundary.
  • Margin: The external space between an element's border and surrounding sibling or parent elements. Margin determines layout spacing between distinct components on the page.

4. Lightning Controllers: Method Resolution

Question: How do you call a controller method in the Lightning Component framework?

In the Aura framework, client-side controller methods and server-side Apex actions are invoked using the c value provider:

  • Client-Side Action: onclick="{!c.handleClick}" executes the JavaScript controller function.
  • Server-Side Action: component.get("c.apexMethodName") accesses the @AuraEnabled Apex controller method.
  • Modern LWC Alternative: In Lightning Web Components (LWC), JavaScript methods are bound directly in HTML templates without providers (e.g., onclick={handleClick}), and Apex methods are imported as ES6 modules via @salesforce/apex/ControllerName.methodName.

5. Hybrid UI: Embedding Lightning Components in Visualforce (Lightning Out)

Question: What is the step-by-step process to render a Lightning component inside a Visualforce page?

Step-by-Step Procedure: Implementing Lightning Out
  • Step 1: Add the <apex:includeLightning/> tag at the top of your Visualforce page markup.
  • Step 2: Create an Aura dependency application (e.g., myApp.app) that extends ltng:outApp and declares dependencies via <aura:dependency resource="c:myComponent"/>.
  • Step 3: Call $Lightning.use() to initialize the dependency app, and instantiate your component dynamically using $Lightning.createComponent() inside a target <div> container.
<apex:page>
    <apex:includeLightning/>
    <div id="lightningContainer"/>

    <script>
        $Lightning.use("c:LightningDependencyApp", function() {
            $Lightning.createComponent(
                "c:accountViewerLWC",
                { recordId: "{!$CurrentPage.parameters.id}" },
                "lightningContainer",
                function(cmp) {
                    console.log("Component injected successfully");
                }
            );
        });
    </script>
</apex:page>

6. Enterprise Integration Patterns in Salesforce

Question: What are the primary integration architecture patterns supported by Salesforce?

Salesforce Integration Design Patterns:
  • Request and Reply (Synchronous): Salesforce calls a remote system via HTTP/REST and waits for an immediate response before continuing the transaction.
  • Fire and Forget (Asynchronous): Salesforce publishes a message or event (e.g., via Platform Events or Outbound Messaging) without blocking execution for the receiver's status.
  • Batch Data Synchronization: High-volume data transfers processed on scheduled intervals using the Salesforce Bulk API 2.0 or ETL middleware (MuleSoft).
  • Remote Call-In: An external system authenticates via OAuth 2.0 and executes CRUD/DML operations against standard Salesforce REST/SOAP endpoints.
  • UI Update Based on Data Changes: Real-time streaming updates pushed directly to the browser UI using Change Data Capture (CDC) or Lightning Message Channel (LMC).
  • Data Virtualization: Accessing real-time external data without storing copies in Salesforce database tables using Salesforce Connect and External Objects via OData adapters.

7. Service Cloud Architecture: Core Standard Objects

Question: What are the foundational standard objects in Service Cloud?

Service Cloud solutions center on customer support delivery through a interconnected suite of standard objects:

  • Case: The core record tracking a customer query, issue, or support ticket.
  • CaseMilestone & Entitlement: Enforce customer Service Level Agreements (SLAs) and support contracts.
  • Knowledge__kav: Stores verified support articles, FAQs, and troubleshooting solutions.
  • LiveChatTranscript / Conversation: Logs multi-channel communication records across digital engagement channels.

8. Sales Cloud Lifecycle: Lead Conversion Mechanics

Question: What objects are automatically created during Lead conversion?

When converting a qualified Lead in Salesforce:

  • Mandatory Objects: An Account (Company) and a Contact (Individual Person) are always created or matched to existing records.
  • Optional Object: An Opportunity (Deal pipeline) can be created simultaneously or bypassed by selecting the "Do not create a new opportunity upon conversion" checkbox.

9. Sharing & Access: Public Groups vs. Queues

Question: What is the fundamental difference between a Public Group and a Queue?

  • Public Group: A collection of individual users, roles, and territories used for granting record access and sharing rules. A Public Group can never be the owner of a record.
  • Queue: A holding bin used for record ownership and workload distribution. Records (such as Case, Lead, or custom objects) are owned by the queue until individual queue members accept and reassign ownership to themselves.

10. Architecture Boundaries: Inbound vs. Outbound Integration

Question: What is the difference between Inbound and Outbound Integrations?

  • Inbound Integration: An external application initiates an API request into Salesforce to query, create, or modify Salesforce records (Salesforce acts as the API Server / Host).
  • Outbound Integration: Salesforce initiates an HTTP callout or event transmission to an external third-party service (Salesforce acts as the Client / Consumer).
Core Rule: Mitigate Data Skew by distributing child records evenly across parent accounts, secure outbound integrations using Named Credentials, and apply appropriate integration patterns to decouple enterprise system dependencies.