Sunday, June 18, 2017

Salesforce Interview QAs

Snider Electric - Interview for Salesforce Architect

  1. Can you describe about your lightning experience?
  2. What are the challenges you faced while working on lightning?
  3. Do you have any hands-on currently on lightning?
  4. How are the messages communicated between the components? Event is one way. What are the other ways? For example, I have a component called A, inside that component B and inside B we have a component called C. How to communicate between component A and C.
  5. I am creating a contact. For inserting a record and saving a component what are the different steps involved in this? 
  6. What would you write a backend call? How you pass the information to Apex method? How do you call apex methods from lightning component?
  7. As it is an asynchronous call, How would you get the response from client controller?
  8. Once the Response is received I want to navigate to that inserted record using the record id. How do I do that?
  9. How do you display a visualforce page in lightning? I have a custom lightning component and using code how do you call VF Page?
  10. I have an Lightning App Builder record page. I would like to display a set of 10 fields on the wide area panel. How do I do that?



Accenture Interview Questions


1)   What is Dynamic Approval Process?





6)   Batch Apex?

7)   Will one workflow effects another workflow?

Yes If one workflow field update one field and there is another workflow which gets trigger (provided that on field update "Re-evaluate Workflow Rules after Field Change" is checked).
Check here for more details :
Field Updates That Re-evaluate Workflow Rules

8)   Syntax for upsert & undelete trigger & Purpose undelete?
There are only four DML operations for which triggers can be executed: insert, update, delete and undelete
So if you want to go for upsert-You need to go for Insert and Update Trigger Combined.
Undelete Trigger will fire when you will try to restore deleted record or undelete the record.

Trigger Frameworks and Apex Trigger Best Practices

9)   Case management?

10)   If we want to upload data through DataLoader, what the changes to be done?

If you want to upload data in Salesforce, Select the Insert option, choose the object of which you want to insert records. Upload .csv file containig the records.

.csv file: In your .csv file, your field names will be the columns, make sure you will include dat related to at least the mandatory fields on the object. 
11. Write a trigger on Account, While inserting a text value as ‘someName’ ended with ‘text’ ex: ‘renuText’ On Account Object it should through an error. How you will achieve this…??

I will suggest you to try trailhead to learn about Trigger
https://trailhead.salesforce.com/modules/apex_triggers

Use AddError for validation rule
1) https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_methods_system_sobject.htm#apex_System_SObject_addError

Try below code
trigger AccountTrigger on Account(before insert , before update)
{
    for(Account acc : trigger.new)
    {
        if(acc.Name.endsWith('text'))
        {
            acc.addError('Name contain Text');
        }
    }
}

Trigger Best Practices | Sample Trigger Example | Implementing Trigger Framework

1) One Trigger Per Object
A single Apex Trigger is all you need for one particular object. If you develop multiple Triggers for a single object, you have no way of controlling the order of execution if those Triggers can run in the same contexts

2) Logic-less Triggers
If you write methods in your Triggers, those can’t be exposed for test purposes. You also can’t expose logic to be re-used anywhere else in your org.

3) Context-Specific Handler Methods
Create context-specific handler methods in Trigger handlers

4) Bulkify your Code
Bulkifying Apex code refers to the concept of making sure the code properly handles more than one record at a time.

5) Avoid SOQL Queries or DML statements inside FOR Loops
An individual Apex request gets a maximum of 100 SOQL queries before exceeding that governor limit. So if this trigger is invoked by a batch of more than 100 Account records, the governor limit will throw a runtime exception

6) Using Collections, Streamlining Queries, and Efficient For Loops
It is important to use Apex Collections to efficiently query data and store the data in memory. A combination of using collections and streamlining SOQL queries can substantially help writing efficient Apex code and avoid governor limits

7) Querying Large Data Sets
The total number of records that can be returned by SOQL queries in a request is 50,000. If returning a large set of queries causes you to exceed your heap limit, then a SOQL query for loop must be used instead. It can process multiple batches of records through the use of internal calls to query and queryMore

8) Use @future Appropriately
It is critical to write your Apex code to efficiently handle bulk or many records at a time. This is also true for asynchronous Apex methods (those annotated with the @future keyword). The differences between synchronous and asynchronous Apex can be found

9) Avoid Hardcoding IDs
When deploying Apex code between sandbox and production environments, or installing Force.com AppExchange packages, it is essential to avoid hardcoding IDs in the Apex code. By doing so, if the record IDs change between environments, the logic can dynamically identify the proper data to operate against and not fail

12. How you will write Validation rule for above scenario while inserting the record and Validation rule should not fire while updating form workflow it should accept.


You can use the ISNEW() function for the validation rule to be triggered only on record creation. Another point to be noted is that validation rules are never triggered when a record is updated through a workflow. So you really need not explicitly put any logic for that in your validation formula.

Please check the point no 12 in the below link which clearly exlpains that validation rules are not re-triggered on workflow field updates.

https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_triggers_order_of_execution.htm

13. In one of the object, there are two fields called Field1 and Filed2 exist and we have 100,000 records, out of 70,000 record values are equal in field1 and field2. Now Display those 70,000 records on the visualforce page.


If your purpose is to display the records only, then you can set the readOnly='true' in apex:page tag. Using this, the SOQL limit will be relaxed from 50000 to 100000.
Also, You can use - Annotate apex method with @ReadOnly

14. In an Account Object a field called ‘Sales Person‘ and it has lookup relation with the user object. If the user is selected as the salesperson for a record, that user able to see those records, but OWD is private, record owner and admin will not share any records.

16. How to get the external ID from other system and update it in Salesforce ExternalID field, if you get null value from another system how you will through an error.

https://salesforcean.blogspot.in/2017/10/using-exernal-id-fields-in-salesforce.html

Deloitte F2F Interview Question


1 – We have 3 objects Account, Contact, Opportunity.   In a VF page, we need to display the names of contact & Opportunity which are related to Account.

2 – One object (s1) & 3 tasks (t1, t2, t3) are there. Each task performing discount related stuff.   Write a trigger that should calculate the sum of 3 tasks.  And if any task is modified than trigger should fire automatically & perform the same.

Ans: List listoftasks = [select id, name from Task where whatId=Trigger.new];

3 – How can you convert a lead?

4 – What is your Role in your project?
5 – Explain 2 VF pages developed by you?
6 – How will you deploy? Have you ever involved in deployment?
7 – How will you test your code through Sandbox?
8 – What are the custom settings? Types?
9 – Difference between SOSL and SOQL in Salesforce?
10 – What is Sales cloud & Service cloud?
11 – can a Checkbox as controlling field?
12 – SOQL & SOSL? Diff between SOQL & SOSL?
13 – Difference b/w External ID & Unique ID?
https://help.salesforce.com/articleView?id=000005395&type=1

14 – What is System.RunAs () is test class?
15 – Explain  Test.setPage ()?
16 – Why Governor Limits are introduced in Salesforce.com?

TCS F2F interview


1 – About project?
2 – What are standard objects used in your project?
3 – Governor Limits?
4 – How many types of relationship in Salesforce.
5 – Have you experience Data Migration?
6 – What is the Roll-up summary field?
7 – What is the difference between sales cloud & service cloud?

Capgemini f2f Interview Questions


1) Briefly, explain about yourself?

2) What is Salesforce architecture?

3) What all the services provided in cloud computing?

5) What is the difference between profiles and roles?

6) What are web services? why we need to go for them? What is WSDL? What is SOAP?

7) Here you attended Capgemini written test. If you got selected here you will be sent to technical round..if you got selected in the technical round then you will be sent to HP for client interview, because HP is the client to Capgemini. If you got selected finally.Then you will be put into work.  This is the scenario. which process do you apply here either “WORKFLOWS” or “APPROVALS“.

9) How you will make a class available to others for the extension? (Inheritance concept)

10) In the process of creating a new record, how you will check, whether the user has entered email or not in the email field of Account object? Validation Rules

11) How you will write a javascript function that displays an alert on the screen?

12) What is the value of “renderas” attribute to display o/p in the form of Excel Sheet?

13) How you will get the javascript function into the Visual-force page?

14) Can we create a dashboard using the Visual-force page? and what all the components we use here?

15) What are web tabs?

16) How you will add an attachment from VF page? tell me the component names to achieve this functionality?

17) Security(OWD, Sharing Rules, Manual Sharing).

18) Rate yourself in salesforce?

21) You will be given pen and paper, they will ask you to write some simple code.

American Express F2F Interview Questions

1)  What is the trigger in Salesforce? Types of Trigger?

2)  What are default methods for Batch Apex?

3)  Analytical snapshot?

5)  Other than Data Loader any other way to import Bulk Data?

6)  Explain any scenario occurred you to work beyond Governor Limits?

7)  How u will do Mass Insert through trigger?

7)  How u will do Mass Insert through trigger?

8)  If I want to Insert, Update any record into ‘Account’. What trigger I have to use?

HYTECHPRO COMPANY QUESTIONS


1) There is a field billingAddress in company object. Whenever a new employee is inserted or an old one is updated employee’s billing address should be copied to company’s billing address. The company is master and employee is the child. Write trigger.

2) There is a checkbox__c in opportunity. Write a batch class to update(checkbox__c  = true) in all the opportunity which is created in last 1 hour.

3) Write a trigger to delete all the contact created while lead conversion. Prevent the contact creation while Lead conversion. Is this possible?

4) Write SOQL query to get all the Account having contact.

5) Write SOQL query to get all the Account having no contact.

