Google News
logo
Salesforce Interview Questions
Salesforce is a company that makes cloud-based software designed to help businesses find more prospects, close more deals, and wow customers with amazing service. 
 
Customer 360, our complete suite of products, unites your sales, service, marketing, commerce, and IT teams with a single, shared view of customer information, helping you grow relationships with customers and employees alike.
 
It is a Customer Relationship Management (CRM) platform. Salesforce is a software as a Service (SaaS). It helps you to manage customer relationships, integrate with other systems, and build apps. The tool helps you to manage and create a custom solution as per your business requirement.
An app is a collection of tabs that works as a unit to provide functionality. Users can switch between apps in force.com app's drop-down menu.
 
A Salesforce application is a container of tabs, processes, and services.
 
We can create new apps by grouping some standard app, customize existing apps according to our work.
 
Salesforce provides many standard apps such as call center, marketing, sales, etc.
 
There are two types of Salesforce application :
 
* Custom App
* Service cloud control

Salesforce create application :
 
Follow the below steps to create a Salesforce app :
 
Step1 : Follow this navigation : Setup-> AppSetup-> create-> apps-> click on 'new'
 
Step2 : Select custom application radio button-> provide the app name
 
Step3 : Click on the next button
 
Step4 : Select the image from the document object
 
Step5 : Select the objects
 
Step6 : Click on the visible checkbox and save
 
To add this Salesforce app to any other profiles or tabs. Follow the below steps
 
Step1 : Setup-> Appsetup-> create-> apps->
 
Step2 : Select the app from the list and click on edit
 
Step3 : If we want to change the image, then click on insert an image and take the image from documents.
In Salesforce, objects are database tables that are used to store the data of an organization. There are two types of objects in Salesforce. They are:
 
Standard object : These are the objects provided by the Salesforce platform, which includes contacts, accounts, cases, campaigns, opportunities, leads, products, contracts, reports, dashboards, etc.

Custom object : They are objects created by developers based on the business process. It stores the important and unique information of an organization. It gives a structure for data sharing. The custom object includes page layouts, custom fields, relationship to other objects, custom user interface tab, etc.
There are two types of apps that we can create in Salesforce. They are:
 
Custom app : They are mainly used by business owners who want to build an app that suits their business requirements from time to time. It’s widely used in the market.

Console app : It can be used only in the client service business, where we focus on tackling the client’s issues. Compared to a custom app it’s not widely used in the market.
Once the custom object is defined, the subscriber can perform the following tasks:
 
* Create custom fields
* Relate the custom object to other records
* Track events and tasks
* Build page layouts
* Create a custom tab for the custom object
* Analyze custom object data
* Create dashboards and reports
* Share custom tabs, custom apps, custom objects, and various other related components.

None of these tasks can be accomplished until the custom object has a definition.
The following are the major subsidiaries of Salesforce :
 
* Tableau 
* Pardot
* Heroku
* Mulesoft
* Demandware Inc
* SalesforceIQ
In Salesforce, it is the Governor Limits which controls how much data or how many records you can store in the shared databases. Why? Because Salesforce is based on the concept of multi-tenant architecture. In simpler words, Salesforce uses a single database to store the data of multiple clients/ customers.
 
To make sure no single client monopolizes the shared resources, Salesforce introduced the concept of Governor Limits which is strictly enforced by the Apex run-time engine.
 
Governor Limits are a Salesforce developer’s biggest challenge. That is because if the Apex code ever exceeds the limit, the expected governor issues a run-time exception that cannot be handled. Hence as a Salesforce developer, you have to be very careful while developing your application. To learn more about it, enroll for Salesforce developer certification today.
 
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
* Email Limits
* Push Notification Limits
Salesforce is a Cloud SaaS platform (Software-as-a-service), which means you access it through your web browser, as opposed to a desktop application. Cloud systems have major benefits over legacy computer systems that require huge amounts of server power to run. This is why most applications you access today, in your business or personal life, will be cloud-based (Spotify, Gmail, Office365, Dropbox, etc…).
 
Some of the biggest benefits of cloud computing solutions include…
 
Cost : Older on-premise solutions required a huge upfront investment of infrastructure. You would need to buy all the servers, install them and maintain them. With Cloud computing, you are essentially outsourcing the maintenance of the infrastructure to the provider, such as Salesforce.

Upgrades : Instead of managing upgrades to your software yourself, Cloud computing providers take care of this for you. Salesforce will upgrade your solution to the latest version 3 times a year. This comes with new features and improvements to the system without you lifting a finger, or paying additional fees.

Mobility : Cloud computing tools can be accessed from anywhere. As long as you have a device and an internet connection, you can access any information that is stored in Salesforce. This is particularly handy if you travel frequently for work or meetings.
Sales & Service Cloud both act as the core CRM platforms for Salesforce and will be used by the majority of organisations. While both share some similarities, they are distinctly different products that contain different sets of features for their specific function.
 
