Thursday 7 December 2017

SFDC Interview Questions - Part 7

4. Is it possible to have Sidebar search enabled with Global Search?

 A. Yes
 B. No


5. Which of the following is true about Page layouts?

 A. Control the layout and organization of detail and edit pages
 B. Control which fields, related lists, and custom links users see, on detail and edit pages only
 C. Control which standard and custom buttons display on detail pages and related lists
 D. Determine whether fields are visible, read only, or required, on detail and edit pages only
 E. All of the Above



6. All users who access to the same report at the same time will see the same data.

 A. True
 B. False


7. For custom object records to appear in search results associated tab only needs to exist; the tab does not have to be visible to users.

 A. True
 B. False


8. If a Report is run which returns 20,000 records then

 A. All 20K records are displayed in the UI
 B. First 2K records are displayed in the UI
 C. 10 Reports each having 2K records are created
 D. Report Fails and an error is reported


9. Though multiple campaigns can be influential, you can only designate one campaign as the primary campaign source on the opportunity?

 A. True
 B. False


10. _________ are words or short phrases that users can associate with most Salesforce.com records to describe and organize their data in a personalized way?

 A. Views
 B.Tags
 C. Dashboards
 D. Home Pagelayout
 E. Apps


Answers :

1. b  |  2. a  |  3 .a  |  4. b  |  5. e  |  6. b  | 7. a  |  8. b  |   9. a  |  10. b 