6) Write SOQL query to get all the Account having lost opportunity.

F2F HytechPro Questions


1 – What is fieldset in Salesforce? Field Set
2 – What are setup and non-setup objects in Salesforce?

3 – Write a trigger to insert a contact and user when the account is created.

4 – What is Mixed DML and how would you handle it.

5 – What are lightning components? Have you ever developed any lightning Component?
6 – Does your company works on Lightning component or Lightning Experience?

7 – Responsive Email templates?
  

Tech Mahindra Interview Questions


Update contact mailing address based on account mailing address - https://developer.salesforce.com/forums/?id=906F0000000AxLvIAK

Difference between profile & permission set
How do you update data From one sandbox to other using integration

What are lead, account, contact & opportunities
What is solution & knowledge base

UST Global Interview Questions


1) Consider User Object with a Picklist - Groups - Values - Group 1, 2, 3, 4 and there are corresponding Public Groups for picklist values. When a new user is created or edited assign the user automatically to corresponding public groups as per the selected picklist values. 

2) What is View State

3) What is Test Setup Method 


Relevance Labs Interview Questions

Configuration Questions
Q 1: If I have to make a field read only, what are different ways to do that?
Ans: First is - At Profile Level using field level security. Second is - In page layout marking as read-only. 

Q 2: If I have to do page layout assignment, what are different ways to do?
Ans: One is - Profile. Second if - Record Type

Q 3: Can you give me most restricted to least restricted options in Salesforce from security standpoint?
Ans: OWD -> Sharing Rules, Manual Sharing -> Roles, Profiles, Permission Set

Q 4: What's the difference between Profile and Permission Set?
Ans:

Q 5: If I have a Trigger, Workflow Rule and Process Builder configured for an object, when I say oracle, what's the sequence of execution?
Ans:

Triggers and Order of Execution

When you save a record with an insertupdate, or upsert statement, Salesforce performs the following events in order.
Note
Before Salesforce executes these events on the server, the browser runs JavaScript validation if the record contains any dependent picklist fields. The validation limits each dependent picklist field to its available values. No other validation occurs on the client side.
On the server, Salesforce:
  1. Loads the original record from the database or initializes the record for an upsertstatement.
  2. Loads the new record field values from the request and overwrites the old values.
    If the request came from a standard UI edit page, Salesforce runs system validation to check the record for:
    • Compliance with layout-specific rules
    • Required values at the layout level and field-definition level
    • Valid field formats
    • Maximum field length
    When the request comes from other sources, such as an Apex application or a SOAP API call, Salesforce validates only the foreign keys. Prior to executing a trigger, Salesforce verifies that any custom foreign keys do not refer to the object itself.
    Salesforce runs user-defined validation rules if multiline items were created, such as quote line items and opportunity line items.
  3. Executes all before triggers.
  4. Runs most system validation steps again, such as verifying that all required fields have a non-null value, and runs any user-defined validation rules. The only system validation that Salesforce doesn't run a second time (when the request comes from a standard UI edit page) is the enforcement of layout-specific rules.
  5. Executes duplicate rules. If the duplicate rule identifies the record as a duplicate and uses the block action, the record is not saved and no further steps, such as after triggers and workflow rules, are taken.
  6. Saves the record to the database, but doesn't commit yet.
  7. Executes all after triggers.
  8. Executes assignment rules.
  9. Executes auto-response rules.
  10. Executes workflow rules.
  11. If there are workflow field updates, updates the record again.
  12. If the record was updated with workflow field updates, fires before update triggers and after update triggers one more time (and only one more time), in addition to standard validations. Custom validation rules, duplicate rules, and escalation rules are not run again.
  13. Executes processes.
    If there are workflow flow triggers, executes the flows.
    The pilot program for flow trigger workflow actions is closed. If you've already enabled the pilot in your org, you can continue to create and edit flow trigger workflow actions. If you didn't enable the pilot in your org, use the Flows action in Process Builder instead.
  14. Executes escalation rules.
  15. Executes entitlement rules.
  16. If the record contains a roll-up summary field or is part of a cross-object workflow, performs calculations and updates the roll-up summary field in the parent record. Parent record goes through save procedure.
  17. If the parent record is updated, and a grandparent record contains a roll-up summary field or is part of a cross-object workflow, performs calculations and updates the roll-up summary field in the grandparent record. Grandparent record goes through save procedure.
  18. Executes Criteria Based Sharing evaluation.
  19. Commits all DML operations to the database.
  20. Executes post-commit logic, such as sending email.
Note
During a recursive save, Salesforce skips steps 8 (assignment rules) through 17 (roll-up summary field in the grandparent record).

Additional Considerations

Please note the following when working with triggers.
  • The order of execution isn’t guaranteed when having multiple triggers for the same object due to the same event. For example, if you have two before insert triggers for Case, and a new Case record is inserted that fires the two triggers, the order in which these triggers fire isn’t guaranteed.
  • When a DML call is made with partial success allowed, more than one attempt can be made to save the successful records if the initial attempt results in errors for some records. For example, an error can occur for a record when a user-validation rule fails. Triggers are fired during the first attempt and are fired again during subsequent attempts. Because these trigger invocations are part of the same transaction, static class variables that are accessed by the trigger aren't reset. DML calls allow partial success when you set the allOrNone parameter of a Database DML method to false or when you call the SOAP API with default settings. For more details, see Bulk DML Exception Handling.
  • If your org uses Contacts to Multiple Accounts, anytime you insert a non-private contact, an AccountContactRelation is created and its validation rules, database insertion, and triggers are executed immediately after the contact is saved to the database (step 6). When you change a contact's primary account, an AccountContactRelation may be created or edited, and the AccountContactRelation validation rules, database changes, and triggers are executed immediately after the contact is saved to the database (step 6).
  • If you are using before triggers to set Stageand Forecast Category for an opportunity record, the behavior is as follows:
    • If you set Stage and Forecast Category, the opportunity record contains those exact values.
    • If you set Stage but not Forecast Category, the Forecast Category value on the opportunity record defaults to the one associated with trigger Stage.
    • If you reset Stage to a value specified in an API call or incoming from the user interface, the Forecast Category value should also come from the API call or user interface. If no value for Forecast Category is specified and the incomingStage is different than the trigger Stage, the Forecast Category defaults to the one associated with trigger Stage. If the trigger Stage and incoming Stage are the same, the Forecast Category is not defaulted.
  • If you are cloning an opportunity with products, the following events occur in order:
    1. The parent opportunity is saved according to the list of events shown above.
    2. The opportunity products are saved according to the list of events shown above.
    Note
    If errors occur on an opportunity product, you must return to the opportunity and fix the errors before cloning.
    If any opportunity products contain unique custom fields, you must null them out before cloning the opportunity.
  • Trigger.old contains a version of the objects before the specific update that fired the trigger. However, there is an exception. When a record is updated and subsequently triggers a workflow rule field update, Trigger.old in the last update trigger won’t contain the version of the object immediately prior to the workflow update, but the object before the initial update was made. For example, suppose an existing record has a number field with an initial value of 1. A user updates this field to 10, and a workflow rule field update fires and increments it to 11. In the update trigger that fires after the workflow field update, the field value of the object obtained from Trigger.old is the original value of 1, rather than 10, as would typically be the case.


Q 6: If I invoke a method on a class from a process builder and the method has a callout, what will happen during the save operation?
Ans:

Q 7: I have a visualforce page which has a controller. In the controller code, It is accessing an object for which user has no access. Why is it happening that way?
Ans: Controller runs into the System context.

Q 8: If I want to write code to restrict the access to records and fields which he has access to, In the Apex Class what should I do to implement this?
Ans: Using "with sharing" user will not be able to access to record. And using IsAccessible function on the object we can restrict access on fields.

Q 9: What's the difference between Synchronous and Asynchronous Apex? Give examples.
Ans: 

Asynchronous Overview

An asynchronous process is a process or function which does not require immediate interaction with a user. An asynchronous process can execute a task "in the background" without the user having to wait for the task to finish. Force.com features such as asynchronous Apex, Bulk API, and Reports and Dashboards use asynchronous processing to efficiently process requests.
Asynchronous processing provides a number of benefits including:
  • User Efficiency – By separating functionality that needs an immediate user response from functionality that can be completed at a later time, we can ensure that the Salesforce user experience is always as responsive as possible, and that users are never blocked waiting for a process that could be completed in the background.
  • Resource Efficiency – Each Salesforce instance has a finite set of resources. Under normal load patterns, these resources can be efficiently managed by optimizing latency sensitive jobs, and using asynchronous processing for less latency sensitive jobs.
  • Scalability – By allowing some features of the Force.com to execute asynchronously, resources can be managed and scaled quickly. This allows Salesforce instances to handle more customer jobs using parallel processing.
There are many different types of asynchronous requests on Force.com. Some are user initiated and some are internal housekeeping functions. Asynchronous requests users will be familiar with include:
  • Asynchronous Apex (@future Apex, batch Apex, queueable Apex, scheduled Apex)
  • Bulk API jobs
  • Scheduled Reports
  • Dashboard refreshes
Force.com asynchronous processing makes a best effort to complete requests as quickly as possible, however there are no guarantees on wait or processing time.

How Salesforce Asynchronous Processing Works

Asynchronous processing, in a multi-tenant environment, presents some challenges:
  • Ensure fairness of processing – Make sure every customer gets a fair chance at processing resources in a multi-tenant architecture.
  • Ensure fault tolerance - Make sure no asynchronous requests are lost due to equiptment or software failures.