Sales Cloud : This product is designed to support businesses with their sales cycle. Taking a potential customer on a journey from qualifying them through the Lead object to converting them into an Opportunity where the main sales cycle takes place. Sales Cloud also has a number of other features to support this process, from quoting to forecasting.

Service Cloud : Service Cloud on the other hand helps organisations with their customer support process. Customers initiate a support process by emailing, calling, or submitting an online form. Once this case has been created in Salesforce, agents can use features such as a Knowledge base to help find answers to questions, milestones to ensure SLA (Service Level Agreements) are met, as well as features like live chat to talk to customers in real-time.
In Salesforce, the object relationship overview links custom object records to standard object records in a related list. This is helpful to track product defects in related customer cases. Salesforce allows users to define different types of relationships by creating custom relationship fields on an object.
Data loss in Salesforce can be caused by a number of reasons, including :
 
* Changing data and date-time.
* Migrating to percent, number, and currency from other data types.
* Changing from the multi-select picklist, checkbox, auto number to other types.
* Altering to multi-select picklist from any type except picklist.
* Changing to auto-number except for text.
* Changing from text-area to e-mail, phone, URL, and text.
SaaS is subscription-based, so clients can choose not to renew and discontinue using the program at any time without penalty other than not being able to use Salesforce. SaaS is intended to help users avoid heavy initial startup fees and investments. SaaS applications use a simple Internet interface supported by easy integration.
One of Salesforce’s biggest selling points is its platform (Previously called Force.com). This enables you to create powerful customisations on top of Salesforce’s products, that allow you to completely tailor the applications to your organisation’s exact needs. This is made even more attractive by the fact that you can create customisations with clicks, not code.
 
At a basic level, this allows you to create custom fields and objects, to store unique information related to your organisation. One of the most popular customisation possibilities is automation. You can create automation to pretty much do anything in Salesforce, update a field, create a record, send an email, etc…These types of customisations can end up saving users a lot of time.
Sharing rules are applied when a user wishes to permit access to other users like public groups, roles, or territories. It gives greater access to particular users by making automatic exceptions to your organization-wide sharing settings. You can define total sharing rules up to 300 for a particular object, including criteria-based or guest user sharing rules up to 50, if available for the object.
An Audit trail in Salesforce is a unique feature that helps in tracking the changes made in the organization by you and other administrators. In that way, you will always get to know who has modified the project at the last minute. It is helpful for the organization with more administrators.
 
By using an audit trail, you can get to know the details about changes made, the date and time of the change, and the username of the team member who made the changes.
Role Profile
The role helps in defining data visibility for a particular user. A profile sets the limitation for what an user can do in the organization.
Based on the hierarchy, a role defines which user data a user can see. Profile defines permissions
Defining role to a user is not mandatory Defining profile is mandatory
Roles provide a feature to control access to records by impacting reports. For example,“My Teams” filter. Roles function if a security model (OWDs) of an organization is set to private. Profiles help to decide record privileges i.e. assuming the user can observe the record, it concludes what the user can function, edit, delete, view on that record. It controls other system privileges like export data, mass email, etc.
Contact management
* It provides easier contact management by giving access to critical data of the customers and interaction history.

* It gives complete customer details including insights and engage-enhancement strategies. Social data of the customers can be used for a deeper understanding of their particular behavior regarding any product or service.

Opportunity management
* Salesforce provides an opportunity to view the activity timeline of your customers. It represents different stages of a particular deal which helps you to decide your next move.
* You can see critical details of the activity timeline in addition to the business competitors. The readymade templates ensure hassle-free emailing to the clients.

Quote management
* Quote management of the products will have tracking of the products, which are part of your deal and it includes the standard price, product code, quantity, and quoted price. Also, you can establish quantity along with revenue schedule and it reflects the delivery terms and payment.

* Salesforce CRM app is having a built-in quoting mechanism that automatically quotes client data. It also creates an approved template PDF and sends it directly to the customer as an email.

Lead management
* Lead management is featured with an affluent activity timeline. It provides an access to up-to-date contacts on the timeline. Also, it makes use of the sales paths to understand the related documents.

* CRM app functions as a fast lead converter machine, which informs you about the original source of the leads. Automatic emailing boosts your revenue-generating mechanism.

Sales data
* Using Salesforce CRM you can get the right sales data at the right time. It provides a faster connection with key decision-makers.

* You can easily plan territories. It can be used for increasing sales and marketing productivity with the latest and most accurate data.

Mobility
* The Salesforce mobile app turns your mobile device into a portable sales office by allowing the users to access CRM data at any time and from anywhere.
You can log calls, work opportunities, check dashboards, respond to hot leads, etc.

Workflow and approvals
* It allows to use of visual workflow to rapidly design and automate any of the business processes with drag and drop simplicity. And you can successfully manage flexible approvals processes for deal discounts, expenses, and more.

File sync and share
* It’s easier to share files, discuss them, publish the best and track your content in real-time by using Salesforce.