1. What should be the Advanced filter Conditions to meet the requirement “Find contacts owned by Poo that have a title of CFO, functional role of CFO, or reports to the CFO?
1) Title equals CFO
2) Functional Role equals CFO
3) Reports To equals CFO
4) Contact Owner contains Poo

 A. (1 OR 2 OR 3) AND 4
 B. (4 AND (2 OR 3)) OR 1
 C. (1 OR 2 OR (3 AND 4)
 D. (1 AND (2 OR 3)) OR 4



2. Which feature in SFDC combines a list view and related records into one screen with different frames so that users have all the information they need when interacting with Salesforce.com?

 A. Accounts
 B. Asset
 C. Console
 D.Call Center
 E. Campaign


3. How do you find out that the Approval Process is edited?

 A. Last Modified By Field
 B. Audit trail
 C. History Record on Approval page layout
 D. All of the Above




4. When are the formula fields Re - Calculated?

 A. Every 15 minutes
 B. Every time they are seen
 C. After every DML Operation
 D. Admin can set the time of Refresh


5. Which one is the following is a salesforce.com definition for a Lead?

 A. Any person, organization or company that may be interested in your products and services, not yet customers
 B. An organization, individual or company involved with your business such as customers, competitors and partners
 C. Any potential revenue-generating event i.e. “sales deal”
 D. Any individual or influencer associated with an account



6. How many ranges can be defined in the case of a Conditional Highlighting?

 A. 2
 B. 3
 C. 4
 D. 5


7. Auto Response rules work on which objects?

 A. Leads and Cases
 B. Leads and Accounts
 C. Accounts and Opportunity
 D. Account and Cases


8. If you delete an email from a case and then delete the case, you will not be able to retrieve the deleted email from the Recycle Bin

 A. True
 B. False



9. On which OWD sharing defaults the Sharing Rules can’t be defined?

 A. OWD is Private
 B. OWD is Public Read Only
 C. OWD is Public Read Write
 D.Sharing rules can be created on any of the above


10. Running User concept in Dashboard allows users to view Data which normally they can not view?

 A. True
 B. False



Answers :

1. a  |  2. c  |  3 .d  |  4. b  |  5. a  |  6. b  | 7. a  |  8. a  |   9. c  |  10. a 







1. Which of the following feature allows you to send an email when an opportunity reaches a threshold value?

 A. Validation Rule
 B. Big Deal Alert
 C. Opportunity Alert
 D. Big Ticket Email


2. Is it possible for users to override their own forecasts and forecasts for users below them in the forecast hierarch?

 A. Yes
 B. No


3. How many Solution records can be imported via Import Wizard?

 A. 500
 B. 5,000
 C. 50,000
 D. Solution Records cannot be imported via Import Wizard


4. Formatting of report is maintained when it is exported via Printable View?

 A. True
 B. False



5. With sharing rules one can make automatic exceptions to the organization-wide default for defined sets of users.

 A. True
 B. False



6. In which of the following edition you can create a Managed Package?

 A. Professional Edition
 B. Full Test Sandbox
 C. Developer Edition
 D. Unlimited Edition
 E. Enterprise Edition


7. An opportunity that reaches the threshold with 80% probability will trigger additional alerts if the probability subsequently goes higher to 85%.

 A. Yes
 B. No
 C. Depends on the Settings


8. A sales team is a set of users that normally work together on _________ ?

 A. Accounts
 B. Leads
 C. Opportunities
 D. Contacts
 E. Cases


9. Can a user restrict access with the help of the sharing rules?

 A. Yes
 B. No

  
10. Which of the following object does not support the Business process?

 A. Lead
 B. Account
 C. Opportunity
 D. Case
 E. Solution



Answers :

1. b  |  2. a  |  3 .c  |  4. a  |  5. a  |  6. c  | 7. b  |  8. c  |   9. b  |  10. b 

Hi:
   A very quick Blog on Queues and Supported Objects.

Scenario:
   Admins have to create queues that are related to an object. This object must have its own queues to work.

Issue:
   The object has a Master-Detail relationship field on it.

Solution:
   Let say you have 2 objects:
Object 1: "ABC"
Object 2: "DEF"

On Object 2: "DEF" you create a Master-Detail Relationship field to ABC.
When you go to create a queue for the object "DEF", the Supported Object WILL NOT come up in the "Available Object" list. Supported Object is a required control when creating a Queue.


The reason of why "DEF" object will not show within the list of Supported Objects is because of the Master Detail Relationship Field on the object itself.
This makes this object a detail to the parent and as we know detail objects takes the parent traits, such as Sharing Rules.
In this particular Case it does not get the same privileges as the Master for Queues.

Solution:
   If a queue is really needed for this object, change the master-detail relationship to a Lookup and you can now create custom queues for this object.

Some tips on creating Queues:

Hi everyone:
Scenario:
As a Project Manager/Program Coordinator or BA of a company, you do not have the skill set of checking if code meets coverage for salesforce.com best practices or the company's policy on code coverage. Sometimes you must rely on the developer's word on test coverage for Apex Trigger/Controller or Visualforce page.
But it is your responsibility to make sure that test coverage is met, no matter what.

Solution:
Now Salesforce best practices on test classes is always 100% or 95%.
Now salesforce passing grade is 75% but it reccommends 100% or 95% and above.
How does one check to make sure its is meeting your standards or even salesforce standards.


1.    When a developer is showing you a trigger/Apex Controller/VisualForce Page and how it is working, as a Non Developer always asked May I see the test class for this trigger or Apex Controller.
2.    Tips for Non Developer:
1.    If the developer wrote a trigger then the Test Controller must be in a separate class.
2.    The test controller can be in a global class that houses all trigger test scenarios all in one.
3.    If the developer wrote a Apex Controller with a Visual force page then the test controller can be in the same class as the Apex Controller.
4.    The test controller can be in a global class or a separate class as well.
3.    I will show you a couple of scenarios here:
1.    I wrote a Apex Controller that does something and then within the same class i wrote the test scenario. As a Non Developer ask the following:
1.    Is this a Apex Controller?
1.    If yes, please show me the Apex Controller.
2.    Once the developer goes to that screen (not in edit mode) Look for "Run test" button, this means the test controller was written inside the same class.
3.     data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==  
4.    Once you see that ask the developer to click on that button to show you test coverage.
5.    Once the developer does, it will bring up all triggers/controllers everything in your instance but your main concern is the apex controller that he/she is showing you at that time. Look for the name of the Apex Controller.
6.    In this case it is "AccountProcessor"
7.    You can see by the screenshot it is at 100%.
8.     
9. Now lets say it was at 0% or 60% when the developer ran it, how can you as a  non developer check what is the developer lacking in his test coverage.
10. I made changes and now I will show you the test class ran and it is at 0% meaning nothing is covered by the controller. So maybe the developer did not do a test class or he/she is not done with test class, and from my previous company that is not the Definition of Done (DOD), it would be back to the drawing board for this person.

11. You as the Non Developer should ask the developer to click on the 0 link as you see in the screenshot:
12. Once he/she clicks on it then it pops open a box and tells you as the developer or non developer in colors red being not covered and blue being covered.

Since my Controller class and test coverage was in the same class, it shows from the main class where the developer showing the functionality of what needs to be presented and in red it shows what have i missed. 

This is one of many ways to test out for NON coders or developers of how to ask for test coverage.
Just a few tips:
Test coverage within a Apex Controller always starts with:
"public static testmethod void testControllerName(){" in the above example it is " 
public static testmethod void testProcessAccount(){"

or if it is in a separate class that it 
would start with the following:


publicclass TestDataAccessClass {

    // This test accesses an existing account.  
   
    // It also creates and accesses a new test account. 
   
    static testmethod void myTestMethod1() {"
Always check for Run Test on classes. They only appear on 
Apex Classes not on Triggers.
For Triggers the developer must write a 
separate class for test coverage.

Thank you

I hope this helped.

Scenario:
   the business wants to clone an Opportunity record but the Opportunity Owner of the cloned record should follow thru into the new Opportunity record.
Currently, when an user clones any record that user becomes the owner of the new record in Salesforce. URLFOR functionality does not work on this standard field Ownerid, I shall explain more see below for the solution. Also a workflow rule will not work as you would have to specify the Owner of the record.

Solution:

This was tricky but its a solution with less code and utilizing more of the functions within salesforce.
Step 1:

·         On the Opportunity Object:
·         Create a new field:
·         OriginalOwner | OriginalOwner__c | Text(20) | Read Only | Visible to all 
·         The OriginalOwner field would take the cloned Opportunity Record Owner Id and place it in here when an user clicks on the clone button.
·         Notice in the URL the field ID, note it down because you will need that for the next Step. In my case the field ID is "00N50000002kItx".
·         Screenshot:
·          
·         Create a customize Clone Button utilizing the "{!URLFOR" statement:
·         This would be a URL button with the following formula:
·         {!URLFOR( $Action.Opportunity.Clone,Opportunity.Id, [cloneli=1,opp11='Open'])}&00N50000002kItx={!Opportunity.OwnerId}
·         Breakdown of the formula: 
·         {!URLFOR($Action.Opportunity.Clone ==> The URLFOR leads the functionality of the action that would take place. $Action.Object.Functionality determines the Functionality that would happen. In this case, clone functionality for the Object "Opportunity"
·         cloneli=1 ==> This if you like the associated cloned Opportunity Products to follow thru to the new record. If you do not want to then cloneli=0. It will redirect them to select products after clone.
·         opp11='Open' ==> This determines the Stage. You can add more fields by utilizing opp1, 2, 3 and so fourth. Please utilize this website to get the list of standard fields for this formula. How to obtain a field id 
·          &00N50000002kItx={!Opportunity.OwnerId} ==> This is the new custom field we created and the {!Opportunity.Ownerid} is the field we need to copy over from existing record.
·          Now to write a small trigger to do the work after the clone. The button will get you the ownerid for the existing record but it will not update the ownerid. The trigger will.
·          
·         trigger owneridchange on Opportunity (before insert) {
·         Opportunity[] a = Trigger.new.clone();
·         if(a[0].OriginalOwner__c!=null){
    if (Trigger.new[0].OriginalOwner__c!=null || 
        Trigger.new[0].OriginalOwner__c!='' 
        || Trigger.new[0].OriginalOwner__c<>'')
        {
            Trigger.new[0].Ownerid=Trigger.new[0].OriginalOwner__c; 
        }
    }
}
Screenshot:
data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
 This trigger will only kick off on clone functionality only and 
not when a new opportunity record is created.
·         Now place the customize clone button on the page layout and go to a record that is not yours and clone the opportunity you will notice that the id gets filled into the new field OriginalOwner and then the trigger will fire off and change the Owner by placing in the id from the OriginalOwner field.

1)       If i want record level access then what should i use from Salesforce security model?

         Ans:   Manual Sharing

2)       If i want Object level access then what should i use from Salesforce security model?

        Ans:   Profile

3)      In OWD (Organization wide sharing), can i change the setting “Grant Access Using Hierarchies” 
        Ans:  You cannot change it for Standard Objects However for Custom Objects its possible.

4)       What is Mandatory while creating User, Role or Profile?

        Ans :  Its Profile

5)      In case of Master-Detail relationship, on Update of master record can we update the field of child record using workflow rule?

       Ans:  No

6)      In case of Master-Detail relationship, on Update of child record can we update the field of Parent record using workflow rule?

       Ans:  Yes, the Master fields are also available for “Criteria evaluation”.

      7)    While setting OWD (Organization wide sharing), can we change/modify the setting of child record in case of Master-Detail relationship?