The following diagram provides a high level overview of Force.com's asynchronous processing technology:
AsynchPaperOverview.png
Salesforce.com uses a queue-based asynchronous processing framework. This framework is used to manage asynchronous requests for multiple organizations within each instance. The request lifecycle is made up of three parts:
  1. Enqueue – The request gets put into the queue. This could be an Apex batch request, @future Apex request or one of many others. The Salesforce application will enqueue requests along with the appropriate data to process that request.
  2. Persistence – The enqueued request gets persisted. Requests are stored in persistent storage for failure recovery and to provide transactional capabilities.
  3. Dequeue – The enqueued request is removed from the the queue and processed. Transaction management occurs in this step to assure messages are not lost if there is a processing failure.
Each request is processed by a handler. The handler is the code that performs functions for a specific request type.
Handlers are executed by worker threads on each of the application servers that make up an instance. Each application server supports a finite amount of threads. Each thread can execute any type of handler and Salesforce determines how many threads are available to process requests for a given request type. The threads request work from the queuing framework and when received, start a specific handler to do the work. The following diagram shows the asynchronous processing in action:
Asynch2.png
Notice that the queue contains requests from multiple organizations. Each request can be associated with a job that could vary in complexity and running time. In the diagram, longer running jobs are represented with larger boxes.
As one request is completed, another request is removed from the queue and processed. Error handling and failure recovery is built in (via request persistence) so the requests are not lost if a queue failure or handler failure occurs.

Fair Request Handling

An organization can have many requests outstanding. For example, a single organization could queue 250,000 @future Apex requests in a 24-hour period, depending on Salesforce license type. If one organization adds a large number of requests to the queue, it could prevent other customers from getting access to the worker threads. To avoid this, the queuing framework implements flow control which prevents a single customer from using all of the available threads.
When a worker thread is available to process a request, the queuing framework will determine if the maximum number of worker threads (as determined by the handler) is being used by a single organization. If so, the framework will "peek" into the queue to see if other organizations have requests waiting. The set of requests is called the peek set and is limited to a fixed number of requests at the front of the queue (currently set at 2,000 requests). The framework will look for the requests for a different organization and process those (as long as that organization isn’t currently consuming all of its allocated threads for a given handler).
For example, assume organization 1 creates 13 @future requests that are at the head and adjacent in the queue as shown in the diagram below:
AsynchPEx1.png
Organization 2 adds two @future requests to the queue:
AsynchPEx2.png
And two more organization 1 @future requests are en-queued. At this point, the queue looks like this:
AsynchPEx3.png
For this example, assume that a maximum of 12 threads can process requests from a single organization, and that our peek set size is 15 requests. If 13 total threads are available and no other requests are being processed for organization 1 or organization 2, the processing will be as follows (see diagram above):
  1. 12 threads will take the first 12 requests from organization 1.
  2. The 13th thread will not process a request from organization 1 although it is the next one in the queue. This is because organization 1 has taken its allotted amount of threads. This request will remain in the queue at its current position until one of the 12 threads becomes available. This request is delayed.
  3. The framework will scan for requests from other organizations within the peek set of 15 requests. It will find the first @future request from organization 2 and begin processing this request, skipping the 13th request for organization 1.
AsynchPEx4.png
What happens when requests for a particular organization occupy the entire peek set when the queue is scanned in step 3 above?
Again, assume 12 threads are processing requests from organization 1. This time, organization 1 has 15 requests remaining in the queue and organization 2 has two requests in the queue as shown in this diagram:
AsynchPEx5.png
Since all of the requests in the peek set are from a single organization (organization 1), those 15 requests will be moved to the back of the queue with a specific delay. This is called an extended delay.
The delay is different for each message. For example, for @future requests, the delay is 5 minutes. That means a minimum of 5 minutes must elapse before those requests are eligible for processing.
When delayed requests become eligible for processing, it's possible for these requests to be acted upon by flow control and again get moved to the back of the queue and delayed. Therefore requests can be delayed several times before they're completed. Additionally, when those requests are moved, they will be put back into the queue in the same logical order and they may have other requests intermingled with them.

Resource Conservation

Asynchronous processing in Force.com is very important but has lower priority over real-time interaction via the browser and API. Message handlers run on the same application servers that process interactive requests, and it's possible that asynchronous processing or increased interactive usage can cause a sudden increase in usage of computing resources.
To ensure there are sufficient resources to handle a sudden increase, the queuing framework will monitor system resources such as server memory and CPU usage and reduce asynchronous processing when thresholds are exceeded. If necessary, under heavy load, Salesforce will delay long running jobs in the queue to give resource priority to synchronous requests. Once the resources fall below thresholds, normal asynchronous processing will continue.

Best Practices

Best Practices for Asynchronous Apex

Apex supports batch Apex and @future Apex methods. Both of these features add requests to the asynchronous queue. Keep the following best practices in mind when planning out development work that will use asynchronous Apex.

Future Apex

Every @future invocation adds one request to the asynchronous queue. Design patterns that would add large numbers of @future requests over a short period of time should be avoided unless absolutely needed. Best practices include:
  • Avoid adding large numbers of @future methods to the asynchronous queue, if possible. If more than 2,000 unprocessed requests from a single organization are in the queue, any additional requests from the same organization will be delayed while the queue handles requests from other organizations.
  • Ensure that the @future requests execute as fast as possible. To ensure fast execution of batch jobs, minimize Web service call out times and tune queries used in your @future methods. The longer the @future method executes, the more likely other queued requests are delayed when there are a large number of requests in the queue.
  • Test your @future methods at scale. Where possible, test using an environment that generates the maximum number of @future methods you’d expect to handle. This will help determine if delays will occur.
  • Consider using batch Apex instead of @future methods to process large number of records asynchronously. This will be more efficient then creating a @future request for each record.
Extended delay time is 5 minutes.
Some example scenarios:
  • A consumer Web page is created using Force.com Sites. Each person registering at the site requires three Web service call outs to validate the consumer. These validations need to occur asynchronously after the consumer submits their information. The current design uses one @future call for each Web service call thereby creating large volumes of @future calls. A better design is to create a single @future request for each consumer that will handle the three call outs. This solution creates a much lower volume of requests.
  • For each new lead, outside data validation is required via a Web services call out. The current design creates one @future call for every record, which calls the Web service call out. This creates a large volume of @future requests, each request doing a single call out. A better design pattern is to use bulkification. Create a call out that could accept multiple records and then use @future to process multiple records in one call out. This solution creates a much lower volume of requests.

Batch Apex

Ensure that the Batch Apex process executes efficiently as possible and minimize the batches submitted at one time. Like @future requests, batch Apex needs to execute as fast as possible. Best practices include:
  • Avoid adding large numbers of batch Apex requests to the asynchronous queue, if possible. If more than 2,000 unprocessed requests from a single organization are in the queue, any additional requests from the same organization will be delayed while the queue handles requests from other organizations.
  • Tune any SOQL query to gather the records to execute as quickly as possible.
  • Minimize Web service call out times if utilized.
Extended delay is not applicable to batch Apex.
For more best practices that ensure your asynchronous Apex requests are handled properly, see the Force.com Apex Code Developer's Guide.

Best Practices for Bulk API

The Bulk API lets you create jobs and batches to load large volumes of data asynchronously. Bulk API batches are added to the asynchronous queue. If too many batches are submitted at one time, they may be subject to flow control therefore minimize the number of batches if possible.
If more than 2,000 unprocessed requests from a single organization are in the queue, any additional requests from the same organization will be delayed while the queue handles requests from other organizations. Minimize the number of batches submitted at one time to ensure that your batches are not delayed in the queue.
For more best practices that ensure your asynchronous Bulk API batches are handled properly, see the Bulk API Developer's Guide.
Q 10: What are the limits on Asynchronous process?
Ans: 100 SOQL queries in synchronous mode and 200 SOQL Statements in asynchronous mode.

Q 11: How do you invoke asynchronous calls from visualforce page?
Ans: Using action, future 

Q 12: How to make an ajax call from a visualforce page?
Ans: Java remoting

Q 13: What are the different components are created when we create an aura bundle?
Ans:

Component Bundles

A component bundle contains a component or an app and all its related resources.
ResourceResource NameUsageSee Also
Component or Applicationsample.cmp or sample.appThe only required resource in a bundle. Contains markup for the component or app. Each bundle contains only one component or app resource.Creating Components
CSS Stylessample.cssContains styles for the component.CSS in Components
ControllersampleController.jsContains client-side controller methods to handle events in the component.Handling Events with Client-Side Controllers
Designsample.designFile required for components used in Lightning App Builder, Lightning pages, or Community Builder.Configure Components for Lightning Pages and the Lightning App Builder
Documentationsample.auradocA description, sample code, and one or multiple references to example componentsProviding Component Documentation
RenderersampleRenderer.jsClient-side renderer to override default rendering for a component.Create a Custom Renderer
HelpersampleHelper.jsJavaScript functions that can be called from any JavaScript code in a component’s bundleSharing JavaScript Code in a Component Bundle
SVG Filesample.svgCustom icon resource for components used in the Lightning App Builder or Community Builder.Configure Components for Lightning Pages and the Lightning App Builder
All resources in the component bundle follow the naming convention and are auto-wired. For example, a controller <componentName>Controller.js is auto-wired to its component, which means that you can use the controller within the scope of that component.

Q 14: What are the four things we always write for a test method?
Ans: @isTest, start, execute, stop. Also we have test data setup.