* You can quickly find what you are looking for, share it securely, and also subscribe to receive alerts when something changes.

Dynamic dashboards and custom reports
* Dashboards offer a real-time picture of how your business is performing in the market. Users can recognize market trends, calculate the activities and clear up the quantities. You can build your own dashboard by using drag and drop icons in Salesforce CRM.

* It allows creating your own customized sales forecasting report with Salesforce CRM. By using a simple drag and drop feature, users are able to adjust the fields and view data with filters. Charts provide real-time data to give you the latest insight.

Sales forecasting
* It tracks the journey of the leads in the pipeline to look into whether they are reaching their destination i.e. deals or not. It gives brilliant forecasting on sales upon analyzing the same. You can apply your right judgment to the forecasted amount and according to that, you can plan your strategies.

* You can make use of in-line editing, multicurrency support, override visibility, etc. to stay on top of your business.

* It gives the right credit to the right person and permits them to see the forecast as per overlays.
18 .
What is a static resource in Salesforce?
With Salesforce’s static resource, subscribers can upload zip files, images, jar files, JavaScript, and CSS files that can be referred in a Visualforce page. The optimum size of static resources in Salesforce is 250 MB.
19 .
Is there a limit for data.com records?
Salesforce users can see their limit form setup easily by simply clicking data.com administration/Users. From the data.com users section, the users can see their monthly limit and exactly how many records are exported during the month.
* Master-Detail relationship is a relationship between a parent and child where the master represents the parent and the detail represents a child. This relationship can be used when we want to control the display of detail records based on the value present in the master record.

* The master object completely takes control of the behavior of the Detail object. The survival of the child is dependent on the parent, because if the parent gets deleted then the child automatically gets deleted. You can create Roll-up summary fields in master records which will calculate the SUM, AVG, and MIN of the child records.

* Consider an example of a courier company model, where a delivery schedule is always linked to a delivery location. If we delete a delivery location from our list, then all the related delivery schedules should also be removed. Such a dependency can be achieved only through a Master-Detail relationship.
A dashboard in Salesforce is a pictorial representation of the report. It displays data from source reports as visual components. These components provide a snapshot of key metrics and performance indicators of the organization at a single glance. A single dashboard is capable of displaying 20 reports at a time.
Some of the main benefits of Salesforce SaaS are :
 
* Its pay-as-you-go model perfectly suites all customers
* No hassle of infrastructure management
* All applications are accessed via the Internet
* Easy integration between various applications
* The latest features are provided without any delay
* Guaranteed uptime and security
* Scalable performance for various operations
* Ability to access via mobile devices from anywhere
The profile defines the level of access a user can have in Salesforce.
 
In Salesforce org, it is possible to assign a single profile to any number of users. For example, we can consider a sales or service team in a company. The entire team has access to the same profile. The admin can create one profile for the whole sales team, which will have access to the leads, campaigns, contacts, and other objects deemed necessary by the company.
 
In this functionality, many users can be assigned with the same profile. In case the team leader needs access to additional records, then it can be done by assigning permission sets only for those users.
 
Each user can be assigned only one profile.
24 .
Can you have a roll-up summary field in the case of a Master–Detail relationship?
Yes, we can have a roll-up summary in the case of a Master-Detail relationship but not in the case of a Lookup relationship. This is because a roll-up summary field is used to display a value in the Master record based on the values of a set of fields in the Detail record.
A sObject is any object that can be stored in the Force.com platform database. Apex allows the use of a generic sObject abstract type to represent any object.
 
For example : ‘vehicle’ is a generic type, and ‘car’ and ‘motorbike’ are concrete types of ‘vehicle’.
Trigger.new returns a list of records that have been added recently to sObjects. The records that are yet to be saved in the database are returned. Only insert and update triggers have the sObject list, and records can only be modified before.trigger.
We can establish a relation between objects in Salesforce. We can associate one object with others.
 
Example: We have an object party (To store information about the party), and you want to associate it with other objects like people (information of participants) so that you can associate the object party with people. These relationship types also determine how they handle record sharing, required field in page layouts, data deletion capability.
 
Salesforce supports the following types of relationships that can be established among objects.
 
* Master-Detail Relationship
* Lookup relationship
* Self-relationship
* External lookup relationship
* Indirect lookup relationship
* Many-to-Many relationship
* Hierarchical relationship
It's a loosely coupled relationship among Salesforce objects. In the Lookup relationship, both parent and child have their sharing setting and security controls, which means if a parent record gets deleted, then child records remain in the system.
 
Let's see the party and the people objects. For example, the below figure provdes a visual representation of the Lookup relationship between the party and people objects.

Salesforce

In this diagram, the party object record has been deleted, but the people record is still available. This relationship between objects is Lookup relationship.
There are many different ways in Salesforce to store various records, such as Images, files, and documents. Some of them are as follows: 
 
* Attachment
* Google drive
* Chatter files
* Libraries
Starting and ending date of a company financial year is considered as Fiscal year. The fiscal year is used to calculate annual financial statements in business and other organizations. Salesforce has two types of the fiscal year :
 