Ans: No, Child record is controlled by the Parents setting.
8)   What is the need of “Custom Controller” in Visual force as everything can be done by the combination of Standard Controller + Extension class.

Ans :
1)      Sharing setting is applied on standard object or extension by default, In case we don’t want to apply sharing setting in our code then Custom controller is only option.

2)      It is possible that the functionality of page does not required any Standard object or may require   more than one standard object, then in that case Custom controller is required.


9)   In class declaration if we don’t write keyword “with sharing” then it runs in system mode then why keyword “without sharing” is introduced in apex?

Ans: 
          Lets take example, there is classA declared using “with sharing” and it calls classB method. classB is not declared with any keyword then by default “with sharing” will be applied to that class because originating call is done through classA. To avoid this we have to explicitly define classB with keyword “without sharing”.

10)  If user doesn’t have any right on particular record and have only read level access at object level. Can he change the record owner?

Ans : Yes. In profile, there is setting for “Transfer Record”.

11)  How to hide the “App Setup” Menu from user’s setup page?

Ans : In Profile, remove access “View Setup and Configuration”.

12)  While creating new profile for user, which existing profile should be copied?

Ans: If the new user is not System administrator then copy from “Standard User” profile.

13)  Who can run reports?

Ans : Users with permission “Run Report” and access to report folder can only run the report.