Q 15: What are the different methods you have used in release management?
Ans: Changesets, ANT

Q 16: For changeset, is there a way to bypass test class?
Ans: If I want to bypass i need not select in changeset.

Q 17: Can we turn off the test class run in ANT?
Ans: To set checkonly=true.

Q 18: Can I run the dataloader in an automated fashion?
Ans: By scheduling

Q 19: If I have 10 million records if I have to export using the dataloader, can I do it?
Ans: Dataloader has 10 million records limit. If more, we need to run dataloader multiple times.

Q 20: If I have to run 2 million records in dataloader, if dataloader is running slower, what are the options to optimize?
Ans: Executing in parallel mode. Other option is bulk api in parallel mode.

Q 21: If I have parent child relations on account and contact, can I do it in single load, or should I do multiple loads?
Ans:

Salesforce Reference


Northern Trail Sample App Part 2: Salesforce and Node.js Integration with Platform Events #TDX17 #Lightning https://t.co/ayA5XsmQO6 https://t.co/PR6QWsHro9
  
Latest version of DreamHouse available as #SalesforceDX project. 3-minute install. Can’t wait for PRs! https://t.co/SCFFmzW0eP

https://t.co/59hXcfuSlm Showing All Questions https://t.co/21s5ryj52X Salesforce https://t.co/AWEhYBu5Pc

The New Customer Experience: Empowering Customers with Self-Service https://t.co/nNvW7LBq7D https://t.co/fLs0woriVd

Around the Web – 20170901 https://t.co/JdqlRWBOjO #Salesforce https://t.co/cc34HrM7c1

Deep Heroku Integration http://migration.fm019/ #Salesforce

Playing with the new External Services feature, external API integration in a few clicks! Blog tomorrow! #API #Flow @SalesforceDevs https://t.co/cjoZacBR5v

https://trailhead.salesforce.com/modules/summer_17

Marketing Cloud Social Studio Series – Publish https://t.co/zW9YfquSwm #Salesforce

Automatic Lightning Styles for Visualforce https://t.co/OEbBCYVmaZ #Salesforce

A Componentisation Fairy Tale https://t.co/9NFOZMKJFf #Salesforce

Get ready to transition to Service Cloud in Lightning Experience (Part 1): https://t.co/QVDX26w6vr https://t.co/mk17c4GgIr

Secrets of the Success Community with Chris Edwards https://t.co/VK8QcGbF5D London's Calling #Salesforce #SalesforceTube https://t.co/gftV1byzx8

#howtotuesday Optimize the page layouts for Salesforce1 mobile: https://t.co/CtgSPhwKmA

Winter ’18 Salesforce Lightning Experience Only Highlights https://t.co/hgAnZ1tYfe #Salesforce https://t.co/5HSghE099x

Join us in Charlotte on 9/19 to learn how to connect with your customers in a whole new way with Service Cloud. https://t.co/wfB6iw7cAY

Learn about AI-powered search for Salesforce in this post. https://t.co/ddT0TqtkQ9

Blogged: Invoking Apex Continuations from Lightning Components https://t.co/TEcPFdIUze #Salesforce #lightning

Winter ’18 Salesforce Mobile Highlights https://t.co/UQrZrXd6Mi #Salesforce

New app! @Resourcehero helps you find the right resources for the job. https://t.co/XAoGCLloXt #Appy https://t.co/zm49GjdcyS

Winter ’18 Salesforce Einstein Enhancements https://t.co/eQ0TwYxX1j #Salesforce https://t.co/3T6RNfEzZb

#Howtotuesday Performance tuning tips for related lists in Account: https://t.co/PRbcEQaFiQ

BE A DATA SCIENTIST WITH EINSTEIN ANALYTICS https://t.co/mzKd59ETjG Salesforce

Invoking Apex Continuations from Lightning Components https://t.co/9HOLWidlkA Christophe Coenraets #Salesforce https://t.co/UeUjkzuh0s

Check out the latest badges released on Trailhead! 13 modules, 1 project, and 1 superbadge! https://t.co/D1GJhArru4 #MOARbadges https://t.co/WTwIAwRo3Z

Invoking apex continuations from lightning components: https://t.co/dmM8dhKytU https://t.co/PXKhPJQdtc

"Customers want more bang for their buck and want to be treated like kings and queens." https://t.co/7CJXNjJg7q https://t.co/AjsUNae8j1

Lightning components performance best practices: https://t.co/iL4aKCRIIe https://t.co/4EpwHuz64w

Free Apps: Guess What They Do https://t.co/tzIKG9ISv0

What is Salesforce Lightning Design System (SLDS)? https://t.co/IndPuXlu15 #Salesforce

Implement territory management best practices with the new Sales Territories and Forecasting trailhead module. https://t.co/4TyZUKCub0 https://t.co/GyJbqwWoCU

Understanding Lightning Component Framework Architecture https://t.co/Rhx6fD3WJo #Salesforce

Missed today's #mystackrules webinar w/ @KristiForce @redsoxdad @GeraldineGray? No worries! Watch it right here: https://t.co/DCNv8Ucuuj

CSS Primer for Lightning Developers: The “Cascading” Part of Cascading Style Sheets https://t.co/0dyn9dPnRD #Salesforce https://t.co/CkpzNpXs7D

Winter 18 Release - Hallo neuer Look, Service Cloud und SuperListViews https://t.co/sajAmOmM0R #Salesforce

CSS Primer for Lightning Developers: CSS Structure https://t.co/G9c18aPCTa #Salesforce

Salesforce service cloud overview demo: https://t.co/FdLVY7oe6J https://t.co/qnpYUo9MdT

New app! @SenderGen manages email signatures across all text and HTML email templates. Get the app: https://t.co/CqmmhuHjOn #Appy https://t.co/LoX3jymxMo

WizardCast Introduction – Voices of Ohana https://t.co/7EQuQ387Sp #Salesforce

CSS Primer for Lightning Developers: CSS Attribute Selectors https://t.co/xcKkn8YmXn Mike Topalovich #Salesforce

Restrict users from seeing a field without deleting it: https://t.co/y0vH8kuhxt

"In short, AI-powered search is your ticket to a personalized customer experience and healthy community." - @Coveo. https://t.co/TrTi6PeSun

https://developer.salesforce.com/docs/atlas.en-us.packagingGuide.meta/packagingGuide/packaging_upgrading.htm

Syncing Business card data to Salesforce . . https://t.co/c5lzSrimQY #Salesforce

The 5 Most Wanted Salesforce Features: IdeaExchange Round-up https://t.co/oR5VEivayW #Salesforce

Salesforce sales cloud Overview Demo: https://t.co/PJmejLeRgM https://t.co/D9Qpro1XkZ

CSS Primer for Lightning Developers: Font and Text Properties for Typography https://t.co/0wVoWJCTq0 #Salesforce

Web Studio & Content Builder- Create a landing page with CloudPages: https://t.co/n1kc87gIPj

CSS Primer for Lightning Developers: Background Properties https://t.co/hRJd39UJqL Mike Topalovich #Salesforce

CSS Primer for Lightning Developers: CSS Units for Length Measurement https://t.co/NblZx19Ive Mike Topalovich #Salesforce

Learn about security health check (Lightning Experience): https://t.co/ZOOsRjMRAC

A Beginner’s Guide to Einstein (Wave) Analytics https://t.co/ab1r6d6LqS #Salesforce
Migrating visualforce pages to Lightning: https://t.co/jVwOTooacB

Resolving Compile Error: Required class relationships must be maintained https://t.co/XnCtmjFbjB #Salesforce https://t.co/0UEQ6SaBF4

Email Studio & Content Builder - Create an advanced email with templates: https://t.co/sj9Wnem5F5

Trailhead for the security minded! Learn how to use session-based perm sets to limit access to data in your org. https://t.co/o5d7vXJEJG

Lightning:tree to display Account Hierarchy #Salesforce Lightning Component #Winter'18 https://t.co/2QbwWGieu2 #Salesforce

Get Salesforce Base URL in Visualforce Page https://t.co/qGwb4b1N6O #Salesforce

Appy Recommends 24 Free AppExchange Apps - check 'em out here: https://t.co/oMjsoLjkGs

The Lightning Components Basics module is refreshed, with samples that use modern lightning: base components.

https://t.co/oCbFqWevn1

Hide Header and Sidebar in Salesforce https://t.co/lzjHVvwXC5  #Salesforce

On App Talks, learn how @thomsonreuters uses @apttus CPQ to make the complex simple: https://t.co/jLq9PVQKxS https://t.co/4WVt0UOltE

Checking Page Permissions in Apex https://t.co/bsCsBnKmXk  #Salesforce

Just started using @IllumCloud and ♥ it! Check out this awesome tips and tricks vid if you're looking for a new IDE https://t.co/0zeEzIopBq https://t.co/NtmILXGx0h

Keep Flows and Data in Sync on Lightning Record Pages (Winter 18) https://t.co/i2Mlh670Pb  #Salesforce 
https://t.co/ykgJGYLId0

ABSYZ – Top 5 Blogs https://t.co/6XRf4LfDfh  #Salesforce

Shoot Your Marketing & Sales Automation to New Heights With Salesforce Pardot https://t.co/Hrz6re9fMr AJ #Salesforce

Can you #FindAppy on https://t.co/fNoBBEpv41? She's hiding in an app that automates the revenue recognition process. Go find her! https://t.co/K1Obbo2mK5