* Standard Fiscal year
* Custom Fiscal year

Standard fiscal year : Salesforce provides a calendar by default as the standard fiscal year. It's a Gregorian calendar. But it is not necessary that all the organizations use the same calendar, some organizations use different calendars and need to change the fiscal year start month. It can be defined whether the fiscal year is based on the start or end of the selected month.
 
To set up a standard fiscal year navigate to
Setup-> Administer->company profile-> Fiscal year  
Select the option of Standard Fiscal year
 
Custom fiscal year : When the standard fiscal year does not meet the requirements of the organization, then Custom fiscal year is used. To use the custom fiscal year, the administrator has to enable it. The administrator must define the fiscal year to fit the company's calendar.
 
To set up the company's fiscal year, navigate to
Setup-> Administer-> company profile-> Fiscal year  
Select the option of Custom Fiscal year
 
Select the checkbox next to the terms statement
 
Click on Enable custom fiscal year
 
Click on OK
31 .
How many Lookup relationship fields can be created in an object?
There is a maximum of 40 Lookup relationship fields possible in an object.
Visualforce is a framework for the Force.com platform. It is a component based markup language. It allows defining user interface component in Salesforce. Page layout feature will enable you to configure the user interface easily, but by using Visualforce pages, you can customize your user interface.
Use the ISBLANK() function for text fields. As text fields can never be NULL, even if nothing is provided as a value, ISNULL() function takes only an empty value. If ISNULL() is used with a text field then it returns false.
In the Data.com user’s section, find your name to view your monthly limit. It will give details such as how many records are already added or exported for this month. The user goes to the Setup, enters the User in the Quick Find Box and selects prospector users.
System Administrator : Customization and administration of an application

Standard User : Can edit, view, update, or delete one’s own record

Read Only : Able to just view the records

Solution Manager : Comes with the standard user permission but also can manage categories and published solutions

Marketing User : Able to import leads into the organization, along with standard user permissions
Various Salesforce dashboard components are explained below :
 
Gauge : It is used for showing a single value within a range of custom values.

Metric :
This is used for displaying a single key–value pair. It is possible to click the empty text field next to the grand total and enter the metric label directly on the components. All metrics placed above and below one another in the dashboard column would be displayed as a single component.

Other dashboard components are explained below :
 
Table : The report data can be shown in a column form using a t

Visualforce page :
It is used for creating a custom component or showing information not available in other component types.

Custom S-component :
This contains the content that is run or displayed in a browser like an Excel file, ActiveX Control, Java applet, or custom HTML web form.
Here are some best practices you can follow to ensure that a code does not hit the governor limits.
 
* Bulkify your Code
* Use @future Appropriately
* Don’t make any SOQL, DML operation inside a loop
* Queue large datasets 
* Use batch apex for more than 50,000 records
38 .
How can you edit apex classes in a production environment?
You cannot edit apex classes directly in a production environment. It needs to be first done in the sandbox, then deployed in production where a user with Author Apex permission can make the changes.
* Validation rules in Salesforce consist of a formula or expressions that evaluate the data in one or more fields in a record to meet the standards you specify before the user can save the record. It returns a “True” or “False” value based on the evaluation of the data. Validation rules are responsible for displaying an error message to the user when the condition is “True” due to an invalid value.

* Validation rules are helpful in enforcing integrity constraints against the data. Here we give conditions in the formula editor. If one validation rule fails, Salesforce proceeds to check another validation rule held within the field or record and shows an appropriate error message at that particular field or above the record.

* You are allowed to create validation rules for fields, objects, campaign members, or case milestones. For example, we can create a validation rule that fires when a user tries to save an account with the incorrect length for the account number.
There are many things that cause data loss in Salesforce. They are :
 
Human error :
 
* When editing an object definition (incorrectly changing a picklist), importing data (overwriting good data with bad), or merging households are the common situations where human error may occur.

* For example, when you import data, it becomes important to match up fields. Situations like moving to percent, number, and money from other data types or changing text area to URL, email, phone or text, etc. will lead to incorrect match in fields. If you are updating a large number of records and match up incorrect fields, your records will be invalid.

Accidental deletion of Salesforce data :

* A record (or multiple records) might be accidentally deleted by users or employees. Deleting records could be because of miscommunication, forgetting to remove a contact from being deleted, and many other reasons. So proper training and having a trusted backup/recovery solution are much important.

Purposeful deletion of Salesforce data : 

*
Disgruntled employees like the person who has recently got a very bad performance review and thinks their job is at stake or who is jealous of other employees might try to delete the data. A few clicks on the delete button may lead to the deletion of multiple records from Salesforce.

* If they empty their recycle bin, that data recovery will be difficult using the Weekly Export. It can cause numerous damages if these records are not backed up properly.

Data sync errors : 

* If you have more than one admin or use Outlook for Salesforce, you might experience a data sync error at some point.