14)   What is Difference between “printable View” and “Export Details“ button on report?

Ans:
           Printable View:    formatting, grouping and subtotals are persisted.
             Export Details:    formatting, grouping and subtotals are lost.

15)  What is the use of “floating report header”?

Ans:  If you have long tabular report, you can make the column header visible on each pages as you scroll, by enabling floating report headers.

16)  Which permission is required to set the running user other than you in dashboard?

Ans: “View All Data” in profile

17)  Who can access “drag and drop dashboard”?

Ans : User with permission “manage dashboard”.

18) Which type of report can be used for dashboard components?

Ans : Summary and matrix report.


19) How many types of dashboard components are available?

Ans : Chart, Table, Metric and Gauge.

20)  Explain dynamic Dashboard.

Ans :
1)      Dashboard which is running under current logged in user permission are known as “dynamic Dasboard”.
2)      At the most 3 dynamic dashboards can be built.
3)      Available in Unlimited, Enterprise and developer edition.
4)      This type of dashboard cannot be scheduled for refresh it must be scheduled manually.


21)  What is the default timeout period while calling webservice from Apex?

Ans : 10 sec.

22) A single Apex transaction can make how many callouts to an HTTP request or an API call ?

Ans : Maximum 10 callouts

23)   What is analytic Snapshot in salesforce?

Ans : 
1)      Analytic snapshot capture and store the data at pre decided intervals.
2)      It captures data from report and saves in custom object as per schedule.
3)      It only supports tabular and summary report as a source report. It does not support matrix report.
4)      The field type in target object must be same as source report object field.


24)  Difference between Mobile lite and Salesforce Mobile

          Mobile Lite is a free, restricted version of Salesforce Mobile that is available to any Salesforce user   who doesn't have a mobile license.

          Mobile lite is not supported by the customer portal and partner portal.

25)  What is features of “Manage Members” in campaign records?

Ans : 
1)      Campaign members are created from lead, contact, or person account records.
2)      Salesforce provides a variety of ways in which you can manage your campaign members.
3)       You can add and update up to 50,000 campaign members at a time through lead, contact, and person account reports.
4)       you can search for and add or edit multiple leads and contacts from the Manage Members page
5)       you can add an unlimited number of leads and contacts using a CSV import file or you can add members to a campaign one at a time from contact or lead detail pages.


26)   How to add the Document Header in Visualforce page?

Ans : 
         1) Directly there is no way to add the document type in visualforce.
        2)  However in most of the cases IE9 does not work with Visualforce pleasantly.



27)   Onchange event does not work with <apex:actionsupport> in IE9. How to resolve this error?

Ans:
1)      If we hide the Header on Visualforce page then it creates lots of problem in IE9.
2)       I think there are few java-script library loaded by Header of Salesforce which makes IE9 compatible.
3)      So the best solution is to enable the Header  by using “showHeader=true” in Apex page.

28)  If IE9 is not working with your custom visualforce page then how to tell your visualforce code to run in IE8 compatibility mode?

Ans:
          Add following metatag to pages:

     <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

1 comment:

  1. Hallo There,

    A really interesting, clear and easily readable SFDC Interview Questions article of interesting and different perspectives.I will clap. So much is so well covered here.

    I am saving the name of a salesforce report in a custom setting and want to add the same report as an attachment in an email message that I have to send. I have not really worked on this part and require some assistance. how should I go about?

    I read multiple articles and watched many videos about how to use this tool - and was still confused! Your instructions were easy to understand and made the process simple.

    Thanks and Regards,
    Preethi.

    ReplyDelete

Batch Apex

1. What are transaction limits in apex? Total number of SOQL queries issued1 - 100 Total number of records retrieved by SOQL queries - 50...