#HowToTuesday Follow this guide to install and set up Salesforce Integration v2, which connects Marketing Cloud https://t.co/wLWxEWXNxx https://t.co/0lqXRsd3d9

Keep Flows and Data in Sync on Lightning Record Pages (Winter 18) https://t.co/JZGdAM9SuM  #Salesforce https://t.co/8T7TrEOwPn

Pro Tip: Boost Productivity with Activity Actions in Lightning Experience https://t.co/e5z0bTXRND  #Salesforce

https://t.co/oVPS7a472B is retiring with #winter18 release. Take action on your @Salesforce account: https://t.co/7hsdRCpMR3

#HowToTuesday check out roles and permissions in Social Studio to ensure task accomplished by correct people.  https://t.co/OF8ruE50YT https://t.co/ftUHn5hNne

Learn how @peak10tech is using @SpringCM @salesforceQTC to automate daily sales processes. 9/21 #webinar. Register: https://t.co/XLv0ZaEWdj https://t.co/4yGqiQbG5p

The Practical Computer Scientist: Getting Started as a Salesforce Developer https://t.co/cuxXOUOSkD  #Salesforce

#HowToTuesday Check out how to switch between Salesforce org and Communities https://t.co/jCGFJ88MCQ https://t.co/NPwVXtW6Mw

Using FLOW from an Object-Specific Action (Beta) - Winter'18 https://t.co/c3UlqXWXrz  #Salesforce

Salesforce Service Cloud Enables Companies Build Customer Service Center in Just a Day https://t.co/YoGxvQjwpe  #Salesforce

How To Find Object Type From Record ID Prefix https://t.co/B5SfN8uhma  #Salesforce

CodeSWAT Joins VRP Consulting https://t.co/ISgUmeC7Ii Admin #Salesforce

WOW thanks all for watching my #SalesforceMVP vid! Over 1700 viewers!! ugh!  https://t.co/vrZDUaQQqX

Learn Salesforce Einstein – Chapter 1 (Salesforce Einstein Introduction) https://t.co/WtNEUecP1A  #Salesforce

How to develop and foster a culture of true experimentation: https://t.co/mZ0BvLkFqk by  @Salesforce https://t.co/s0hQiXEJoD

Learn Salesforce Einstein – Chapter 2 (AI Buddy Installation) https://t.co/XebSbjUyhq  #Salesforce

"As a Pharmaceutical company, we use @Skedulo for patient training scheduling for 100+ Clinical Nurse Educators." https://t.co/tC4F2xtag5 https://t.co/uBHEzh0aA8

Get The Week Number of Month in Salesforce https://t.co/Swy7awxSGC  #Salesforce

Migrating from Salesforce Classic to Lightning Experience https://t.co/9bKULaZgft  #Salesforce https://t.co/dl2snp7UJX

Javascript Function For Validation on Number,Letters and Currency Input Fields https://t.co/2lBfHNZNWE  #Salesforce

Generic Loading Component For Visualforce Pages https://t.co/VjGZKLGxwu  #Salesforce

Spring Batch – Log the record count during processing https://t.co/EtIDCndcMI #Salesforce

Get Key Prefix of Salesforce Object https://t.co/akP7Ocawsd  #Salesforce

Introducing the new Salesforce Chatter for Windows https://t.co/Rk0JWVmcuF https://t.co/tAWOg7h7h0

SalesForce With Selenium https://t.co/UPpmyJwZ5O #Salesforce

Get Moving!TakeRisks! Create "WOW” moments in your business. Find out how https://t.co/telc4TxVNi https://t.co/LMidN3EuJK

Apex Trigger Context Variables https://t.co/oI9NHuVRRT  #Salesforce

Discover The Power of Console Apps with John Kucera https://t.co/SYWnGhcP1P mikegerholdt #Salesforce

Difference Between Deactivate User and Freeze User in Salesforce https://t.co/1khxIusMLP  #Salesforce

Salesforce Analytics introduces new data connectors, smarter data prep to augment your CRM data. https://t.co/ZrqdbF6RRo https://t.co/axBAqWJPsX

Using Einstein Platform Services within https://t.co/gWk4cbbrrG https://t.co/y9DJpslsiw muenzpraeger #Salesforce https://t.co/I49FD6QPRA

Learn > Share > Network > Party hard > Repeat! - @urbiswa. More @Dreamforce tips: https://t.co/uqCL2vtdob #AppyDF #DF17 https://t.co/uk58O4UUSz

Image-Based Search with Einstein Vision and Lightning Components https://t.co/55jaZNHVHq https://t.co/8zkjkLoqeh

Find Out if Your Salesforce Salary Should be Higher! https://t.co/MWqZ6vEyQl #Salesforce

A Complete Introduction to Heroku https://t.co/VB9W9AYlW9 #Salesforce

Want to take Innovation past ideas and into reality? Here’s how https://t.co/xgfpC9vg4r  by @scottjmanley @Salesforce https://t.co/AboXg6GZz2

Data Tools for Every Salesforce Task https://t.co/3fd26aJIG4 #Salesforce

Register Now! Learn how @CoxAutomotive is using @salesforce to drive sales transformation! https://t.co/KFg4Eul6Q2 https://t.co/J66KKPLHNa

Real Time Integration with Salesforce Platform Events https://t.co/Nzui0XaOsM #Salesforce

Console Components in Salesforce Classic https://t.co/l3AyGS2cOA Admin #Salesforce

Dear Salesforce Admin, You are a Project Manager https://t.co/8nyXnuPcbo Lizz Hellinga #Salesforce

Interested in building an AppExchange app? Here's the new #checklist to get started. Woohoo!! https://t.co/t6eXGjFSym

I just earned the 'Middle of the Road (Level 8)' badge on @untappd! https://t.co/Gx5qwuIS5e

Learn Salesforce Einstein – Chapter 9 (Testing – Test the Einstein Model) https://t.co/ZO43MGvnk2  #Salesforce

Difference Between Enterprise WSDL and Partner WSDL https://t.co/lxYIX0FsAD  #Salesforce

Learn Salesforce Einstein – Chapter 8 (Training – Create Model) https://t.co/5Ad5MR8bsA  #Salesforce

Book Review: Advanced Apex Programming https://t.co/0jcFzjfadx Brian Cline #Salesforce

How to build custom lookup in lightning https://t.co/fNyEQMvgvD #Salesforce https://t.co/ss6zP8hASP

Einstein Analytics: Design & Interaction Principles https://t.co/Cigg2o4gpt Rikke #Salesforce

Lightning Data Table Component - Winter’18 https://t.co/0UdSSEo6yL #Salesforce

https://developer.salesforce.com/forums/?id=906F000000091h3IAA

Update contact phonephone based on account mailing address

Sort Values in Custom Picklist Visual Force Page – Solved! https://t.co/Uro18C280J Amit Singh #Salesforce

Taking a Moment with a Lightning Component https://t.co/1j5muujwIg  #Salesforce

Performing Load Testing in Salesforce using Selenium and TestNG https://t.co/iOACaSAFgZ  #Salesforce https://t.co/AREtC5btqP

Visual Workflow Series Part 2:  Dynamically Set Finish Location for Login Flows https://t.co/f0L8MFBYAS #Salesforce

Check out @nesensas Tweet: https://twitter.com/nesensa/status/903165227931447296?s=08

Salesforce Mobile SDK and Ionic – Fixing Some Navigation https://t.co/MnRx8bS891 Brett Nelson #Salesforce https://t.co/Fu9ZziEmhe

Salesforce Labs Apps Guide: Built by Salesforce employees. Recommended by customers. 100% FREE apps. Get the guide: https://t.co/qYJSWbMPyj https://t.co/WzCGCj4ZNV

Setting and Forgetting Email Personalization with Marketing Cloud Automation https://t.co/szPZWP6s4R Amit Parker #Salesforce

Parsing Stuff with Flows (Part 2) https://t.co/uivlSGmhVE atjohnson9 #Salesforce

Get Started with Salesforce Einstein Vision Setup  https://t.co/befsOmuWI8  #Salesforce

Top 10 Lightning Experience Gems of Salesforce Winter’18 Release! https://t.co/bT69lyFQhA  #Salesforce

How to Integrate Salesforce with QuickBooks https://t.co/F8JjvTxpG4 #Salesforce

Customer Story: CKF Implements Sales Cloud and CPQ https://t.co/jjJlKnNHOy Stephanie Gaughen #Salesforce

Playing with the new External Services feature, external API integration in a few clicks! Blog tomorrow! #API #Flow @SalesforceDevs https://t.co/cjoZacBR5v

Step by Step Guide to Configuring & Using Heroku Connect https://t.co/c9CgxhoNOa asagarwal #Salesforce

Build Enterprise Software with the Salesforce Agile Accelerator #HowtoTuesday https://t.co/SQ90afGVXM https://t.co/PnVzEyRsEj

Pagination with a List Controller https://t.co/3rxy108aZc  #Salesforce

Limits in Salesforce https://t.co/7zPLsKpFPB  #Salesforce

Blogged: Introducing Custom Metadata Services https://t.co/FPZ3WsJK7t @SalesforceDevs

Hello World Code for Salesforce Einstein https://t.co/qOgZtIPrxm  #Salesforce

Experience Salesforce in Microsoft® Outlook®
https://t.co/2ysT3yT10H https://t.co/82j5Z7lD4

A toolkit for creating and deploying bots inside Salesforce: https://t.co/j7AE13Au7N

How to Retrieve and Deploy Custom Metadata Types using ANT https://t.co/CyJfCE3OXO  #Salesforce