* For example, one admin is trying to refresh a sandbox while another admin is working from home and trying to edit an object type in that same sandbox. When this happens, the admin who was editing the object can lose his work in progress.

* Contacts in Outlook can over-write good Salesforce data when using Outlook for Salesforce, introducing errors through inappropriate sync.
* Record types allow you to associate different business processes and present various page layouts and picklist values to users based on the user profile.
 
* Administrators can associate record types with user profiles. Consequently, different users can see different page layouts and picklist values in the record's detail page. The two prominent benefits of record types are as follows:
 
* They modify user interaction experience as per business needs. 
* Allow simple administration as there are fewer fields to maintain.
Workflow Trigger
Workflow is an automated process that fires an action depending on evaluation criteria and rule criteria A trigger is a piece of program code that will be executed before or after a record has been inserted or updated
We cannot carry out DML operations on workflow  We can use 20 DML operations in a single trigger
We are able to obtain a workflow across the object We are able to access the trigger across the object and associated with that objects
We cannot query from database in workflow We can use 20 SOQL(Salesforce Object Query Language) from the database in a single trigger
Page layouts control the layout and organization of fields, buttons, Visualforce, custom links, and related lists on object record pages. They help organize user interface pages by determining which custom links, fields, and related lists are required, read-only, and visible to the user.
 
For a customized experience, one can create multiple page layouts and apply them to various user groups. 
Skinny tables in Salesforce are useful in accessing the fields which are frequently used and to avoid joins. This can improve the performance of certain read-only operations such as reports, list views, etc. Skinny tables are highly effective because skinny tables will be in sync with source tables even when the source tables are modified. 
 
You need to contact Salesforce customer support if you want to use skinny tables. You cannot create, access, or modify skinny tables yourself. For example, you need to contact Salesforce to update your skinny table definition if you want to add new fields.
 
Considerations for skinny tables are :
 
* It can contain an utmost of 100 columns.

* It cannot hold fields from other objects.

* For full sandboxes, these skinny tables are copied to your full sandbox organizations. For other types of sandboxes, skinny tables are not copied into your sandbox organizations. To have production skinny tables to be activated, contact Salesforce customer support.
Role hierarchy : When a user is added to a role, all users above the current user in the role hierarchy have access to reading and sharing the records and inheriting permissions. The steps for role hierarchy are : 
Setup → Manage Users → roles → set up roles and click on 'add role', → create a name and click on save.
OWD : Organization-Wide Defaults allow you to define an organization's baseline setting and give permissions to the organization-wide. It helps define a user's accessibility level where they can view other users' records. For OWD, follow these steps:
Setup → Security Controls → click on 'sharing settings' → Edit. 
Manual sharing : For sharing a single record/file to a particular user/group of users via manual access. A button is available on the detail page of the record when the OWD setting is private.

Criteria based sharing rules : We have to share records based on conditions. For instance, share records with a user/group with the criteria of the country- India. The steps for sharing are : 
Setup → security controls → sharing settings → select the object, provide name and conditions, and then click on save.
Apex sharing : One can share every object in Salesforce by creating a record for the shared object.
The Salesforce Object Query Language or SOQL is employed in querying the records from database.com as and when required. The two types of SOQL statements are as follows:
 
Static SOQL : It is written using [] (array brackets) and is similar to IINQ (Ion Integrated Query). It is suitable when there are no dynamic changes in the SOQL query. 

Dynamic SOQL : It is suitable for referring to the SOQL string creation at run time with Apex code. It allows the creation of more flexible applications. For instance, you can create a search based on updated records or end-user input with varying field names.
A wrapper class is a type of container class, which contains a group of objects as its members. It is of an abstract data type. We use a wrapper class for enclosing the collected data. A wrapper class is defined by a programmer, that acts as custom objects, along with wrapper class properties.
 
The instances of a wrapper class are helpful in displaying various objects in the corresponding table on a Visualforce page.
 
Some of the main advantages of using wrapper class by developers in Salesforce are given below :
 
* The wrapper class structure is as efficient as that of a good data visualization process for a web page, especially in the case where the developers are dealing with the JSON structure.

* The developers are not required to manage the passing of any map structure in order to browse necessary elements. Moreover, usage of wrapper class by developers will lead to ease the process of managing relationships between different objects.

* Wrapper class usage prevents any penalty faced by the users for passing an object of Salesforce. Also, it makes the respective object extendable to constructors of a class.

* The use of the wrapper class supports the developers for efficiently organizing the concerned data, provided the data is properly nested.
Future annotations are used to specify methods that are executed asynchronously.

Methods having future annotation must be static methods and can only return a void type. The arguments specified must be primitive data types or arrays of primitive data types or collections of primitive data types. These methods cannot take sObjects or objects as parameters.

When you specify a method with @future annotation, it will be executed only when Salesforce has available resources.

For example, you can use future annotation while making an asynchronous web service callout to an external service. Whereas without the usage of future annotation, web service callout will be created from the same thread which is executing the Apex code, and no additional processing will take place until that callout is complete (synchronous processing).

