Salesforce Developer Interview Questions
Salesforce developer interview questions and answers
Here is list of all Salesforce developer interview questions:
- What is Salesforce?
- What is Cloud computing?
- What is CRM?
- What is PaaS?
- What is SaaS?
- What is IaaS?
- What are different Salesforce Editions?
- What is Master-detail relationship?
- What is Many-to-many relationship?
- What is Organization-wide defaults?
- What is role hierarchy?
- What are the difference between a Role and Profile?
- What are Sharing Rules?
- What is Manual sharing?
- What is Profile?
- What is Apex?
- What is a Trigger?
- What are the various event on which a trigger can fire?
- What are different type of Triggers?
- What are the considerations while implementing the Triggers?
- What is batch class in Salesforce?
- What is Salesforce Lightning?
- What are the different Lightning component bundles?
- What is Lightning Experience?
- What is Lightning Design System?
- What happens to my existing Visualforce Pages?
- What are the type of events into Salesforce Lightning component?
- What is the basic difference between Application Event and Component Event?
- Component events vs Application events. Which one I should use?
- Can we Include One Lightning component to another ?
- How can we use Lightning Components with the Salesforce1 Mobile App ?
- How can we use a lightning component in a VisualForce Page?
- Can we integrate Lightning components with another framework like Angular?
- Can we include external JavaScript/CSS libraries like jQuery, bootstrap in components?
- How to ensure FLS while working with Lightning Component?
- How can we display loading spinner in lightning component?
- How can we conditionally display content in lightning component?
- What is the use of force:hasRecordId interface?
- How to get current record id in lightning component?
- What is a FlexiPage in lightning?
- How can we deploy lightning components?
- What Is Lightning Data Service?
- What are List of Global value providers in lightning?
- How to create popup in lightning component?
Here is list of all Salesforce developer interview questions and answers:
What is Salesforce?
Salesforce is the world’s #1 customer relationship management (CRM) platform. Salesforce provides cloud-based, CRM applications for sales, service, marketing, and more.
Salesforce has essentially changed how enterprise software is delivered and used. Its software is cloud-based and hence doesn’t need IT experts to set up anything. Salesforce has defined the ideal way as how to connect with customers. Building a meaningful and lasting bond with the customers, identifying their needs, address problems faster and deploy apps that are customer-focused is all possible through Salesforce.
Salesforce Technologies is one of the leading and very hot Technology in IT industry. Through Salesforce.com Technology thousands of Job opportunity are created for Salesforce developers and Salesforce Administration Job Seekers. As per Forbes magazine, nearly 55% of enterprises predict cloud computing will enable new business model in three years. So Salesforce is one of the Cloud Computing Technologies which have bright future in the upcoming years. Salesforce provides different enterprise cloud computing applications to all size industries and businesses.
Salesforce applications are provided on a subscription basis primarily through direct sales effort and indirectly through partners.
What is Cloud computing?
Cloud computing is a kind of outsourcing of computer programs. Using cloud computing, users are able to access software and applications from wherever they are; the computer programs are being hosted by an outside party and reside in the cloud. This means that users do not have to worry about things such as storage and power, they can simply enjoy the end result.
Cloud computing is shared pools of configurable computer system resources and higher-level services that can be rapidly provisioned with minimal management effort, often over the Internet. Cloud computing relies on sharing of resources to achieve coherence and economies of scale, similar to a public utility.
What is CRM?
CRM means “Customer Relationship Management “. We can understand from the full form where CRM is an application used to automate Sales and marketing functions by a using a Software called CRM Software. By using CRM Software every Company / Organization plans to increase their revenues and profits. This strategy of increasing revenue is done mainly by attracting Customers, clients, Sales etc.
What is PaaS?
Platform as a Service (PaaS)
The branch of cloud computing that allows users to develop, run, and manage applications without having to get caught up in code, storage, infrastructure and so on.
There are several types of PaaS. Every PaaS option is either public, private, or a hybrid mix of the two. Public PaaS is hosted in the cloud, and its infrastructure is managed by the provider. Private PaaS, on the other hand, is housed in onsite servers or private networks and is maintained by the user. Hybrid PaaS uses elements from both public and private and is capable of executing applications from multiple cloud infrastructures.
What is SaaS?
Software as a Service (SaaS)
Using the cloud, software such as an internet browser or application is able to become a usable tool.
What is IaaS?
Infrastructure as a Service (IaaS)
A third party hosts elements of infrastructure, such as hardware, software, servers, and storage, also providing backup, security, and maintenance.
What are different Salesforce Editions?
- Essentials: Designed for small businesses that want to get started with a CRM system quickly. It includes intuitive walkthroughs and a setup assistant to get started, an easy-to-use UI, and administration tools to customize your deployment as you grow.
- Professional: Designed for businesses requiring full-featured CRM functionality. It includes straightforward and easy-to-use customization, integration, and administration tools to facilitate any small to midsize deployment.
- Enterprise: Meets the needs of large and complex businesses. It gives you advanced customization and administration tools, in addition to all the functionality available in Professional Edition, that can support large-scale deployments. Enterprise Edition also includes access to Salesforce APIs, so you can easily integrate with back-office systems.
- Unlimited: Maximizes your success and extends it across the entire enterprise through the Lightning Platform. It gives you new levels of platform flexibility for managing and sharing all your information on demand. Includes all Enterprise Edition functionality, Premier Support, full mobile access, unlimited custom apps, increased storage limits, and other features.
- Developer: Provides access to the Lightning Platform and APIs. It lets developers extend Salesforce, integrate with other applications, and develop new tools and applications. Developer Edition also provides access to many of the features available in Enterprise Edition.
What is Master-detail relationship?
Master-detail closely links objects together such that the master record controls certain behaviors of the detail and subdetail record. For example, you can define a two-object master-detail relationship, such as Account—Expense Report, that extends the relationship to subdetail records, such as Account—Expense Report—Expense Line Item. You can then perform operations across the master—detail—subdetail relationship.
What is Many-to-many relationship?
Many-to-many You can use master-detail relationships to model many-to-many relationships between any two objects. A many-to-many relationship allows each record of one object to be linked to multiple records from another object and vice versa. For example, you create a custom object called “Bug” that relates to the standard case object such that a bug could be related to multiple cases and a case could also be related to multiple bugs.
Lookup Links two objects together. Lookup relationships are similar to master-detail relationships, except they do not support sharing or roll-up summary fields. With a lookup relationship, you can:
- Link two different objects.
- Link an object with itself (with the exception of the user object; see Hierarchical). For example, you might want to link a custom object called “Bug” with itself to show how two different bugs are related to the same problem.
What is Organization-wide defaults?
Organization Wide Defaults(OWD) in salesforce is the baseline level of access that the most restricted user should have. Organizational Wide Defaults are used to restrict access. You grant access through other means like(sharing rules, Role Hierarchy, Sales Teams and Account teams, manual sharing, Apex Sharing ). In simple words Organization Wide Defaults(OWD) specify the default level of access users have to each other’s records.
For more details please level to below post Organization Wide Defaults(OWD) in salesforce
What is role hierarchy?
It give access for users higher in the hierarchy to all records owned by users below them in the hierarchy. Role hierarchies don’t have to match your organization chart exactly. Instead, each role in the hierarchy should represent a level of data access that a user or group of users needs.
What are the difference between a Role and Profile?
Roles are one of the ways you can control access to records. They also impact reports (e.g. “My Teams” filter). Roles come into play if your security model (OWDs) are set to private.
Profiles help determine record privileges. Assuming the User can see the record, Profiles determine what the User can do, view or edit on that record. Profiles control other system privileges as well (mass email, export data, etc)
In simple words, Roles are one of the ways you can control access to records and Profiles determine what the User can do, view or edit on that record.
What are Sharing Rules?
Sharing Rules are automatic exceptions to organization-wide defaults for particular groups of users, so they can get to records they don’t own or can’t normally see. Sharing rules, like role hierarchies, are only used to give additional users access to records. They can’t be stricter than your organization-wide default settings.
What is Manual sharing?
It allows owners of particular records to share them with other users. Although manual sharing isn’t automated like org-wide sharing settings, role hierarchies, or sharing rules, it can be useful in some situations, such as when a recruiter going on vacation needs to temporarily assign ownership of a job application to someone else.
What is Profile?
- The settings in a user’s profile determine whether she can see a particular app, tab, field, or record type.
- The permissions in a user’s profile determine whether she can create or edit records of a given type, run reports, and customize the app.
Profiles usually match up with a user’s job function (for example, system administrator, recruiter, or hiring manager), but you can have profiles for anything that makes sense for your Salesforce org. A profile can be assigned to many users, but a user can have only one profile at a time.
Now lets see some Apex related Salesforce developer interview questions
What is Apex?
Apex is a strongly typed, object-oriented programming language that allows developers to extend the Salesforce platform by writing their own business logic into the platform. Apex looks similar to Java and can be launched through a variety of user-initiated events such as record updates, button clicks, triggers on objects, or external web service requests.
Now lets see some Salesforce developer interview questions related to triggers.
What is a Trigger?
Apex triggers enable you to perform custom actions before or after events to records in Salesforce, such as insertions, updates, or deletions. Just like database systems support triggers, Apex provides trigger support for managing records.
Use triggers to perform tasks that can’t be done by using the point-and-click tools in the Salesforce user interface. For example, if validating a field value or updating a field on a record, use validation rules and workflow rules instead.
What is Trigger Syntax?
trigger TriggerName on ObjectName (trigger_events) { code_block }
What are the various event on which a trigger can fire?
A trigger is a set of statement which can be executed on the following events. In above trigger events one or more of below events can be used with comma separated.
- before insert
- before update
- before delete
- after insert
- after update
- after delete
- after undelete
What are different type of Triggers?
There are two types of triggers:
- Before triggers are used to perform a task before a record is inserted or updated or deleted. These are used to update or validate record values before they are saved to the database.
- After triggers are used if we want to use the information set by Salesforce system and to make changes in the other records. are used to access field values that are set by the system (such as a record’s Id or LastModifiedDate field), and to affect changes in other records. The records that fire the after trigger are read-only.
What are the considerations while implementing the Triggers?
Consider the following before implementing the triggers.
- Upsert trigger fires on 4 different events :- before(insert, update), after (insert, update)
- Merge trigger are fired on both events on delete
- Field history is updated after the trigger has successfully finished processing data.
- Any callout should be asynchronous so that trigger does not have to wait for the response.
- A trigger cannot have a static keyword in its code.
- If a trigger completes successfully the changes are committed to the database and if it fails the transaction is rolled back.
Read the Apex Developer Guide for more detailed considerations.
For more details about triggers in salsforce refer to below links
Salesforce Interview Questions on Triggers
What is batch class in Salesforce?
Batch class in salesforce is used to run large jobs (think thousands or millions of records!) that would exceed normal processing limits. Using Batch Apex, you can process records asynchronously in batches (hence the name, “Batch Apex”) to stay within platform limits. If you have a lot of records to process, for example, data cleansing or archiving, Batch Apex is probably your best solution.
Here’s how Batch Apex works under the hood. Let’s say you want to process 1 million records using Batch Apex. The execution logic of the batch class is called once for each batch of records you are processing. Each time you invoke a batch class, the job is placed on the Apex job queue and is executed as a discrete transaction.
For more details please refer batch Apex example in salesforce
Now lets see some lightning related Salesforce developer interview questions.
What is Salesforce Lightning?
Lightning is the collection of tools and technologies behind a significant upgrade to the Salesforce platform. Lightning includes:
- Experience: A set of modern user interfaces optimized for speed. This includes the Lightning Experience, Salesforce1 Mobile app and template-based communities.
- Lightning Component Framework: A JavaScript framework and set of standard components that allow you to build reusable components to customize the Lightning Experience, Salesforce1 Mobile app and template-based communities and build your own standalone apps.
- Visual Building Tools: Drag-and-drop technologies for fast and easy app building & customizations. Use the Lightning App Builder to customize the Lightning Experience and Salesforce1 Mobile app. Use the Community Builder to customize template-based communities.
- Lightning Exchange: A section of the AppExchange where you can find 70+ partner components to jumpstart your development.
- Lightning Design System: Style guides and modern enterprise UX best practices to build pixel perfect apps that match the look and feel of the Lightning Experience and Salesforce1 Mobile app.
What are the different Lightning component bundles?
- Component :UI for lightning component
- Controller: Contains client-side controller methods to handle events in the component.
- Helper: JavaScript functions that can be called from any JavaScript code in a component’s bundle
- Style: Contains styles for the component.
- Document: A description, sample code, and one or multiple references to example components
- Design: File required for components used in Lightning App Builder, Lightning pages, or Community Builder.
- SVG: Custom icon resource for components used in the Lightning App Builder or Community Builder.
- Renderer: Client-side renderer to override default rendering for a component.
Click Here for official Salesforce documentation.
What is Lightning Experience?
Lightning Experience is the name for the all new Salesforce desktop app, with new features, built with a modern user interface and optimized for speed.
What is Lightning Design System?
Style guides and modern enterprise UX best practices to build pixel perfect apps that match the look and feel of the Lightning Experience and Salesforce1 Mobile app. Click Here for official link.
What happens to my existing Visualforce Pages?
They’ll continue to be supported in the current UI and Lightning Experience. See the Trailhead module on this topic.
What are the type of events into Salesforce Lightning component?
- Application Event – Scope of this event is throughout the lightning App and any component which has registered for this event would get a notification.
- Component Event– Scope of this event is within itself or the parent component of this event, all the components declared within the parent component would get notified of this event.
- System Event- these are the events fired by Salesforce’s system during the lifecycle of the lightning app.
What is the basic difference between Application Event and Component Event?
Component events are used to do communication between child and parent. They use bubbling and capture same as used in DOM events. A change in a child component can be communicated to the parent component via component event.
Application events are used to communicate any change in the component to a broader audience. Any component who has registered for this event will get a notified.
Component events vs Application events. Which one I should use?
Component events can only be handled by components above them in the containment hierarchy, therefore, their usage is localized to the components that need to know about them.
Application events are best used for something that should be handled at the application level, such as navigating to a specific record. Application events allow communication between components that are in separate parts of the application and have no direct containment relationship.
Can we Include One Lightning component to another ?
Yes we can include one Lightning component inside another Lightning component
How can we use Lightning Components with the Salesforce1 Mobile App ?
We can create a custom Lightning tab that points to our component and include that tab in our Salesforce1 Mobile navigation.
How can we use a lightning component in a VisualForce Page?
A Lightning component can be embed in any webpage using a very powerful and flexible feature, Lighting out. When used with Visualforce some complexity becomes simpler.
Lightning component can be added to Visualforce page in three steps:
- We have to first Add the Lightning Components for Visualforce JavaScript library to your targetted Visualforce page using the tag.
- Next we have to create and refer a Lightning app which is used to the component dependencies.
- Lastly we need to write a JavaScript function which will finally create the the component on the page using $Lightning.createComponent()
For more details, please refer Use Lightning Components in Visualforce Pages
Can we integrate Lightning components with another framework like Angular?
Yes, we can integrate lightning with any 3rd party framework.
Can we include external JavaScript/CSS libraries like jQuery, bootstrap in components?
Yes, we can use multiple libraries in our lightning component like JQuery, Bootstrap, custom CSS and custom Javascript libraries using static resource.
What is use of aura:method tag in salesforce lightning?
We can use <aura:method> to define a method as part of a component’s API. This enables you to directly call a method in a component’s client-side controller instead of firing and handling a component event. Using <aura:method> simplifies the code needed for a parent component to call a method on a child component that it contains.
How to ensure FLS while working with Lightning Component?
FLS and CRUD are not automatically enforced in the lightning component whenever any object is referenced in the Apex Controller and the component will display the fields and records for which the users do not have access. Therefore we should manually enforce the FLS and CRUD in the Apex Controller. Also when we use Lightning Data service it takes care of FLS and CRUD for us.
Some more Salesforce developer interview questions related to lightning.
How can we display loading spinner in lightning component?
Spinners are CSS loading indicators that should be shown when retrieving data or performing slow computations. lightning:spinner displays an animated spinner image to indicate that a request is loading. This component can be used when retrieving data or performing an operation that takes time to complete.
aura:waiting and aura:donewaiting can be used for controlling the loading spinner.
For more details please refer to below post lightning spinner
How can we conditionally display content in lightning component?
We can use aura:if to conditionally display content in lightning component. For more details refer to below post aura:if in lightning component
What is the use of force:hasRecordId interface?
or
How to get current record id in lightning component?
Add the force:hasRecordId interface to a Lightning component to enable the component to be assigned the ID of the current record. The current record ID is useful if the component is used on a Lightning record page, as an object-specific custom action or action override in Lightning Experience or the Salesforce app, and so on. This interface has no effect except when used within Lightning Experience, the Salesforce mobile app, and template-based communities.
For more details refer below link force:hasRecordId
What is a FlexiPage in lightning?
FlexiPage represents the metadata associated with a Lightning page. A Lightning page represents a customizable screen made up of regions containing Lightning components.
A Lightning page can contain upto 25 components. Flexi page are stored as xml file and can be deployed using metadata api or any deployment tool.
Lightning pages are referred as FlexiPages in API and referred as Lightning pages elsewhere in SFDC documentation.
How can we deploy lightning components?
Lightning components can be deployed similar to any other component using changeset, ant migration tool, eclipse or any other migration tool.
What Is Lightning Data Service?
Use Lightning Data Service to load, create, edit, or delete a record in your component without requiring Apex code. Lightning Data Service handles sharing rules and field-level security for you. In addition to not needing Apex, Lightning Data Service improves performance and user interface consistency. Main advantage of using lightning data service is that we can perform basic operations without Apex code.
For more details refer to below link Lightning Data Service
What are List of Global value providers in lightning?
- $globalID
- $Browser
- $Label
- $Locale
- $Resource
How to create popup in lightning component?
Modals/Popup Box are used to display content in a layer above the app. This paradigm is used in cases such as the creation or editing of a record, as well as various types of messaging and wizards.
For more details, refer to the below link Modal/Popup Lightning Component Salesforce
For more details about lightning, refer to Salesforce Lightning Interview Questions
For more Salesforce developer interview questions refer to the below links
Salesforce Lightning Interview Questions
Salesforce admin interview questions
Salesforce interview questions
Good luck for the interview 🙂
I will keep adding more questions to Salesforce Developer Interview Questions.
Please add your feedback for Salesforce developer interview questions.
5 comments
Skip to comment form
Again amazing info
Please provide more practical questions on lightning component development
Can you provide me the scenario-based questions?
Thanks for sharing your best thoughts. I’ve got really inspired to read your article. If people want to know about custom salesforce development then don’t miss the chance to visit our website. Custom Salesforce Development .
The list would really be helpful to get the job as a position of a salesforce developer. Thank you.