SALESFORCE LOGGER PILOT https://t.co/be6cWTP9OW  #Salesforce

Synchronous and Asynchronous Apex https://t.co/dvpr2u4fZs  #Salesforce

Trigger Handler https://t.co/4oUNp98zsw  #Salesforce

Visualforce pages https://t.co/Kv5dvlImLZ  #Salesforce 
https://t.co/4zW0WYKMIX

How To Get Salesforce Mobile App Development Services With Low Coding? https://t.co/Xchj2OVH47  #Salesforce

Cleaning a Salesforce Org https://t.co/jh9y5ntLaq  #Salesforce

Check out the Marketing Cloud Connector for Microsoft Dynamics CRM https://t.co/4PdfDA6myH https://t.co/hJmjch0vFa

Salesforce Winter18 release quick summary https://t.co/dNdkjtL6xS  #Salesforce

Salesforce Einstein Vision: How it works? https://t.co/XSZHBKRHgX  #Salesforce

Check out @salesforcedocs's Tweet: https://twitter.com/salesforcedocs/status/899696841293520896?s=08

Pre-requisites for Learning Apex – Logical Mind and Confidence! https://t.co/CZTB1ODTfh  #Salesforce

30 Salesforce Admin Interview Questions https://t.co/kFLPxxykk4  #Salesforce

Lightning Testing Service Part 2 - Custom Jasmine Reporter https://t.co/4zEDzAhmoD  #Salesforce https://t.co/yN1Z0ZqRVp

What is AI and Machine Learning? https://t.co/zNTFF8RMGc  #Salesforce

Introducing @FunnelForce for news and blogs about #Salesforce for Marketing https://t.co/oNddD8uDoe #MarketingCloud #Pardot

Velocity Calculation of the Marketing to Sales Funnel https://t.co/yhVca2ILZA Rikke #Salesforce

Testing Permission Set Deployment Changes https://t.co/9mYa5wTnJp #Salesforce

An In-Depth Look at Lightning Component Events https://t.co/pKNEoldEPb Philippe Ozil #Salesforce

How to Create Dataset using Informatica Rev in Wave Analytics https://t.co/QOGLxiMbuJ Harish Lingam #Salesforce

Checklist for refreshing a sandbox from your production org in Salesforce https://t.co/257gFU40WO buyan47 #Salesforce

Architecting Reliability and Visibility into Integrations at Airbnb https://t.co/YIlw8y758z #Salesforce https://t.co/s3r9ASaXnB

I just earned the 'Bravo for Brown (Level 3)' badge on @untappd! https://t.co/aqeslXMnhY

https://trailhead.salesforce.com/en/super_badges/superbadge_integration

https://admin.salesforce.com/simplify-searching-federated-search?utm_content=buffer7a540&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

https://www.adminhero.com/taking-salesforce-certification-exams-at-home/?utm_source=twitter&utm_medium=social&utm_campaign=SocialWarfare

https://admin.salesforce.com/introducing-lightning-box-enablement-kit-admins

https://developer.salesforce.com/blogs/developer-relations/2017/07/migrating-existing-projects-salesforce-dx.html?utm_source=twitter.com&utm_medium=social&utm_campaign=buffer&utm_content=buffer0afa6

How to Create Dataset using Salesforce object in Wave Analytics https://t.co/AaO4UqQnjR Harish Lingam #Salesforce

https://medium.com/@bob_buzzard/salesforce-certified-technical-architect-154a2cf76cd8

Mastering Apex Variables – a Stepping Stone in your Apex Journey https://t.co/Dnq93KdMMa  #Salesforce

Salesforce APIs and What They Are For... https://t.co/E8yiLq2Plr sfgeneral #Salesforce

Manage licenses for your app & provide great customer support w/ this new @trailhead module. Earn this #appy badge: https://t.co/ew985hehmV https://t.co/o0kHjfS2ob

Missed the “Inside Scoop” certification webinar? We’ve got you covered! Check out the recording https://t.co/JHVLcgAYYC https://t.co/yvzkVIJpGR

Lear how to be there for your customers with the new AppExchange Product Licensing & Customer Support @trailhead! https://t.co/4iK3GnALXI https://t.co/UwaE9p3MSi

TIME - INTERVIEW QUESTIONS
1) How do you increase the performance of a visualforce page?
2) What is ACTION? What are different ACTION types?
3) What is Future method? Can you call a Future method from a class?
4) What is Synchronous and Asynchronous?
5) What's Sales process in Salesforce?
6) What's workflow rule? What are different evaluation criteria? What are different actions?
7) What are different controllers? What's controller extension?
8) What are different governor limits in Salesforce?
9) What are different errors that you have faced while writing Salesforce code?
10) What's the edition of Salesforce you have used at Infosys?
11) Write a trigger/workflow to update addresses in 3 contacts when the address in an account is changed.
12) There's a lookup relation between two objects - x & y. Some records in x have related records in y but some do not have any related records. How do I update values in y from x writing a trigger. Also I should make sure all rows are updated whether there's a related record or not.
13) Do you have hands on coding experience?
14) What was your responsibility?

Why is my Duplicate Rule not firing? Under Duplicate Management, I have created a Duplicate Rule on Accounts which uses the Standard Account Matching Rule.  When I try to save a duplicate account, my duplicate rule does not appear to be firing; I am able to save the record even though another account with the same Account Name exists.

Duplicate records are identified by the fields specified within the Matching Rule.  When using a Standard Matching Rule, in order for the rule to return matches accurately, the new or edited record must include a value in the Account Name AND either the City or ZIP fields.

In order to match duplicate records based solely on the name field, simply create a custom Matching Rule and associate this to your Duplicate Rule.

For more information regarding Standard Matching Rules, see Standard Account Matching Rule


To provide feedback on our Duplicate Management feature, please visit our Community.

List the objects that require a business process?
Lead, Opportunity, Case, Solution

ACCESSING SALESFORCE OBJECT TABS WITHOUT ACTUALLY CREATING A TAB

Here’s a quick tip I use quite often. Sometimes I don’t actually want to create and use up a tab in my org for custom objects, especially when the object is usually accessed through related lists on another object. Sometimes I want to see all the records without going through a parent. In those cases, you can access the tab page using a URL trick:

1. Figure out what the key prefix is for the object. This is the first three characters of the object ID. You can use http://workbench.developerforce.com to find this prefix. Go to Info -> Standard and Custom Objects and select the object you want. Expand the Attributes and look for keyPrefix.

2. Once you’ve got the prefix, point your browser to https://yourinstance.salesforce.com/prefix/o. So to get to Accounts, you’d go to: https://na12.salesforce.com/001/o.

The /o will only show recent items. Here are all the options currently using accounts for example (substitute your server for na12)
https://na12.salesforce.com/001/e create new
https://na12.salesforce.com/001/l List
https://na12.salesforce.com/001/x list with no page headers
https://na12.salesforce.com/001/o recent objects

Wave Analytics Terminology
Dashboard. In Wave, you explore your data through dashboards — collections of interactive widgets that bring your KPIs to life.Lens. You create lenses to get the views you want from a dataset’s data. They’re the visual tool you use to explore data, and they’re the building blocks for dashboards.Dataset. Lenses and dashboards are built on datasets, which are sets of source data, specially formatted and optimized for interactive exploration.App. Apps provides containers for sets of related dashboards, lenses, and datasets.

What are the Compact Layouts?
Display Key Fields Using Compact Layouts
In the previous tutorial you learned how standard page layouts can be used to optimize a layout for mobile users. However, page layouts aren’t the only thing used to customize how your data appears in a mobile environment. Salesforce1 uses compact layouts to display a record's key fields at a glance.
In this tutorial, you create a custom compact layout and then set it as the primary compact layout for the Merchandise object.
1. From Setup, enter Objects in the Quick Find box, then select Objects, then click the Merchandise object.
2. Scroll down to the Compact Layouts related list and click New.
3. In the Label field, enter Merchandise Compact Layout.
4. Move Merchandise Name, Price, and Quantity to the Selected Fields list, and then click Save.
5. Now you need to set the compact layout as the primary. Click Compact Layout Assignment.
6. Click Edit Assignment, select the compact layout you just created, and then click Save.
In this exercise you only used three fields, but the first four fields you assign to your compact layout populate the record highlights section at the top of each record view.
• You don’t need to create compact layouts for Salesforce1. If you don’t create them, records display using a read-only, default compact layout. After you create a custom compact layout you can replace the default with your new layout.

• Compact layouts aren’t just for mobile. When accessing Salesforce from a desktop browser, compact layouts determine which fields appear when a feed item is created.

Mobile Cards
Add Mobile Cards to the Related Information Page
You’ve already seen the related information page in Step 3: Explore the Mobile App on page 10; this is the page that shows Activities
by default. You navigate to the related information page by swiping left on the detail page for a record. Using mobile cards, you can add
related lookup cards and Visualforce page cards to this record’s related information page.
In this step, you add a related lookup card to the Merchandise object. Merchandise already has a lookup field that’s automatically
generated, Last Modified By, so you can use that.
1. Open the page layout for Merchandise from Setup by entering Objects in the Quick Find box, selecting Objects, and then
selecting Merchandise.
2. Scroll down to the Page Layouts section and click the Edit link next to Merchandise Layout.
3. In the palette, click the Expanded Lookups category.
4. Drag Last Modified By to the Mobile Cards section, and then click Save.
5. To test it out, go back to your mobile device and look at a piece of merchandise.
6. Swipe left to get to get to the related information page and you’ll see the mobile card you added.
You don’t have any Visualforce pages yet, but once you’ve enabled one for mobile, you can add those pages to the Mobile Cards
section like you just did.
• You can also use the Mobile Cards section to add elements from the Components category. That category doesn’t appear in this
tutorial, because no components are available on custom objects.