Syntax :
global class class_name
{
    @future
    Static void methodname(parameters)
    {
        //body of the method
    }
}
It is a personal look up to the same object. The self-relationship creates a tree diagram of the objects. Let's take an example as an object “merchandise”. In this, we can create relationship merchandise between two accounts. This is called a self-relationship.
50 .
What is meant by "Transfer record" in profile? 
Transfer record is a type of function used to grant permission. If a user has permission to share a record with others, then he can share the records that have read-only access. 
51 .
If we delete parent records in MDR, what happens to the child?
If you delete the parent record in the MDR, the child record also gets deleted in MDR.
52 .
How we can create an MDR on those objects where we already have records?
* First, we create LR between the two objects.
* Connect all child records to parents.
* Convert the field type from LR to MDR.
SOQL(Salesforce Object Query Language) SOSL(Salesforce Object Search Language)
Using SOQL we can search only one object at a time Using SOSL we can search multiple objects at a time
We can query on all fields of any of the datatype  We can query on the fields whose data type is phone, text, and email
DML operations can be performed on query results DML operations cannot be performed on search results
Indexing happens synchronously Indexing happens asynchronously
We can use SOQL in the classes and triggers SOSL cannot be used in triggers but can be used in classes
The differences between the Data table and Page block
 
Page block :
 
* It defines inside the page block station or page block
* To design the visual pages uses style sheets
* The required attribute is “value”
* Automatically it will display Column Headers

DataTable :
 
* No need to mention inside the page block station or page block
* No required value.
* The data will be displayed using custom style sheets.
* we need to specify column headers explicitly.
55 .
What is WhoId and WhatId in activities?
WhoID refers to people. Typically : contacts or leads. Example : LeadID, ContactID
 
WhatID refers to objects. Example : AccountID, OpportunityID
A bucket field lets you group related records together by ranges and segments, without the use of complex formulas and custom fields. Bucketing can thus be used to group, filter, or arrange report data. When you create a bucket field, you need to define multiple categories (buckets) that are used to group report values.
 
The advantage is that earlier, we had to create custom fields to group or segment certain data.
Before we understand dynamic dashboards, let us first understand static dashboards. Static dashboards are the basic dashboard types that will be visible to any user who has made a report out of his data. An example of this is what a Sales manager/ Marketing manager would be able to see on his Salesforce org. In other words, a normal dashboard shows data only from a single user’s perspective. Now comes the concept of dynamic dashboards.
 
Dynamic dashboards are used to display information which is tailored to a specific user. Let us consider the same example as above. In case the Sales manager wants to view the report generated specific to only one of his team members, then he can use dynamic dashboards.
 
You can use dynamic dashboards when you want to show user-specific data of a particular user, such as their personal quotas and sales, or number of case closures, or leads converted etc.

You can also use a normal/ static dashboard when you want to show regional or organization-wide data to a set of users, such as a particular region’s sales number, or a particular support team’s performance on case closures.
 
As far as the second part of the question is concerned, no we cannot schedule a dynamic dashboard. That is because whenever we open the dashboard, it will show the data generated in real-time.
Data skew” is a condition which you will encounter when working for a big client where there are over 10,000 records. When one single user owns that many records we call that condition ‘ownership data skew’.
 
When such users perform updates, performance issues will be encountered because of “data skew”. This happens when a single user/ members of a single role own most of the records for a particular object.
When it comes to Salesforce customisations, there are two main types, declarative and programmatic.
 
Declarative customisations are point and click. These allow non-developers to build powerful customisations by using a wizard to create custom fields, automation and tables of data. One of the latest developments Salesforce has brought out is Mulesoft Composer, which allows integrations into other systems to take place using only clicks!
 
Programmatic customisations on the other hand are built with code. Whilst you can do almost anything with declarative customisation, there is a limit to more complex solutions. Apex is Salesforce’s coding language and may be required if the requirement is particularly complex.
 
Lightning development, on the other hand, is Salesforce’s UI coding language, this can be used to create completely custom screen layouts. In addition, it’s common that in most integrations, some level of coding experience using API’s will be needed.
Following fields are automatically indexed in Salesforce :
 
* Primary keys (id, name and owner fields)
* Foreign keys (master-detail or lookup fields)
* Audit keys (Such as SystemModStamp)
* Custom fields ( These fields Patent as an External ID or a unique area)
Based on services, cloud services provide users with a series of functionalities like
 
* Email
* Backup, Storage, and data retrieval
* Creating and testing app
* Data Analyzing
* Audio and Video streaming

Cloud computing is still a new service, but it comes in a trend in a very short time. Nowadays, government agencies, small businesses, non-profit agencies, and individual consumers are using cloud computing.
 
Cloud computing is not a single part of technology like a microchip. It's a primary combination of three services software as a service (SaaS), infrastructure as a service (IaaS), and platform as a service (PaaS)
Environment or organization is the workspace for a particular user.
 
