Deck1 Flashcards
What is the difference between a role and a profile?
Profiles are both features that can be added to a user record in Salesforce. Roles are optionally added while Profiles are a basic requirement of setting up a user.
Profiles help to control object privileges such as CRED (Create, Read, Edit, Delete). They also contain system permissions that a user can carry out such as exporting data.
Roles on the other hand help with sharing records across an organisation. They work in a hierarchical fashion, giving users access to records that are owned by people lower down in the hierarchy.
Can you name three types of object relationships available in Salesforce?
There are three main relationship types in Salesforce…
A lookup relationship can be used to link two objects together. It is the most basic type of relationship that creates a child-parent relationship between two objects.
A master-detail relationship can also be used to link two objects together. A master-detail relationship creates a tight relationship between the parent and the child. The child record inherits security of the parent, and if the parent is deleted, all associated child records will also be deleted. Master-detail relationships created some extra functionality such as roll-up summary fields that allow you to calculate data on the parent from the children.
A many-to-many relationship (Also referred to as a junction object), allows you to create a relationship between two objects that need to model a many-to-many relationship. These are created with an object that has two master-detail relationships to two parent objects.
What is SOQL used for?
SOQL stands for Salesforce Object Query Language. It is very similar to the widely used language SQL (Structured Query Language), to query databases. SOQL is specifically designed for Salesforce data and is used to query the Salesforce platform to retrieve data. SOQL is used within Apex & Visualforce to return sets of data.
What’s the difference between Salesforce.com & Force.com?
Salesforce.com is SaaS(Software-as-a-Service) product while Force.com is a PaaS product (Platform-as-a-Service). Salesforce.com has a selection of prepackaged solutions such as the Sales & Service Cloud that are designed for a specific purpose. While Force.com allows you to build your own applications. Salesforce.com is built on the Force.com platform.
- What options are available to you for deploying from a Sandbox to Production?
There are various ways to deploy from Sandbox to Production. The main way is to use a Salesforce feature called Change Sets. These allow you to package up components and then deploying them to another Salesforce Org. There are various other methods including ANT MIgration Tool, Force.com IDE and Unmanaged packages.
How are bucket fields used in Salesforce?
Bucket fields can be used in Salesforce reports to group together field values. These fields are not created on the Salesforce platform and only exist in in the report itself.
What is Apex?
Apex is a strongly typed, object-oriented programming language that allows developers to extend the Salesforce platform by writing their own business logic into the platform. Apex looks similar to Java and can be launched through a variety of user-initiated events such as record updates, button clicks, triggers on objects, or external web service requests.
Can you customize Apex & Visualforce directly in a production org?
Apex cannot be customized in a production Org, it must be changed and deployed through a sandbox and meet test coverage. Visualforce, on the other hand, maybe customized directly in production (Although this is not best practice).
What are the two options for when Apex Triggers can run?
Apex Triggers can either run before a record has been saved of after. A “before” operation is usually used to verify information that is going to be inserted, and an “after” trigger is used to access data that has previously been entered by a user or system.
When should Apex be used over Workflow rules or Process Builder?
There are various reasons why you should use Apex over declarative automation options:
Workflow rules and Process Builder operations sometimes have feature limitations that can be overcome with Apex. For example, pulling information from an external system.
When dealing with certain or large sets of data, Apex can be more efficient than declarative options due to less limitations.
What are Governor Limits? Name 3 examples?
Salesforce runs on a multitenant environment which means resources (Storage, CPU, Memory) are shared with other companies on the Salesforce platform. This means limits must be in place to ensure that all companies using the Salesforce architecture abide by certain rules and don’t let their code or processes monopolize shared resources.
Governor Limits: Total number of records retrieved by a SOQL query
50,000
Total number of SOQL queries issued
100 (Synchronous) 200 (Asynchronous)
Total number of DML statements issued
150
Total number of callouts (HTTP requests or Web services calls) in a transaction
100
Maximum CPU time on the Salesforce servers
10,000ms (Synchronous) 60,000ms (Asynchronous)
What is Apex test coverage? What’s the minimum test coverage required to deploy?
To ensure that your code meets certain standards, Apex Code coverage shows you how many executable lines of code in your classes and triggers have been exercised by test methods. Code coverage percentage is a calculation of the number of covered lines divided by the sum of the number of covered lines and uncovered lines. The minimum test coverage required to deploy to production is 75%
Best Practice 1: What does Bulkify your Code mean?
Bulkifying Apex code refers to the concept of making sure the code properly handles more than one record at a time. When a batch of records initiates Apex, a single instance of that Apex code is executed, but it needs to handle all of the records in that given batch. For example, a trigger could be invoked by an Force.com SOAP API call that inserted a batch of records. So if a batch of records invokes the same Apex code, all of those records need to be processed as a bulk, in order to write scalable code and avoid hitting governor limits.
Name 3 examples of Apex Best Practices:
Bulkify your code
Avoid SOQL Queries or DML statements inside FOR Loops
Avoid Hardcoding IDs
Best Practice 2: Avoid SOQL Queries or DML statements inside FOR Loops
Move any database operations outside of for loops. If you need to query, query once, retrieve all the necessary data in a single query, then iterate over the results. If you need to modify the data, batch up data into a list and invoke your DML once on that list of data.
What is an Apex Email Service?
You can use email services to process the contents, headers, and attachments of inbound emails. For example, you can create an email service that automatically creates contact records based on contact information in messages
What are the different type of Collections you can have in Apex?
Lists
Sets
Maps
What is Visualforce?
Visualforce is the component-based user interface framework for the Force.com platform. The framework includes a tag-based markup language, similar to HTML. Each Visualforce tag corresponds to a coarse or fine-grained user interface component, such as a section of a page, or a field. Visualforce boasts about 100 built-in components and a mechanism whereby developers can create their own components.
What is a Static Resource?
Static resources allow you to upload content that you can reference in a Visualforce page, including archives (such as .zip and .jar files), images, style sheets, JavaScript, and other files.
https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_resources.htm