• Unlike compact layouts, mobile cards only appear in Salesforce1.

Social Collaboration
Once you’ve enabled feed tracking, you can also receive notifications on your mobile device, so that you’ll know when someone comments on your post or otherwise interacts with you. At the end of this tutorial you enable push notifications, which will send alerts to your mobile device, even when you’re not using the Salesforce1 downloadable app.

Enable Notifications for Mobile
Once you’ve enabled a feed, you will see those updates in Chatter, but you can also receive updates on your mobile device, even when
your app isn’t running! To receive these updates, you need to enable notifications.
1. From Setup, enter Salesforce1 Notifications in the Quick Find box, then select Salesforce1 Notifications
2. Select the notifications that you want your Salesforce1 users to receive.
3. If you’re authorized to do so for your company, select Include full content in push notifications.
4. Click Save.
Now when someone mentions you in a post or comments on a post you created, you’ll get a notification on your device, even when
your Salesforce1 downloadable app isn’t running! You can’t see any notifications yet, because you need to create another user to make

some updates. You’ll do that in a later lesson.

How Is the Health Check Score Calculated?
The Health Check total score is calculated by a proprietary formula that assigns an internal score to the Password Policies, Session Settings, and Network Access setting groups. Each group’s score
reflects how well all of the settings in that group meet the Salesforce Baseline standard. Groups with all settings that meet or exceed the standard get the highest possible score, and groups containing settings at high risk get the lowest score. Also, some settings have a heavier weight. Group scores are used in the proprietary formula to calculate your total score.
If all of the settings in your setting groups meet or exceed the standard, your total score is 100%. As you update your settings, refresh health check (1) to see how the updates affect your total score. Hopefully your green bar moves to the right!
Recommended Actions Based on Your Score
If your total score is... We recommend to...
0-33% Remediate high risks immediately.
34-66% Remediate high risks in the short term, and medium risks in the long term.
67-100% Review Health Check periodically to remediate risks.
Note: New Salesforce orgs have an initial score less than 100%. Use Health Check to quickly improve your score by remediating high risks in your Password Policies and other setting groups.
The Salesforce Baseline Standard: Following are the setting values that meet the standard, are considered medium risk, and are considered high risk.

Note: The Minimum password length and Password complexity requirement settings count twice as much as other settings in the calculation of your Password Policies group score.

Auditing
Auditing features don't secure your organization by themselves; they provide information about usage of the system, which can be critical in diagnosing potential or real security issues. Someone in your organization should do regular audits to detect potential abuse.
To verify that your system is actually secure, you should perform audits to monitor for unexpected changes or usage trends.
Record Modification Fields All objects include fields to store the name of the user who created the record and who last modified the record. This provides some basic auditing information.Login History You can review a list of successful and failed login attempts to your organization for the past six months. See Monitor Login History on page 694.Field History Tracking You can also enable auditing for individual fields, which will automatically track any changes in the values of selected fields. Although auditing is available for all custom objects, only some standard objects allow field-level auditing. See Track Field History on page 705.Setup Audit Trail
Administrators can also view a Setup Audit Trail, which logs when modifications are made to your organization’s configuration. See Monitor Setup Changes on page 702.

Monitor Login Activity with Login Forensics: Login forensics helps administrators better determine which user behavior is   legitimate to prevent
identity fraud in Salesforce.
Companies continue to view identity fraud as a major concern. Given the number of logins to an
org on a daily—even hourly—basis, security practitioners can find it challenging to determine if a
specific user account is compromised.
Login forensics helps you identify suspicious login activity. It provides you key user access data,
including:
• The average number of logins per user per a specified time period
• Who logged in more than the average number of times
• Who logged in during non-business hours
• Who logged in using suspicious IP ranges
There’s some basic terminology to master before using this feature.

An event refers to anything that happens in Salesforce, including user clicks, record state changes, and taking measurements of various values. Events are immutable and timestamped.

 Before you get started with Login Forensics, keep in mind some considerations for use.
• This feature is API only. You can’t view events or metrics in the user interface.
• Login events are retained for 14 days by default.
• Metrics are retained for 90 days by default.
• Because login forensics uses an asynchronous queuing technology similiar to @future calls
in Apex, login data might be delayed when querying.

 Perform this quick, one time setup to start collecting data about your org’s login events.
You can enable login forensics from the Event Monitoring Setup page in the Setup area.

Metrics in Login Forensics: Forensic investigations often begin with a roll-up of login events, and metrics are roll-up aggregations of login events over time.
Login forensics can be:
• A count.
• A count followed by an aggregation.
Each time-series metric contains:
• A query that uses aggregate functions.
• An hourly sampling interval.
• A frequency time frame, such as from 01-01-2015 12:00 to 01-01-2015 1:00.
With this information, you can find anomalies by viewing summary data and then following up with more detailed queries to perform additional investigations. All metrics are generated once per hour and are accessed using the PlatformEventMetrics object.
In the following example, the total number of logins is four, but the aggregated number of logins by each user differs. The user with an ID that ends in “122” logged in once, and another user logged in three times.

Monitoring Training History: As an administrator, it is important to know that your team is learning how to use Salesforce effectively. The Training Class History shows you all of the Salesforce training classes your users have
taken.
Administrators can view the Training Class History from Setup by entering Training History in the Quick Find box, then selecting Training History. After taking a live training class, users must submit the online training feedback form to have their training attendance recorded in the training history.
Note: If you don’t see this link under Manage Users, your organization has been migrated to a new system. You need to be a Help & Training Admin to access the training reports via My Cases in Help & Training. Contact Salesforce if you do not have this access.

Monitor Setup Changes: The setup audit trail history helps you track the recent setup changes that you and other
administrators have made to your organization. Audit history can be especially useful in organizations
with multiple administrators.
To view the setup audit trail history, from Setup, enter View Setup Audit Trail in the Quick Find box, then select View Setup Audit Trail. To download your organization’s full setup history for the past 180 days, click the Download link.
The setup audit trail history shows you the 20 most recent setup changes made to your organization.
It lists the date of the change, who made it, and what the change was. Additionally, if a delegate (such as an administrator or customer support representative) makes a setup change on behalf of an end-user, the Delegate User column shows the delegate’s username. For example, if a user grants login access to an administrator and the administrator makes a setup change, the administrator’s username is listed.
The setup audit trail history tracks the following types of changes:

 When you’ve set your trace flags, monitor logging for users, Apex classes, and Apex triggers in the
Developer Console or in Setup.
You can retain and manage the debug logs for specific users, including yourself, and for classes and
triggers.
To view saved debug logs, from Setup, enter Debug Logs in the Quick Find box, then select Debug Logs. When you’ve started retaining debug logs, you can view, download, or delete your logs from this page

Set Up Debug Logging: To activate debug logs for users, Apex classes, and Apex triggers, configure trace flags and debug
levels in the Developer Console or in Setup.
You can retain and manage the debug logs for specific users, including yourself, and for classes and triggers.
The following are the limits for debug logs.
• Each debug log must be 2 MB or smaller. Debug logs that are larger than 2 MB are reduced in size by removing older log lines, such as log lines for earlier System.debug statements.
The log lines can be removed from any location, not just the start of the debug log.
• Each organization can retain up to 50 MB of debug logs. Once your organization has reached 50 MB of debug logs, the oldest debug logs start being overwritten.

Configure Trace Flags in the Developer Console: To configure trace flags and debug levels from the Developer Console, click Debug > Change Log Levels. Then complete these actions.
• To create a trace flag, click Add.
• To edit an existing trace flag’s duration, double-click its start or end time.
• To change a trace flag’s debug level, click Add/Change in the Debug Level Action column. You can then edit your existing debug levels, create or delete a debug level, and assign a debug level to your trace flag. Deleting a debug level deletes all trace flags that use it.

Configure Trace Flags in Setup: To configure trace flags and debug levels from Setup, complete these actions.
Navigate to the appropriate Setup page.
• For user-based trace flags and debug levels, enter Debug Logs in the Quick Find box, then click Debug Logs.
• For class-based trace flags and debug levels, enter Apex Classes in the Quick Find box, click Apex Classes, click the
name of a class, then click Trace Flags.
• For trigger-based trace flags and debug levels, enter Apex Triggers in the Quick Find box, click Apex Triggers, click
the name of a trigger, then click Trace Flags.
2. From the Setup page, complete these actions.
• To add a trace flag, click New.
• To change an existing trace flag, click an option in the Action column.
– To delete a trace flag, click Remove.
– To modify a trace flag, click Edit.
– To modify a trace flag’s debug level, click Filters.
– To create a debug level, click Edit, click the magnifying glass icon next to the Debug Level field, and then click New.

Monitoring Scheduled Jobs: The All Scheduled Jobs page lists all reporting snapshots, scheduled Apex jobs, and dashboards scheduled to refresh.
To view this page, from Setup, enter Scheduled Jobs in the Quick Find box, then select Scheduled Jobs. Depending on your permissions, you can perform some or all of the following actions.
• Click Del to permanently delete all instances of a scheduled job.
• View the details of a scheduled job, such as the:
– Name of the scheduled job
– Name of the user who submitted the scheduled job
– Date and time at which the scheduled job was originally submitted
– Date and time at which the scheduled job started
– Next date and time at which the scheduled job will run
– Type of scheduled job

