Salesforce Developer Interview Questions and Answers
This list of Salesforce interview questions is divided into 9 sections, every for specific aspects of Salesforce.
Audit & reporting functions
Data modelling and statistics management
Logic & system automation
Software trying out
Debug & deployment gear
Salesforce Fundamentals – Salesforce Interview Questions
Q1. Can users have the equal profile? Can profiles be assigned to the same person?
Ans: Profiles determine the level of access a consumer may have in a Salesforce org.
As some distance as the first part of the query is worried, Yes. One profile can be assigned to any quantity of users. Take the instance of a Sales or Service group in a enterprise. The complete team will be assigned the same profile. The admin can create one profile: Sales Profile, in an effort to have get admission to to the Leads, Opportunities, Campaigns, Contacts and different gadgets deemed vital via the company.
In this manner, many users can be assigned the identical profile. In case the crew lead or supervisor want access to extra records/ items then it may be done with the aid of assigning permission sets most effective for those customers.
Answering the second one a part of the question, each consumer can simplest be assigned 1 profile.
Q2. What are Governor Limits in Salesforce?
Ans: In Salesforce, it's far the Governor Limits which controls how a good deal statistics or how many facts you could save in the shared databases. Why? Because Salesforce is based on the concept of multi-tenant structure. In simpler phrases, Salesforce makes use of a single database to shop the data of multiple customers/ clients. The below image will assist you relate to this concept.
To make sure no unmarried patron monopolizes the shared resources, Salesforce introduced the concept ofGovernor Limits which is strictly enforced by the Apex run-time engine.
Governor Limits are a Salesforce developer’s biggest assignment. That is because if the Apex code ever exceeds the restriction, the anticipated governor problems a run-time exception that can't be treated. Hence as a Salesforce developer, you need to be very cautious while developing your application.
Different Governor Limits in Salesforce are:
Per-Transaction Apex Limits
Force.Com Platform Apex Limits
Static Apex Limits
Size-Specific Apex Limits
Miscellaneous Apex Limits
Push Notification Limits
Q3. What is a sandbox org? What are the distinct kinds of sandboxes in Salesforce?
Ans: A sandbox is a copy of the manufacturing environment/ org, used for testing and improvement functions. It’s beneficial as it lets in improvement on Apex programming without traumatic the manufacturing surroundings.
When can you use it?
You can use it when you want to test a newly evolved Force.Com software or Visualforce web page. You can broaden and check it inside the Sandbox org in preference to doing it directly in production.
This manner, you could expand the software without any hassle and then migrate the metadata and data (if applicable) to the production surroundings. Doing this in a non-manufacturing environment permits developers to freely check and test applications quit to quit.
Types of Sandboxes are:
Q4. Can you edit an apex trigger/ apex elegance in manufacturing environment? Can you edit a Visualforce page in manufacturing environment?
Ans: No, it isn't feasible to edit apex training and triggers at once in production surroundings.
It desires to be completed first in Developer edition or trying out org or in Sandbox org. Then, to deploy it in manufacturing, a consumer with Author Apex permission should set up the triggers and training the use of deployment tools.
However, Visualforce pages may be created and edited in each sandbox and in manufacturing.
Only if the page has to do some thing particular (special values), it would have to be evolved through Sandbox.
Q5. What are the exclusive information sorts that a preferred subject report name can have?
Ans: A general subject report call could have information type of both auto variety or text area with a restrict of 80 chars.
For producing auto numbers, the layout wishes to be precise while defining the field and after that for every record this is introduced, the quantity will get auto generated. For example:-
Q6. Why are Visualforce pages served from a one-of-a-kind domain?
Ans: Visualforce pages are served from a one of a kind area to improve security requirements and block pass web page scripting. Take a take a look at the highlighted portion in the beneath Visualforce page:-
Declarative Features – Salesforce Interview Questions
Q7. What is WhoId and WhatId in sports?
Ans: WhoID refers to humans. Typically: contacts or leads. Example: LeadID, ContactID
WhatID refers to gadgets. Example: AccountID, OpportunityID
Q8. What is the usage of writing sharing policies? Can you operate sharing guidelines to restriction facts get admission to?
Ans: Sharing rules are written to give edit get entry to (public read and write) or public examine handiest get right of entry to to positive individuals in Salesforce org. A traditional instance is when:- handiest your managers or superiors need to receive greater credentials in your records in gadgets as compared on your friends.
By default, all users on your organization could have company-wide-default sharing settings of eitherPublic Read Only or Private.
To provide access to extra data, which customers do no longer own, we write sharing guidelines.
Example: Sharing policies are used to extend sharing get entry to to users in public companies or roles. Hence, sharing regulations are not as strict as corporation-huge default settings. They permit greater get right of entry to for those users.
As a ways as the second part of the query is concerned, the solution is no. We cannot use sharing policies to limit records access. It is simplest used for allowing extra get entry to to facts.
Q9. What are the distinctive types of email templates that can be created in Salesforce?
Ans: The different forms of Email templates are listed inside the underneath table:-
Text All users can create or exchange this template
HTML with letterhead Only Administrators and users having “Edit HTML Templates” permissions can create this template based totally on a letterhead.
Custom HTML Administrators and customers having “Edit HTML Templates” permissions can create this template with out the need of a letterhead
Visualforce Only administrators and developers can create this template. Advanced functionalities like merging records from multiple facts is available only in this template
Audit & Reporting Features – Salesforce Interview Questions
Q10. What is a bucket area in reports?
Ans: A bucket area lets you group associated statistics together by means of degrees and segments, without the use of complicated formulation and custom fields. Bucketing can as a consequence be used to institution, clear out, or arrange file information. When you create a bucket field, you need to outline more than one classes (buckets) which can be used to organization file values.
The advantage is that in advance, we had to create custom fields to organization or phase positive records.
Q11. What are dynamic dashboards? Can dynamic dashboards be scheduled?
Ans: Before we apprehend dynamic dashboards, let us first recognize static dashboards. Static dashboards are the primary dashboard sorts with a purpose to be visible to any user who has made a document out of his facts. An instance of this is what a Sales supervisor/ Marketing supervisor could be able to see on his Salesforce org. In different words, a everyday dashboard shows facts simplest from a single consumer’s angle. Now comes the idea of dynamic dashboards.
Dynamic dashboards are used to display facts which is adapted to a specific person. Let us keep in mind the equal example as above. In case the Sales supervisor desires to view the file generated specific to most effective one among his team individuals, then he can use dynamic dashboards.
You can use dynamic dashboards while you want to expose user-unique statistics of a particular user, which includes their non-public quotas and income, or quantity of case closures, or leads transformed and many others.
You can also use a normal/ static dashboard when you need to show local or organisation-extensive facts to a fixed of customers, together with a specific place’s income quantity, or a particular aid group’s overall performance on case closures.
As far as the second one part of the query is concerned, no we can't time table a dynamic dashboard. That is due to the fact each time we open the dashboard, it'll display the records generated in actual-time.
Q12. What are the specific sorts of reports to be had in Salesforce? Can we mass delete reports in Salesforce?
1. Tabular reports Simple Excel kind tables which provide a listing of objects with the grand total
2. Summary reviews Similar to Tabular reports, however additionally have capability of grouping rows, viewing subtotals & growing charts
3. Matrix reports Two-dimensional reviews which let you institution records both with the aid of row and column
4. Joined reviews Multiple blocks showing records from exclusive reviews primarily based on identical or one-of-a-kind report kinds
Another critical point to word right here is that, best Summary reports and Matrix reviews may be fed as information source for dashboards. Tabular and Joined reviews can't be used as data source for dashboards.
Can we mass delete reviews in Salesforce? Of Course we can mass delete reviews in Salesforce. The option to mass delete reviews may be discovered beneath Data Management in Setup.
Data Modelling & Data Management – Salesforce Interview Questions
Q13. What are the extraordinary styles of object family members in salesforce? How can you create them?
Ans: No listing of Salesforce interview questions is entire with out related to relationships between items in Salesforce. Relationships in Salesforce may be used to set up hyperlinks between two or greater objects.
The specific forms of item relationships in Salesforce are:
Master-Detail Relationship (1:n):-
It is a figure-child courting in which the master item controls the conduct of the established toddler item. It is a 1:n relationship, wherein there can be simplest one parent, however many children.
The main concept you want to be know is that, being the controlling item, the master area can't be empty. If a file/ subject in grasp object is deleted, the corresponding fields within the dependent object are also deleted. This is called a cascade delete. Dependent fields will inherit the owner, sharing and protection settings from its grasp.
You can define master-detail relationships among custom items, or between a custom item and general item as long as the same old item is the grasp inside the dating.
Lookup Relationship (1:n):-
Lookup relationships are used whilst you want to create a link between two gadgets, however with out the dependency at the figure object. Similar to Master-Detail dating, you may think of this as a form of figure-child dating wherein there is handiest one determine, but many children i.E. 1:n dating.
The distinction right here is that regardless of being controlling area, deleting a document will now not result in computerized deletion of the research subject in the baby item. Thus the information within the infant item will not be affected and there's no cascade delete here. Neither will the kid fields inherit the proprietor, sharing or protection settings of its parent.
Junction Relationship (Many-To-Many):-
This kind of a dating can exist whilst there's a want to create two master-detail relationships. Two grasp-detail relationships can be created via linking 3 custom items. Here, two items will be master gadgets and the 0.33 item can be depending on both the items. In easier words, it is going to be a toddler object for each the master gadgets.
Q14. What happens to element document when a master record is deleted? What happens to toddler report while a determine report is deleted?
Ans: In a Master-Detail dating, while a master record is deleted, the element record is deleted mechanically (Cascade delete).
In a Lookup relationship, although the parent record is deleted, the kid file will not be deleted.
Q15. Can you've got a roll up precis discipline in case of Master-Detail relationship?
Ans: Yes. You may have a roll-up precis in case of a grasp-element relationship. But no longer in case of a lookup courting.
A roll-up summary subject is used to show a price in a master record based on the values of a fixed of fields in a detail file. The element file have to be related to the master via a grasp-element relationship.
There are 4 calculations that you could do the usage of roll-up summary area. You can count number the variety of element statistics associated with a master report. Or, you can calculate the sum, minimum cost, or maximum value of a area in the detail facts.
Q16. Explain the term “Data Skew” in Salesforce.
Ans: “Data skew” is a situation which you may stumble upon when running for a huge purchaser wherein there are over 10,000 statistics. When one unmarried user owns that many facts we name that circumstance ‘ownership records skew’.
When such customers carry out updates, performance issues may be encountered because of “facts skew”. This happens while a single consumer/ participants of a unmarried position own most of the statistics for a selected object.
Q17. Explain skinny table. What are the considerations for Skinny Table?
Ans: In Salesforce, skinny tables are used to get admission to regularly used fields and to avoid joins. This in large part improves performance. Skinny tables are tremendously powerful, a lot in order that even if the source tables are modified, skinny tables might be in sync with source tables.
Considerations for thin tables:
Skinny tables can incorporate a maximum of one hundred columns.
Skinny tables can't contain fields from other objects.
For complete sandboxes: Skinny tables are copied on your Full sandbox corporations, as of the Summer ’15 release.
Q18. Which fields are automatically Indexed in Salesforce?
Ans: Only the following fields are automatically listed in Salesforce:
Primary keys (Id, Name and Owner fields).
Foreign keys (research or grasp-detail dating fields).
Audit dates (which include SystemModStamp).
Custom fields marked as an External ID or a completely unique field.
Q19. How to handle comma inside a field even as uploading using Data Loader?
Ans: In a Data Loader .CSV, if there may be a comma in area content material, you'll should enclose the contents within double quotation marks: ” “.
Logic & Process Automation – Salesforce Interview Questions
Q20. For which criteria in workflow “time dependent workflow action” can't be created?
Ans: Time based workflow motion can not be create for: “created, and on every occasion it’s edited”.
Q21. What are the varieties of custom settings in Salesforce? What is the advantage of the usage of custom settings?
Ans: There are two forms of custom settings in Salesforce: List Custom Settings and Hierarchy Custom Settings.
List Custom Settings are a form of custom settings that offers a reusable set of static statistics that may be accessed across your agency no matter person/ profile.
Hierarchy Custom Settings are some other type of custom settings that makes use of built-in hierarchical common sense for “personalizing” settings for unique profiles or users.
The advantage of using custom settings is that it lets in developers to create a custom set of get entry to policies for various users and profiles.
Q22. How many active venture guidelines can you've got in a lead/ case?
Ans: Only one rule may be active at a time.
Q23. What are custom labels in Salesforce? What is the man or woman restriction of custom label?
Ans: Custom labels are custom textual content values that can be accessed from Apex lessons or Visualforce pages. The values here can be translated into any language supported with the aid of Salesforce.
Their advantage is they enable builders to create multilingual applications which robotically provides statistics in a person’s native language.
You can create up to five,000 custom labels in your corporation, and that they can be up to one,000 characters in period.
Q24. What is the distinction between a Role and Profile in Salesforce?
Ans: As noted in one of the previous Salesforce interview questions, a profile will in the end control get right of entry to to which records a consumer has in a Salesforce org. No consumer can paintings on the Salesforce org with out being assigned a profile. The Profile is therefore obligatory for each consumer.
Role however isn't obligatory for every person. The primary function of the Role/ Role hierarchy is that it allows better degree users in hierarchy get get admission to to statistics owned by means of decrease level users within the hierarchy. An instance of that is Sales Managers having access to information owned through Sales Reps while their friends do now not get get admission to to it.
Q25. What are the examples of non-deterministic Force.Com formulation fields?
Ans: Before I mention a number of the examples, permit me come up with an introduction to deterministic and non-deterministic formula fields. Formula fields whose fee might be static are known as deterministic fields. Whereas, method fields whose price could be modified dynamically or whose values will need to be calculated at the fly, they may be called non-deterministic method fields. A traditional instance of that may be a system returning the modern-day date and time.
Some examples of non-deterministic fields in Force.Com are:
Formula fields whose reference spans over different entities
Fields having dynamic date capabilities like:- TODAY() or NOW()
Software Testing – Salesforce Interview Questions
Q26. Why will we want to put in writing check classes? How to identify if a class is a test magnificence?
Ans: Software developers from round the arena will unanimously agree that writing code in test instructions makes debugging extra efficient. Why? That is because test training help in growing robust and error-free code be it Apex or some other programming language. Since Unit checks are powerful in their personal proper, Salesforce requires you to write test instructions in Apex code.
Why are they so powerful? Because take a look at instructions and check techniques verify whether or not a selected piece of code is working properly or not. If that piece of code fails, then builders/ testers can accurately find the test elegance having the defective malicious program.
Test training can be decided effortlessly because every check magnificence may be annotated with @isTest key-word. In reality, if we do not annotate a take a look at magnificence with @isTest, then it can not be defined as a test magnificence. Similarly, any approach within a category which has the keyword testMethod, is a check method.
Q27. What is minimum check insurance required for cause to set up?
Ans: In Salesforce, if you want to installation your code to production, then you definitely should make sure that at least seventy five% of your Apex code is protected via unit assessments. And a lot of these exams need to whole successfully.
Debug & Deployment Tools – Salesforce Interview Questions
Q28. What are the different approaches of deployment in Salesforce?
Ans: You can deploy code in Salesforce the usage of:
Eclipse with Force.Com IDE
com Migration Tool – ANT/Java based totally
Integration – Salesforce Interview Questions
Q29. What is an outside ID in Salesforce? Which all field facts kinds may be used as outside IDs?
Ans: An outside ID is a custom area which may be used as a unique identifier in a document. External IDs are mainly used while uploading statistics/ facts. When importing statistics, one many of the many fields in those facts want to be marked as an external ID (particular identifier).
An critical point to notice is that simplest custom fields can be used as External IDs. The fields that may be marked as outside IDs are: Text, Number, E-Mail and Auto-Number.
Q30. How many callouts to external service may be made in a single Apex transaction?
Ans: Governor limits will restriction a unmarried Apex transaction to make a most of a hundred callouts to an HTTP request or an API name.
Q31. How can you disclose an Apex class as a REST WebService in Salesforce?
Ans: You can divulge your Apex elegance and strategies so that outside applications can access your code and your software through the REST architecture. This is completed by means of defining your Apex class with the @RestResourceannotation to reveal it as a REST useful resource. You can then use worldwide training and a WebService callback method.
Invoking a custom Apex REST Web carrier technique continually makes use of system context. Consequently, the modern-day person’s credentials are not used, and any consumer who has access to those techniques can use their complete electricity, regardless of permissions, field-level safety, or sharing regulations.
Developers who expose strategies the usage of the Apex REST annotations must therefore take care that they are no longer inadvertently exposing any touchy information. Look at the under piece of code as an instance:-
worldwide elegance AccountPlan
webservice String vicinity;
webservice String location;
//Define an object in apex this is uncovered in apex web provider
international elegance Plan
webservice String call;
webservice Integer planNumber;
webservice Date planningPeriod;
webservice Id planId;
webservice static Plan createAccountPlan(Plan vPlan)
//A plan maps to the Account item in salesforce.Com.
//So want to map the Plan class item to Account wellknown item
Account acct = new Account();
acct.Name = vPlan.Call;
acct.AccountNumber = String.ValueOf(vPlan.PlanNumber);
Programmatic Features – Salesforce Interview Questions
Q32. What is the distinction between a wellknown controller and a custom controller?
Ans: Standard controller in Apex, inherits all the standard object houses and wellknown button capability without delay. It includes the equal functionality and good judgment which might be used for fashionable Salesforce pages.
Custom controller is an Apex elegance that implements all of the logic for a web page with out leveraging a standard controller. Custom Controllers are associated with Visualforce pages via the controller attribute.
Q33. How can we enforce pagination in Visualforce?
Ans: To control the range of facts displayed on every web page, we use pagination. By default, a listing controller returns 20 data at the web page. To customise it, we will use a controller extension to set the pageSize. Take a study the pattern code under:-
<apex:page standardController="Account" recordSetvar="accounts">
<apex:pageBlock title="Viewing Accounts">
<apex:dataList var="a" value="!Accounts" type="1">
Look at the under piece of code to understand how a controller method is known as the use of actionfunction.
<apex:form id ="frm">
<apex:actionfunction name="callfromJS" action="!ControllerMethodName reRender="frm"/>
Q35. How to get the UserID of all the presently logged in customers the use of Apex code?
Ans: You can get the ID’s of all the presently logged in customers by using this global characteristic: UserInfo.GetUserId().
Q36. How many statistics can a pick query go back? How many information can a SOSL query go back?
Ans: The Governor Limits enforces the following:-
Maximum wide variety of data that may be retrieved with the aid of SOQL command: 50,000.
Maximum wide variety of facts that may be retrieved by way of SOSL command: 2,000.
Q37. What is an characteristic tag? What is the syntax for which includes them?
Ans: An attribute tag is a definition of an characteristic of a custom thing and it is able to best be a baby of a component tag.
Note that you can't outline attributes with names like identification or rendered. These attributes are mechanically created for all custom thing definitions. The below piece of code shows the syntax for including them:
<apex:attribute name="myValue" description="This is the value for the component." type="String" required="true"/>
<apex:attribute name="borderColor" description="This is color for the border." type="String" required="true"/>
Q38. What are the three forms of bindings used in Visualforce? What does each discuss with?
Ans: There are 3 sorts of bindings used in Salesforce:-
Data bindings, which confer with the records set in the controller
Action bindings, which seek advice from movement strategies within the controller
Component bindings, which check with different Visualforce additives.
Data bindings and Action bindings are the maximum not unusual and they'll be utilized in every Visualforce web page.
Q39. What are the extraordinary forms of collections in Apex? What are maps in Apex?
Ans: Collections are the form of variables which may be used to shop a couple of number of information (information).
It is beneficial because Governor Limits limit the wide variety of statistics you could retrieve per transaction. Hence, collections may be used to store more than one information in a single variable defined as type series and with the aid of retrieving data within the shape of collections, Governor Limits will be in test. Collections are much like how arrays paintings.
There are three collection kinds in Salesforce:
Maps are used to save statistics in the form of key-price pairs, where every specific key maps to a unmarried fee.
Syntax: Map<String, String> country_city = new Map<String, String>();
Q40. How can you embed a Visualflow in a Visualforce web page?
Find the go with the flow’s particular call.
From Setup, enter Flows within the Quick Find container, then choose Flows.
Click the name of the waft.
Copy the precise name of the waft.
From Setup, input Visualforce Pages in the Quick Find container, then pick out Visualforce Pages.
Define a new Visualforce web page, or open an current one.
Add the <flow:interview> component somewhere between the <apex:page> tags.
Set the call characteristic to the unique call of the waft.
Restrict which users can access the Visualforce web page.
Click Visualforce Pages.
Click Security subsequent for your Visualforce web page.
Move all the suitable profiles from Available Profiles to Enabled Profiles by means of using the ‘add’ and ‘dispose of’ buttons.
Add the Visualforce page in your Force.Com app by way of the usage of a custom button, hyperlink, or Visualforce tab.
Q41. What is using “@destiny” annotation?
Ans: Future annotations are used to perceive and execute techniques asynchronously. If the approach is annotated with “@destiny”, then it is going to be performed handiest whilst Salesforce has the to be had assets.
For example, you could use it at the same time as making an asynchronous web carrier callout to an external provider. Whereas without the usage of the annotation, the internet service callout is crafted from the equal thread this is executing the Apex code, and no additional processing will occur until that callout is entire (synchronous processing).
Q42. What are the special strategies of batch Apex elegance?
interface consists of 3 methods that need to be implemented:
global (Database.QueryLocator begin(Database.BatchableContext bc)
international void execute(Database.BatchableContext BC, listing<P>)
global void end(Database.BatchableContext BC)
Q43. What is a Visualforce issue?
Ans: A Visualforce Component is both a predefined aspect (fashionable from factor library) or a custom factor that determines the user interface conduct. For instance, in case you want to ship the textual content captured from the Visualforce page to an object in Salesforce, you then want to make use of Visualforce additives. Example: <apex:detail>
Q44. What is Trigger.New?
Ans: Triger.New is a command which returns the listing of statistics that have been added currently to the sObjects. To be extra precise, the ones information might be back which can be yet to be saved to the database. Note that this sObject list is best to be had in insert and replace triggers, and the statistics can simplest be changed in before triggers.
But only for your records, Trigger.Antique returns a list of the vintage variations of the sObject statistics. Note that this sObject list is only available in replace and delete triggers.
Q45. What all records sorts can a fixed keep?
Ans: Sets could have any of the subsequent statistics sorts:
Built-in Apex types
Q46. What is an sObject type?
Ans: An sObject is any object that can be stored inside the Force.Com platform database. Apex allows the use of conventional sObject summary kind to symbolize any item.
For example, Vehicle is a regularly occurring type and Car, Motor Bike all are concrete sorts of Vehicle.
In SFDC, sObject is standard and Account, Opportunity, CustomObject__c are its concrete type.
Q47. What is the distinction between SOQL and SOSL?
Ans: The variations are referred to inside the desk under:
SOQL (Salesforce Object Query Language) SOSL (Salesforce Object Search Language)
Only one object may be searched at a time Many items may be searched at a time
Can query any form of field Can question best on e-mail, text or cellphone
Can be utilized in classes and triggers Can be utilized in classes, however now not triggers
DML Operation may be achieved on question consequences DML Operation can't be executed on seek effects
Returns statistics Returns fields
Q48. What is an Apex transaction?
Ans: An Apex transaction represents a set of operations which can be completed as a unmarried unit. The operations right here include the DML operations which can be answerable for querying information. All the DML operations in a transaction both complete efficiently, or if an mistakes occurs even in saving a single file, then the complete transaction is rolled returned.
Q49. What is the difference between public and global magnificence in Apex?
Ans: Global magnificence is out there throughout the Salesforce example regardless of namespaces.
Whereas, public lessons are available simplest inside the corresponding namespaces.
Q50. What are getter strategies and setter strategies?
Ans: Get (getter) method is used to pass values from the controller to the VF web page.
Whereas, the set (setter) technique is used to set the value lower back to controller variable.