For Example, if you sign up to a Facebook account, you will be provided a unique username and password. The same approach, if you subscribe to the Force.com cloud computing, you will be provided a valid credential to work in your specified cloud computing area of the environment or Org.
 
The Salesforce environment provides accessibility to develop, test the apps, and can be used for production also. This environment can be customized according to your requirements such as Apex code, workflow, Custom DB attributes, and objects.
All Apex programs run on-demand exclusively on force.com platform.
 
First, the application server compiles the apex code into an abstract set of instructions that can be understood by apex runtime interpreter.
 
After the compilation, the compiled code is stored to metadata.
 
And now, when the end users initiate the execution of apex by clicking the button or visual force page, the application servers retrieve the compiled instructions from the metadata and forward them to runtime interpreter before returning the result.
A permission set is a collection of settings and permissions for accessing various tools and functions in Salesforce. They are used for the extension of the user’s functional access, without any changes to the profiles. Users can have only one profile but multiple permission sets.
 
For Example, A set of users has the same profile called Sales Users. These users have the right to read, create and edit the leads. If some users need to transfer and delete leads, then a permission set is created here.
Database.Batchable interface contains three methods that must be implemented :
 
Start method : We use the start method at the beginning of the batch apex job. We use it for collecting the objects or records, for passing them to the interface for executing. It returns a DatabaseQueryLocator object that comprises objects or the records sent to the job.
global (Database.QueryLocator | Iterable) start(Database.BatchableContext bc) {}
Execute method : We use this method for every batch of the records that are sent to the method. We use this method for data processing. This method does the following :
 * sObjects records list
* Reference to the DatabaseBatcheable context.
global void execute(Database.BatchableContext BC, list<P>){}
Finish method : We call this method once we finish the batch processing. We use this method to send confirmation emails or to execute the post-processing operations.
global void finish(Database.BatchableContext BC){}
Salesforce has several APIs for developers to interact with the system. Examples of Salesforce API are : 
 
Streaming : The Streaming API is useful for triggering and receiving notifications when a change is made to Salesforce data according to the defined SOQL query criteria. It can be used to push notifications from the server to the client based on defined criteria.

Bulk : It provides programmatic access for quick loading and querying a huge amount of data into your Salesforce organization.
The list of different types of email templates that can be created in Salesforce is given below :
 
Text : All the users in the organization are allowed to create or change these templates.

HTML with letterhead : Only administrators and users with the “Edit HTML Templates” permissions are able to create these templates based on a letterhead. The look and feel of your HTML email templates are defined by the letterheads. It can inherit the logo, text, and color settings from a letterhead.

Custom HTML : It is an extension of HTML with a letterhead. Administrators and users having “Edit HTML Templates” permissions can create custom HTML templates without using the letterhead. You must have knowledge about HTML or get the HTML code to insert it into your email template.

Visualforce : Administrators and developers are allowed to create these templates by using Visualforce. Visualforce templates provide advanced functionalities like merging with a recipient’s data, where the content of a template can have data from multiple records.
Salesforce Lightning is a component-based application development framework with a collection of tools and technologies for effectively increasing the Salesforce platform performance. The tools include visual upgrades, optimized interfaces, and more. It simplifies processes for business users who have no programming experience.
 
It allows easy and quick creation of applications that solve business issues and enhance engagement. Some key features are :
 
* Provides a drag-drop facility for app creation and customization.

* Has tools and extensions for the development of reusable components.

* AppExchange for over 50 partner components. 

* Has style guides and provides user experience practices for app development.

* Lightning Connect is an integration tool for applications of Force.com to consume data from an external source that meets the OData specification.
Email services are an automated process that uses Apex classes to process the contents, Headers, Attachments of Inbound Email.
 
Note :
* Visualforce email templates cannot be used for mass emails.
* We can associate each email service with one or more salesforce-generated email addresses to which the users can send messages for processing.
Map Class in Apex :
 
* Map Class Contains methods for the Map collection type.
* A Map is a collection of key-value pairs where each unique keymap to a single value.
* Map keys and values can be any data type primitive types, collections, objects, user-defined types, and built-in Apex types.

For Example, the following table represents a map of countries and currencies

Country(Key) ‘United States ‘Japan’ France’ ‘England’ ‘India’
Currency (Value) ‘Dollar’ Yen’ ‘Euro’ ‘Pound’ ‘Rupee’
Software developers from around the world will unanimously agree that writing code in test classes makes debugging more efficient. Why? That is because test classes help in creating robust and error-free code be it Apex or any other programming language. Since Unit tests are powerful in their own right, Salesforce requires you to write test classes in Apex code.
 
Why are they so powerful? Because test classes and test methods verify whether a particular piece of code is working properly or not. If that piece of code fails, then developers/ testers can accurately locate the test class having the faulty bug.
 