Monitoring Background Jobs: You can monitor background jobs in your organization, such as when parallel sharing recalculation is running.
Parallel sharing recalculation helps larger organizations to speed up sharing recalculation of each object. If the number of impacted records from an owner-based sharing rule insert or update is less than 25,000, recalculation runs synchronously and you won’t receive an email notification when it’s completed. Owner-based sharing rule inserts and updates impacting less than 25,000 records are not available on the Background Jobs page.
To view any background jobs in your organization, from Setup, enter Background Jobs in
the Quick Find box, then select Background Jobs.
The Background Jobs page shows the details of background jobs, including a percentage estimate of the recalculation progress. The Job Type column shows the background job that’s running, such as Organization-Wide Default Update. The Job Sub Type column shows the affected object, such as Account or Opportunity.
Note: You can only monitor background jobs on this page. Contact Salesforce to abort a background job.


Global Actions: Create global actions that allow users to add new object records with no automatic relationship to other records. From Setup, enter Global Actions in the Quick Find box, then select Global Actions. To customize the fields that are used by global actions, click Layout on the Global Actions page.
Then add the new actions to the Salesforce1 and Lightning Experience Actions section of the global publisher layout so that they appear in Salesforce1. From Setup, enter Publisher Layouts in the Quick Find box, then select Publisher
Layouts.
– Create object-specific actions that allow users to add new records or update data in existing records. From the management settings for the object that you want to add an action to, go to Buttons, Links, and Actions. To customize the fields used by an object-specific action, click Layout on the Buttons, Links, and Actions page.
Then add the new actions to the Salesforce1 and Lightning Experience Actions section on the appropriate object page layout.

List and describe the different Salesforce applications
Salesforce applications are a bundle of tabs packaged together. When you change applications it will changes the tabs listed on the top of your screen. Each tab represents a Salesforce object. Below is an overview of the applications and the tabs packaged by default.
Content
Partners
Customer Service and Support
Ideas
SFA - Salesforce Automation
Marketing
Just because the tab is not listed in the application does not mean that the user cannot access the data. Security controls are completely independent of the application, and a full list of objects can be accessed by the right triangle to the right of the last tab:
A Table to Show Applications and Corresponding Standard Objects




DocuSign for Salesforce 
It helps us shorten sales cycles, increase close rates, increase productivity, and reduce paper waste, resulting in savings of time. It allows us to quickly pull data from Salesforce objects like Lead, Account, Contact, Opportunity etc. and then either sign documents online, or send them out for signature directly from Salesforce. The signed documents are then returned to Salesforce and attached to the corresponding salesforce records.

Why Choose Docusign?
Merge Fields Embed the Power of Salesforce into your Documents 
DocuSign allow us to make use of Salesforce (merge) fields, by simply dragging and dropping data fields into vital documents. This never requires any programming knowledge, which results in reduced operating costs.

Accurate & Secure Transactions 
DocuSign provides 100% accurate & secure transactions, reduces employee time spent on handling and tracking documents, and eliminates costs of paper, ink, printing, faxing and mail. The transaction details are tracked in existing systems as well as Salesforce.

Collaborate in the Cloud
Users can leverage DocuSign for Salesforce to close deals in the cloud and resend to all signing parties to accept. Changes are tracked throughout the process, so users always know what was changed, when and who signed off. 

Single Sign On with your Salesforce Password  
It also provides Single Sign On facility; so users can automatically log into DocuSign with their existing Salesforce username and password, and the user is not required to remember and manage multiple passwords.

Integrator Key:
Once the connection is created between Salesforce and Docusign, next we need the Integration Key. This key is a Unique Identifier for each DocuSign integration. An Integrator Key is required for all integrations, and if you want to move to Production, the Integrator Key must be authorized by DocuSign for Production.

All Integrator Keys are used for development first, and as a result, they are all managed (and requested) in DocuSign’s DEMO service. If you already have a DocuSign Developer account (demo), log into the account and request an Integrator Key. If you do not have a Demo Developer Account, go to the DocuSign Developer Center: https://www.docusign.com/developer-center and request a free account. After development is done using Demo Integrator Key, then we must get that Integrator Key certified before moving to production.

Important: Web service calls made without an Integrator Key will receive an exception for every call made. The exception message states, “The specified Integrator Key was not found or is disabled”.

Mass Update Addresses
When your data is consistent, your reports and related metrics are more accurate and easier to understand. For example, having different abbreviations for a country or state can skew your data.
To make your addresses consistent, you can update country and state/province information in
existing fields at one time.
You can mass update addresses in contacts, contracts, and leads.
Tip: To ensure data consistency in new records, consider using state and country picklists.
1. From Setup, enter Mass Update Addresses in the Quick Find box, then select Mass Update Addresses.
2. Select Countries or State/Province. If you chose State/Province, enter the country in which to update the state or province.
3. Click Next.
4. Select the values to update and click Add. The Selected Values box displays the values to update.
The Available Values box displays the address values found in existing records. To find more addresses to update, enter all or part of a value and click Find.
If your organization has large amounts of data, instead of using the Available Values box, enter existing values to update in the text area. Separate each value with a new line.
5. In the Replace selected values with field, enter the value with which to replace the specified address data, and click Next. If your organization has large amounts of data, this field is called Replace entered values with.
The number and type of address records to update are displayed. If you have large amounts of data, only the values to update are displayed.

6. Click Replace to update the values.

HEROKU
Heroku is a cloud application platform separate from Force.com. It provides a powerful Platform as a Service for deploying applications in a multitude of languages, including Java. It also enables you to easily deploy your applications with industry-standard tools, such as Git.

Git is a distributed source control system with an emphasis on speed and ease of use. Heroku integrates directly into Git, allowing for continuous deployment of your application by pushing changes into a Heroku repository. GitHub is a Web-based hosting service for Git repositories.

Authenticating is required to allow both the heroku and git commands to operate. Note that if you’re behind a firewall that requires use of a proxy to connect with external HTTP/HTTPS services, you can set the HTTP_PROXY or HTTPS_PROXY environment variables in your local development environment before running the heroku command.

Using an HTTP proxy

If you’re behind a firewall that requires use of a proxy to connect with external HTTP/HTTPS services, you can set the HTTP_PROXY or HTTPS_PROXY environment variables in your local developer environment, before running the heroku command. For example, on a Unix system you could do something like this:

$ export HTTP_PROXY=http://proxy.server.com:portnumber
or
$ export HTTPS_PROXY=https://proxy.server.com:portnumber
$ heroku login
On a Windows machine, either set it in the System Properties/Environment Variables, or do it from the terminal:

> set HTTP_PROXY=http://proxy.server.com:portnumber
or
> set HTTPS_PROXY=https://proxy.server.com:portnumber

> heroku login

Heroku’s polyglot design lets you easily deploy your applications with industry-standard tools, such as Git. Typically, teams use local development environments, like Eclipse, and in fact Heroku has released an Eclipse plug-in for seamless integration with Eclipse. You can also interact with Heroku on the command line and directly access logs and performance tools for your applications.

Force.com offers several ways to integrate with external systems. For example, without writing any code, you can declare workflow rules that send outbound messages. You can implement more complex scenarios programmatically with Apex code.

Apex triggers are not permitted to make synchronous Web service calls. This restriction ensures that a long-running Web service doesn’t hold a lock on a record within your Force.com app. Create an Apex class with an asynchronous method that uses the @future annotation, and then build a trigger to call the method as necessary. When the trigger calls the asynchronous method, Force.com queues the call, executes the trigger, and then releases any record locks. Eventually, when the asynchronous call reaches the top of the queue, Force.com executes the call and posts the invoice to the order fulfillment Web service running on Heroku.

   @future (callout=true) // indicates that this is an asynchronous call

Understand that Force.com triggers must be able to handle both single-row and bulk updates because of the varying types of calls that can fire them (single-row or bulk update calls). The trigger creates a list of invoice IDs that have been closed in this update, and then calls the @future method once, passing the list of IDs.

Configure your connected app. At a high level, we will:
• Add your app to the available connected apps in your organization.
• Enable OAuth. External applications must authenticate remotely before they can access data. Force.com supports OAuth 2.0 (hereafter referred to as OAuth) as an authentication mechanism.


11 comments:

  1. Really Thanks a lot sir. YOu given more Useful Information sir.
    Thanks to your efforts and TIME Sir.

    ReplyDelete
  2. Thanks, this is generally helpful.
    salesforce cpq training
    Visit us: salesforce cpq course

    ReplyDelete
  3. Thank you for sharing wonderful information with us to get some idea about that content.
    Salesforce CPQ Course
    Salesforce CPQ Learning Path

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. InComico is one of the best ways to enjoy comics without having to pay for them. There are no subscription fees, ads or popups. Just browse through thousands of free comics and enjoy!
    Visit Here - incomico.fun

    ReplyDelete
  6. Are you facing issues Quickbooks Issue then you can contact
    Quickbooks Customer Support +1 267-773-4333

    ReplyDelete
  7. Ameerpet, located in the vibrant city of Hyderabad, might just be the perfect place to kickstart your journey. With its bustling educational ecosystem, Ameerpet offers a plethora of options when it comes to data science course in ameerpet

    ReplyDelete

Lightning Inter-Component Communication Patterns

Lightning Inter-Component Communication Patterns If you’re comfortable with how a Lightning Component works and want to build producti...