Salesforce is the biggest name in SaaS/ cloud-based CRM providers and naturally there is a lot of stigma attached to the preparation for their job interviews. Not only selling a simple ‘CRM for Sales’ platform, Salesforce also provides products and services like Marketing Cloud, their AI called Einstein (for business analytics) and a host of other services that enable businesses to generate better leads and even scale their functionality to that effect.
Naturally, the interview processes at Salesforce tends to be a month long on average as the candidates go through multiple rounds so the employers can judge not only technical skills but also be consoled of the interviewee being a right fit for their culture.
There are three basic distinct phases of the interview process, once shortlisted, the candidate must face:
- A telephonic round with the recruiter/TA/offshore manager – depending on the job role.
- Multiple rounds of Technical/Domain Interviews – the difficulty and number of rounds depend on the job role.
- F2F or as in case of Corona times – Video conferencing with to be offshore Manger/Director.
Each of the phases is designed to not just asses minute technicalities of the work you have done, rather to judge your logical ability and your perspective of approaching problems from the right logical structure. The official written offer is rolled out for you to sign electronically, if accepted after grueling interviews, only after your verbal acceptance. The compensation is competent with the market and is gauzed into continuous analysis as the company continues to grow quickly.
The phone screen interview process is generally taken care of by the hiring manager or the recruiter that reached out to you. The purpose of this screening call is multifold:
- Judging the culture – The core values of Salesforce are Integrity, Transparency, Alignment and Accountability. You will be judged on the basis of the way you carry out your current work as well.
- Technical Questions – They check for basic fundamental concepts understanding of the programing language/product role that you are interviewing for and also basic understanding of sales force for which it’s recommended to go through their ‘Trailhead’.
- Personal Pitch – the 5 W’s (What, Why, When, Where, Who). It’s important to be prepared with answers to such questions.
Phone screening may also include simple questions to judge the understanding of cloud services or even general knowledge about the company itself like:
- What is Cloud Computing?
- What is CRM?
- What does Salesforce do?
- What type of apps can we create in SF?
- What are the benefits of SF CRM that sets it apart from others?
- Which tiers of support should be actively using SFDC throughout the day and why?
- What are the most reasonable enforcements of service entitlements?
Being a huge organization and offering such a wide variety of services, the spectrum of technical and domain knowledge required to be a legitimate Salesforce developer is also quite broad. It is only logical that the number of rounds in this phase can range from four to seven depending on the role and the level at which the employee is being hired. From a Software Engineering Interview perspective there can be multiple technical rounds with Hiring Manager, Team Lead (offshore and onshore) and even with the project Director. The spectrum of questions can be broadly classified as:
- Fundamentals of Salesforce
The questions here will test basic understanding of the Salesforce environment and you need to know the answers like the back of your hand.
- How familiar are you with salesforce?
- What is a custom object in salesforce?
- What does a custom object permit the user to do?
- What is Self-Relationship?
- What is Object Relationship Overview?
- What can cause data loss in Salesforce?
- What are Governor Limits? State some Types.
- What is a Sandbox Org?
- What are the different types of Sandboxes and their usage differences?
- What is a Trigger?
- How do you edit a trigger/apex class in production environment?
- What is the difference between Trigger and a Workflow?
- Sales Force Declarative Features
Not just answers, you need to know the reason why Declarative Programming is the new thing.
- When Should You Build Solutions Declaratively Instead Of With Code in Salesforce?
- What are activities?
- What is ‘WhoId’ and ‘WhatId’ in Activities?
- Advantages of writing Shared Rules.
- How to use shared rules to restrict data access?
- What are the different types of email templates that can be created in Salesforce?
- Reporting & Audit Features
A very self-explanatory topic. Let’s look at some common interview questions.
- What is the Dashboard?
- What is Rollup summary?
- How to create rollup summary field on lookup relation?
- What is audit trail?
- What are Record types?
- What are the report types?
- Is it possible to mass delete reports?
- What are scheduled dynamic dashboards?
- What features does a bucket field help within reports?
- Data Modelling and Data Management
Crucial part of any and every product developers’ understanding.
- What are the different types of object relations in salesforce?
- How do you create the master Detail relationship?
- How many master-detail relationships can be created on the inside of an object?
- What happens to a detail record if the master is deleted?
- How many Lookup relationship fields can be created in an object?
- How many records can be retrieved by SOQL and SOSL with a select query?
- What happens to a child record when Parent record is deleted?
- What calculations can be done using Roll Up summary field?
- What do you understand by ‘Data Skew’ with respect to sales force?
- Explain Skinny table. What are the considerations for Skinny table?
- What fields are auto indexed?
- Logic and Process Automation
Being a primarily CRM product, a lot of weightage is given to process automations. Let’s explore some important questions to be ready with in this domain.
- What’s the default timeout period for calling webservice from Apex
- How does deactivating workflows affect scheduled actions?
- For what criteria in a workflow, time dependent actions cannot be created?
- What are some types of Custom settings and what is the advantage of using them?
- What are assignment rules and how many can be activated?
- What is the difference between role and profile?
- Examples of Force.com formula field.
- What is the correct order of execution validation rules are processed?
- Which action is not executed after a reevaluated workflow?
Writing testable code and even following TDD might be a requirement specific to teams. The range of testing is wide in Salesforce evident from the flowing types of questions.
- How to write permission-based test classes?
- Understanding of Mock and Stub objects
- Understanding of Positive and Negative Texts
- What are best Test writing practices?
- What are Apex Unit tests?
- Knowledge of Accessibility Test Framework
- How would you generate data for Tests?
- Best Practices for Troubleshooting.
This branch of the spectrum is meant to cover basics on how the system works in Tandem with individual units.
- What’s an external id?
- How many callouts can a single Apex transaction make to external services?
- How to expose an Apex class as a RESTful webservice in Salesforce?
- Using Apex Metadata API to add custom field to page layout.
- Add custom metadata type to an org.
- Can the user insert their own custom logos in custom applications?
Basic questions like below will be crucial in determining the outcome of the interview as they are the foundations for salesforce programming and customizations.
- What is the Apex interface and where can we use Apex?
- Explain various methods of batch apex class.
- What is Apex scheduler?
- What is the difference between the public and global class in Apex?
- What are getter methods and setter methods?
- Highlight the difference between SOQL and SOSL.
- What is an Apex Transaction?
- What are the datatypes supported by a set?
- What are the types of Apex triggers in SF?
- What is Trigger.new?
- What are the various events on which a trigger can fire?
- What is an sObject type?
- What is a Visualforce Component?
- What are the different methods of batch Apex class?
- What is the use of ‘@future’ annotation?
- How can you embed a Visualflow in a Visualforce page?
- What are the different types of collections in Apex?
- What are maps in Apex?
- How many types of bindings are possible in Visualforce?
- What do these bindings refer to?
- What is an attribute Tag? What is the syntax for it?
- What is the difference between a standard and custom controller?
- Using Apex code, how to obtain the user ID of currently logged in users?
- How to implement Pagination in Visualforce?
- What is the bulkification best practice?
- How to call controllers from JS?
These are the nine pillars for building the minimum understanding Salesforce Engineer needs to have. Since the lightning upgrade, a major number of interview questions will be based on that as well.
- What is Salesforce Lightning?
- What are the tools included in lightning?
- What is Aura? Why do I see the aura: namespace in the code?
- Is Lightning an MVC framework?
- What is difference between Visualforce Components and Lightning Components?
- Where we can display lightning component?
- 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 types 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?
- What is aura definition bundle?
- What is the use of implements in lightning component?
- Which interface we are supposed to implement so that a lightning component can be used as a Tab?
- Which interface we are supposed to implement so that a lightning component can be used as quick action?
- Which interface we are supposed to implement so that a lightning component can be used in Community builder?
- What is use of @AuraEnabled annotation?
- 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?
- What is use of ‘aura: method’ tag in salesforce lightning?
- 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 is Locker Service in Salesforce Lightning?
- What are value providers in Salesforce Lightning?
- What is the List of Global value providers in lightning?
- How to create popup in lightning component?
VisualForce is SF framework that enables developers to create business specific customized user interfaces that are hosted natively on the Lightning platform. The technical rounds of the SF Engineer interview may have VisualForce specific questions also. However, since VisualForce is a SF specific skill, the questions differ in difficulty depending on the experience of the applicant.
VisualForce specific questions for ‘Freshers’
- What is VisualForce in Salesforce?
- Explain the concept of MVC architecture in VisualForce.
- How are VF pages constructed? Present a basic outline of approach taken while solutioning.
- Explain the different types of VF controllers in SF.
- Define Standard Controllers.
- What are the different ways of creating VF pages in SF?
- Explain standard list controllers.
- What do you understand by Standard Controller Tasks or Objectives?
- What does <apex: page> tag mean in VisualForce?
- Explain Custom Controllers in SF and derive distinctions from standard controllers.
VisualForce Specific questions for ‘Experienced Professionals’
- How do you enable the VisualForce Editor to work with it?
- Can any kind of expression be bound inherently to a controller?
- What purpose do custom controllers serve with respect to client organizations using SF?
- Does VF architecture support something that is beyond the scope of standard controllers or even custom Apex code?
- Differentiate between the custom controller and the controller extensions.
- Describe the scope and value of ‘Properties’ while using controllers.
- What are some common Apex classes that are frequently used within controllers?
- What is specific about the ‘Wizard Controllers’ in VisualForce that sets them apart form the other types of controllers?
- What would be the benefit of using transient keyword in VisualForce?
- What is the upside to using component controller for custom components?
The third most important standalone component of salesforce with respect to interviewing, is the knowledgebase on Apex as a programming language. Apex basically enables a Salesforce Developer to access the backend database maintained by SF as well as the client server interaction model to develop and ship third party SaaS applications on top of Salesforce CRM platform. Apex capability handling is the most important aspect for a lot of job profiles in Salesforce. Here’s a complied list of Apex interview Questions derived from interviewing experience of multiple candidates:
- Illustrate examples of implicit and explicit invocations of Apex.
- What is an abstract class?
- What is the role of Scheduler Class specifically?
- Mention some of the aggregate functions that can be implemented by Salesforce SOQL Apex.
- Bring out with an example, the differences between ‘trigger.new’ and ‘trigger.newmap’.
- Highlight the differences between Ajax and ActionPoller.
- How to refer to the current page id in Apex?
- What is your understanding of page reference?
- Explain the meaning and usage of virtual class in Apex coding.
- What is referred to as overloading in Apex?
- In your capacity as a developer, what is your opinion towards the need for a Batch Apex?
- Explain in detail your understanding of Web service Callouts.
- List the pre-requisites for having a static keyword in Apex?
- How do public and global access modifiers differ the visibility of a class in Apex?
- What do you understand by CommandLink?
- What is the functionality of Output Link?
- Does Apex support DML operations?
- How are inline SOQL and SOSL query processing handled in Apex?
- What can Apex not really do and what are its limitations as a strongly typed language?
- How to implement switch statements in Apex?
- What types of statements can we use in Apex?
- How to declare and define List/Map/Sets as collections in Apex?
- List some code development tools with respect to Apex that you are aware of? How comfortale are you using these?
- Write a simple example code for sObject in Apex.
- Describe your understanding of Enum with respect to Apex. Write a sample piece of code outlining the usage of an Enum.
Some advanced Apex questions
- What are the characteristics of Apex?
- What is the difference between database methods and DML statements?
- What is an Apex call? Where can Apex class be called from?
- What are the right conditions for using batch processing of Apex?
- How do you debug the code written in Apex?
- What is the significance of Froce.com Migration Tool?
- How do you write a SOQL loop?
- What is Blob?
- What are the functions of Apex?
- Explain the usage of ID type in Salesforce Apex.
- Give examples of Typecasting in Apex.
- What kind of string methods have you used in your projects while developing using Apex?
- List and explain a few commonly used datatype methods.
This is not an exhaustive list of questioning, but it well covers all bases related to Salesforce platform. The technical rounds may require a combined knowledge of these topics being used in conjunction. The last round is the Face to Face interview, which is mostly cultural. It is imperative to be confident and clearly truthful about your career path so far.
The positions for managers and senior managers generally require a more substance-based line of questioning, pertaining to their experience with leading teams that work on SF products. There are also behavioral questions to judge the overall personality fit for the organization culture itself. The interview process is again mainly 3 part with a phone screening, a session with the hiring manager or even skip level interview and then a panel or team interview.
Let’s look at some of Salesforce’s Managerial Interview Questions:
- What would be your approach while migrating System ‘X’ to System ‘Y’?
- Discuss on some Risk Mitigating Ideas.
- What’s your approach and starting point for building and carrying out a project plan?
- Talk about your experience with respect to CPQ.
- What steps do you propose for more employee engagement at work?
- What kind of causes do you care about?
- How much do you understand our Ohana culture and how do you plan to promote it?
- How would you define your managerial style?
- How do you deal with ambiguity and rapid changes?
- Why would you like this specific role?
Final F2F or Video Conferencing (post corona interview strategy)
The final interview generally taken by the hiring manager contain certain cultural fitness questions, like:
- What is the role of a manager in guiding the career of a developer?
- What’s your understanding of Agile Development practices?
- What philosophy of management is your core value?
- What have you learnt in your current role so far and how do you do things differently now?
- What do you appreciate about your current or former leadership?
- What is compelling you to apply for this job role and leaving your current workplace?
- What’s your super skill that you use to sell yourself?
- Talk about a time when a risk ended up as a failure for you and what did you learn from that?