Test classes can be determined easily because every test class will be annotated with @isTest keyword. In fact, if we do not annotate a test class with @isTest, then it cannot be defined as a test class. Similarly, any method within a class which has the keyword testMethod, is a test method.
An external ID is a custom field which can be used as a unique identifier in a record. External IDs are mainly used while importing records/ data. When importing records, one among the many fields in those records need to be marked as an external ID (unique identifier).
 
An important point to note is that only custom fields can be used as External IDs. The fields that can be marked as external IDs are: Text, Number, E-Mail and Auto-Number.
73 .
How many callouts to external service can be made in a single Apex transaction?
Governor limits will restrict a single Apex transaction to make a maximum of 100 callouts to an HTTP request or an API call.
To control the number of records displayed on each page, we use pagination. By default, a list controller returns 20 records on the page. To customize it, we can use a controller extension to set the pageSize. Take a look at the sample code below:-
<apex:page standardController="Account" recordSetvar="accounts">
 <apex:pageBlock title="Viewing Accounts">
 <apex:form id="theForm">
 <apex:pageBlockSection >
 <apex:dataList var="a" value="{!accounts}" type="1">
 {!a.name}
 </apex:dataList>
 </apex:pageBlockSection>
 <apex:panelGrid columns="2">
 <apex:commandLink action="{!previous}">Previous</apex:commandlink>
 <apex:commandLink action="{!next}">Next</apex:commandlink>
 </apex:panelGrid>
 </apex:form>
 </apex:pageBlock>
</apex:page>
Lightning Component Framework : It provides components and extensions that can be utilized to develop reusable custom components, standalone apps, and customize the Salesforce1 Mobile App.

Lightning App Builder : An UI tool that lets you build apps rapidly with the help of drag and drop components provided by Salesforce.

Lightning Connect : An integration tool to easily integrate Salesforce to consume data from any external source OData specification.

Lightning Process Builder : Lightning Process Builder in Salesforce is a visualization tool for the automation of business processes.

Lightning Schema Builder : It is a visualization tool used to view and create objects, fields, and relationships.
Lightning message service is a distinctive salesforce feature that allows interaction between Aura, Lightning Web Components, and Visualforce over the same lightning page. We can use the Lightning message service in Lightning Experience only.
Metadata relates to the fields, configurations, code, logic and page layouts that go into building the information architecture and look and feel of your Salesforce environment.
 
Data relates to the records that a business relies on, such as Users, Accounts, Contacts, to name a few. On the other hand, Metadata is the data that describes other data.
Mulesoft is an integration platform that was acquired by Salesforce in 2018 for $6.5B.
 
Mulesoft’s Anypoint platform, allows you to integrate with other systems easily, with a set of templates that provide out-of-the-box API’s. Salesforce acquired Mulesoft to better serve customers going through their digital transformations and required integration with backend systems such as HR, Finance or ERP.
 
Salesforce has also recently released Mulesoft Composer, which is designed to give Admin’s a declarative way to integrate with other systems.
Junction objects are needed to build a many-to-many relationship among Salesforce objects.
 
For Example : In a typical recruitment scenario, there are possibilities of creating many positions for candidates and at the same time, a candidate can apply for many positions.
 
The third object required for creating a data model is termed as a junction object and in this example, it can be cited as “job application”. Here, you need to use a lookup field for both position and candidate object on the junction object – which is a job application.
Yes, we can use a getter method to return values for a controller. Every value calculated by a controller and displayed on a page must have a getter method.
 
On the other hand, the setter method is used for passing user-specified values from page mark up to the controller. The setter method in a controller is automatically executed, before any actions.
OAuth is an open-standard authorization protocol or framework. It describes how unrelated services and servers can safely allow authenticated access to their assets. But there is no need to share related, initial, and single login credentials.
An Outbound message is a part of the workflow and is created for a Workflow rule. It helps to send information to a specified URL endpoint. Information contained in the fields is specified during the creation of the outbound message. It sends secure and configurable API messages to a designated listener.
Blob is a data type that is meant to collect binary data. Tostring() is a method that converts the blob back into a string.
String myString = 'test string';
Blob myBlob = Blob.valueof(myString);
String newString=myBlob.toString();
System.debug(newString);​
Apex uses access modifiers for defining methods and variables. These are private, protected, global or public access modifiers.

To use the private, protected, public, or global access modifiers, use the following syntax:
[(none)|private|protected|public|global] declaration
For example :
// private variable s1
private string s1 = '1';

// public method getsz()
public string getsz() { 
   ... 
}
85 .
What is Obligatory Outer Tag? Which tag is used for displaying a video in the Visualforce?
The tag <apex: page> is the obligatory outer tag. The tag<apex: flash> is used to display a video in the Visualforce.
A package is a bundle/collection of a list of components or related applications.
 
There are two types of packages :
 
* Managed
* Unmanaged

Managed Packages are used to sell and distribute applications to clients. Developers can sell user-based licenses and applications through the AppExchange for the managed packages. These are fully upgradable. In the case of seamless upgrades, removal of objects or fields is performed.