Sunday, 26 October 2014

SFDC INTERVIEW QUESTIONS salesforce.com

1. For which criteria in workflow "time dependent workflow action" cannot be created?
    Ans:
 created, and every time it’s edited

2. What is the advantage of using custom settings?
     Ans : You dont have to query in apex (fire select query) to retrieve the data stored in custom settings.

3. What are the different workflow actions available in workflows?
     Ans: 1. Field update 2. Email alert 3. send
 Outbound messages 4. Create new task

4. What is whoid and whatid in activities?
    Ans: Whoid is the id of either contact or Lead. Whatid is the id of the related to record in activity record(standard or custom object)


5. What is the difference between a standard controller and custom controller
     Ans:
 standard controller inherits all the standard object properties, standard button functionalities can be directly used. Custom controller defines custom functionalities, a standard controller can be extended to develop custom functionalities using keyword "extenssions"


6. Can you have more than one extenssions associated with a single page?
     Ans : Yes we can have more than extenssions.

7. If page is having multiple extenssions and if two extenssions have methods of same name.     Then which method out of these two will be called upon calling from vf page ?
  Ans: The one which is present in the controller defined on the left side will be called.

8. What are governer limits ?
     Ans: Governer limits are the limits imposed by salesforce so as to avoid monopoly by orgs in using salesforce shared resources.

9. how can we implement pagination in visualforce ?
    Ans: use standardset controllers for implementing pagination.

10. What is the difference between force.com and salesforce.com
       Ans: force.com is paas(platform as a service) and salesforce.com is Saas(software as a service)

11. What is a externalid in salesforce
       Ans: It is a field which can be used to store a value that is used as a refernce for that record in other system. For example if you have a record in system 'xyz' where it is referenced by some value then that value can be used as external id in salesforce for that record. External id can be used for upsert operation in data loader

12. What happens upon lead conversion ?
       Ans: When lead is converted a contact, account and optionally an opportunity is created.

13. What are different ways of deployment in salesforce ?
       Ans: Change sets, eclipse and ANT

14. How can you override a list button with a visuaflorce page?
       Ans: Visualforce page should be a list controller that is it should have "recordsetVar" attribute defined in page tag.

15. Is it possible to bypass Grant Access Using Hierarchies in case of standard objects ?
      Ans : No. This is default and cannot be changed.

16. How can you call a controller method from java script ?
Ans: Use action function
 component to call controller method from java script.

17. How can you call a visualforce page from a controller method?
Ans: Use pagereference object for calling a visualforce page from controller method

18. How can you sort a select SOQl query ?
Ans: use order by clause in
 select query for sorting a list of records

19. How much code coverage is needed for deployment?
Ans : Each trigger should have minimum of 1%. Class can have 0%. But, the total code covergae of 75%.

20. Can 'set' store duplicate values in it?
Ans : No. Set only stores unique values. List can have duplicate values in it.

21. Can two users have same profiles?
Ans: Yes

22. How can you refresh a particular section of a  visualforce page?
Ans: This can be done using reRender attribute 

23. How can you create a many to many relationship in salesforce
Ans: This can be done by creating junction object between the two objects.

24. What happens to detail record when a master record is deleted?
Ans: detail record gets deleted.

25. What happens to child record when a parent record is deleted(look up relationship)?
Ans. Child record remains undeleted 

26. How to get current logged in users id in apex ?
Ans: Use Userinfo.getuserid() to get the current logged in user's id in apex.

27. How to convert a csv file  browsed in visualforce page into a string.
Ans: use csvfilecontents.tostring(). method to convert blob to string

28.How many records can a select query return ?
Ans : As of now it can return upto 50000 records.

29. How many records can a sosl query return ?
Ans: as of now it can return upto 2000 records

30. How to fire dynamic query in soql?
Ans: Using
 database.query
     Example: List<account> accList = Database.query('select name
 from account');

31. What is a bucket field in reports?
Ans: This field is used for custom grouping of values in a field. This can be used in summarising
 the report.

32. What are dynamic dashboards ?
Ans:
 Dashboards which run for logged in user are dynamic dashboards

33. Can the dynamic dashboards be scheduled?
Ans: No they cannot be scheduled.

34.How can you use custom label; in visualforc page?
Ans: Use this syntex for
 accessing custom albel in visualforce page - {!$Label.Samplelabel}

35.What are the types of custom settings in salesforce?
Ans: List type and Heirarchy type

36.What are the different types of collections in apex?
Ans: There are three types of collections in apex language
     1. Set
     2. List
     3. Map

37. What are maps in apex?
Ans: Map has keys and values. A key points to a single value. Map can be used to store realationship between two entities. Keys in map are unique. Values can be duplicated.

38. What are the different types of object relations in salesforce ?
Ans: 1. One to many
     2. Many to many
     3. Master detail

39.Can you have roll up summary fields in case of parent child relationship?
Ans: No. These are present only
 in case of master details relationship.

40. Can you see a lead which is converted in saleforce UI?
Ans: The detail record is not seen. But a page, wherein it shows the links for formed account, contact and opportunity.

41. What is the difference between action function and action support ?
Ans: Action functions can
 call controller method from java script, action support adds support to other components.

42. What is action poller in visualforce ?
Ans: Action poller sends
 AJAX request with a specified time interval.

43. What are the different types of reports available in salesforce?
Ans: 1. tabular report
     2.
 Summary Report
     3. Matrix Report
     4. Joined Report

44. How many active assignments rule can you have in lead/Case?
Ans: You can have only one active assignment rule at a time

45. How do we access static resource in visualforce?
Ans: Use this syntex for
 accessing static resource {!$Resource.Testresourcename}

46. How to embed a visaulflow in a visualforce page ?
Ans: Use this syntex to embed flow in vf page : <flow:
interview />

47. How to enable inline editing in visauflorce page ?
Ans You can enable inline editing in visualforce page by using <apex:inlineEditSupport> component.

48. What is trigger.new in trigger ?
Ans: trigger.new is a list of records
 that are in the context of trigger or becuase of these records(modification,Creation, deletion) the trigger has been called

49. How do we bulkify the trigger ?
Ans: Bulkfification requires iterating over all the records in trigger context
     for example : for(account ac: trigger.new){
                       // your logic here               
                   }

50.How can we get the old value in trigger ?
Ans: use trigger.
old map for getting previous values of fields.

51. Can we modify records directly in trigger.new ?
Ans: trigger.new is a
 read only list, but field values can be changed in case of before trigger

52. What does the error "list has no rows for assignment" mean?
Ans: it means
 the list you are trying to access has no values in it.

53. Why should we not write select query within for loop?
Ans: Writing select query within for loop may
 hit the governer limit of 100 select queries.

54. What should we do to avoid view state error in visualforce page?
Ans: Clear unused collections, define variable as transient.

55. What is a sandbox org?
Ans: It is the exact copy of your production org. This could be full copy,
 developer or configuration only type.

56. What is sosl?
Ans: select query that can return records of multiple objects as list of lists

57. How many records a select query soql can return?
Ans: as of now the limit is 50000

58. What is the full form of AJAX?
Ans: it stands for assynchronous java and XML

59. Why do we need to write test classes?
Ans: Salesforce does not allow deployment in production if the 
test coverage is less than 75%


60.How can you show a custom error message in trigger?
Ans: This can be done using addError() method in trigger

61. What is the use of future annotation?
Ans: Future method starts execution when Salesforce has resources available.That is for asynchronous execution.

62. How to identify if a class is a test class?
Ans: test class always begins with @isTest

63. How to convert a blob variable into a string?
Ans Use toString to convert blob into string

64. what are the different methods of batch apex class?
Ans: start method, execute method and finish method

65.What is' with sharing' in apex class code?
Ans: When you use 'with sharing', user's permissions and field-level security are respected. In case of 'without sharing' code runs in system mode.

66. How many records can a sosl return ?
Ans: It can return 2000 records as of now as per governers limit

67. Can you use dml statement in visualforce compoenent controller ?
Ans: To use dml in visualforce component you have to declare allowdml=true in visualforce component otherwise you
 will get an exception
      "DML is currently not allowed"

68. Can you write sosl in trigger>?
Ans: NO sosl are not allowed in triggers, they can only be used in classes.

69. Which are the different access modifiers in apex?
Ans: 1. Private 2. Public 3. Protected 4.Global are the four access modifiers allowed in apex

70. Can you change the master of a detail record in salesforce ?
Ans. Yes provided you have ticked marked "Allow reparenting" in field setting otherwise the field is
 read only and master cannot be changed.

71. How can you lock records in apex?
Ans: use For update in query to lock the record. For example: [select id,name from contact limit 10 For update];

72. IS there any limit on the number of items that can be stored in apex collections?
Ans: There is ni such limit but we need to consider heap
 size limit 6mb (6 MB as of now)

73. How can you monitor future actions of time based workflow?
Ans: setup --> administration set up -->
 monitoring --> time based workflow

74. What is visaulforce component ?
Ans: It is
 a piece of code that can be reused. It can be encapsulated in other visualforce pages.

75. Ho can you display the status of an AJAX update request in a visualforce page ?
Ans: To display AJAX request status we can use <apex:actionstatus> component.

76. How can you access custom label in apex:
Ans: Example --> string custLabelstr = System.Label.LabelNamehere

77.How can you get all the keys of a map variable ?
Ans: USe method keyset() for this
     Example = Set<id> idSet = mapname.keyset();

78. How can you compare values of a picklist field in validation rule?
Ans : for comparing picklist value use ispickval
      ISPICKVAL(picklist_field, text_to_compare)
salesforce ?
Ans:
 Developer, Full copy and configuration only are the three types of sandboxes in salesforce.

80. With what frequency can you refresh a full copy sandbox?
Ans: full copy sandbox can be refreshed every 28 days from production.

81. How can you make fields required on a visualforce page?
Ans: mark required = true as done in the example below:
     <apex:inputfield value="{!account.Description}" required="true"/>

82. What is minimum coverage for every trigger for deployment?
Ans: every trigger should have a minimum coverage of 1%.
 Total coverage should be 75%

83. What is minimum coverage for every class for deployment?
Ans: There is no such requirement. A class can have 0% but the
 total coverage should be >75%

84. How can you implement custom functionality for a standardcontroller visualforce page?
Ans: This can be done by associating a controller class with that
 standard controller using "Extenssions"

85. How can you get the current record id in a visualforce page ?
Ans use ApexPages.CurrentPage().getparameters().get('id') to get the
 current record id in visaulforce page.

86. Can a user change his own profile in salesforce ?
Ans: No, a user cannot change change his own profile !!

87. Can a user change his own role?
Ans: Yes this can be done !!

88. Reset security token option is unavailabel in set up. What could be the reason?
Ans: If in the profile setting "login ip ranges" have been set up then the option of "reset
 security token" is uanvailbale.

89. How can you skip record type selection page(and take up default record type) while creating new record of a aprticular object ?
Ans: just tickmark
 against the object by navigating to following :
     set up --> my personal information -- > Record type selection --> check
 against the required object

90. What are the different data types that a standard field record name can have?
Ans: Record name field can have either of the two
 data types : Auto Number or Text data type

91. Can you edit a apex trigger/apex class in production environment ?
Ans: No apex trigger /class cannot be edited
 in production.

92. Can you edit a visuaflorce apge in production environment ?
Ans: Yes this can be done.

93.How can you deliver a visualforce page in excel form ?
Ans: use contentType="application/vnd.ms-excel#Contacts.xls" in page component of visualforce page

94. What is trigger.new?
Ans: It is a list of records in current context in a trigger.

95. What does it mean when you get the error "too many soql queries 101 salesforce"
Ans: It means you are hitting the limit of 100 soql queries as per
 governers limit

96. How can you create a input field for date on a visualforce page ?
Ans: To create a
 input date field on vf page you will have to bind it with a existing date field on any object.

97. How can you convert a text to upper string ?
Ans: stringname.toUppercase();

98. How can you convert a integer into a string ?
Ans: string.valueof(integerName);

99. What are the different types of email templates that can be created in salesforce?
Ans:
 Test, HTML (using Letterhead), Custom (without using Letterhead) and Visualforce.

100. How can you display different picklist values for picklist fields in different page layouts?
Ans: This can be done using record types.

101. Can you do a dml in constructor?
Ans: No this cannot be done.

102. What are the data types that can be returned by a formula field?
Ans: 1.Checkbox 2. currency 3.Date 4.Date/Time 5.Number 6.Percent 7.Text

103. Can you create a new profile from scratch ?
Ans: No, you have to clone from a existing profile and modify the settings as required.

104. What are custom labels in saleforce?
Ans
 custom labels are custom text values that can be accessed from apex codes and visualforce pages.

105. What is the character limit of custom label ?
Ans:
 Custom labels can be only 1000 characters long, not more than that.

106. How long can a sandbox name be?
Ans: It can only be of upto 10 characters not more than that.

107. Can you use sharing rules to restrict data access?
Ans No, sharing rule can only give wider access to data it cannot restrict data access.

108. Can you edit a formula field values in a record?
And: formula fields are
 read only and cannot be edited.

109. Can you edit roll up summary field values in a record?
Ans: No,
 roll up summary fields are read only and cannot be edited.

110. Ho can you create relationship between two objects in salesforce?
Ans relationship can be set up by
 crating either look up relationship field or master detail relationship fields on objects.

111. Can you create a roll up summary field on parent object?
Ans:
 Roll up summary fields can only be created if the relationship between objects is master detail type.

112. Ho can you place an entire visualforce page in a different visualforce page?
Ans - This can be done using include attribute.

113. How can you hard delete records in apex?
Ans - use emptyrecyclebin method as below
    ex-  delete myAccList;
         DataBase.emptyRecycleBin(myAccList);


114. What all 
data types can a set store?
Ans - A set can 
store all primitive data types and sObjects but not collections.

115. What is the use of offset keyword in a soql query?
Ans - Using offset keyword return the records starting from desired location in the list. For example if we specify offset 8 then all the records starting from location 9 onwards would be returned.


116. How can you display an image as an field in a detail page of record?
Ans - This can be done using 
IMAGE function. A url of the image stored in document should be given in image function

117. When a lead is converted into account/contact will the trigger on account/contact fire?
Ans - In set up we can enable or disable whether triggers should run on conversion.


118. What happens to contacts when an account is deleted?
Ans - When an account is deleted all the contacts under it gets deleted. 

119. What is an sObject type?
Ans - sObject refers to any object that can be stored i force.com platform database. ex. sObject s = 
new contact()

120. How many elements can be stored with in a collection(list,set,map)?
Ans - There is no limit on the number of elements that can be stored in a collection. However, we need to consider the heap 
size limit.
121. Expand SOQL and SOSL.
Ans - SOQL- salesforce object 
query language, SOSL - salesforce object search language.

122. What is the difference between soql and sosl?
Ans - SOQL can query records from a single object at a time, while sosl can query records from multiple objects. SOQL returns a list while SOSL returns 
list of lists.
 
123. How can you query all records using an soql statement?
Ans - This can be done using ALL ROWS keyword. This queries all records including deleted records i recyclebin. 

124. What is the use of @future annotation?
Ans - Using @future annotation with a method executes it whenever salesforce has resources available.

 

125. What are the different access modifiers that can be used with methods and variables?
Ans - Global, Public, private and protected

126.  What is the significance of static keyword?
Ans - Methods, variables when defined as static are initialised only once when class is loaded. Static variables are not transmitted as part of view state for a visualforce page.

 

127. Can custom setting be accessed in a 
test class?
Ans -  Custom setting data is not available default in a test class. We have to set seeAllData parameter true while definig a test class as below.
          @isTest(seeAlldata=true)

128. What is the difference between role and profile?
Ans - Role defines record level access while profile defines object level access.

 
129. On which objects can you create Queues?
Ans - Queues can be created on two standard objects (Lead and case) and also on all custom objects.

130. What are the different ways to invoke apex code?
Ans - Apex code can be invoked using DML operation(trigger), Apex class can be scheduled using schedulable 
interface(ex. batch apex), apex code can be run through developer console, an apex class can be associated with a visualforce page.
 131. Can you create sharing rules for detail objects?
Ans - No. Detail objects cannot have sharing rules as the detail objects do not have owner field with them.

132. How can view state error be avoided?
Ans - Use transient keyword with variables wherever possible, clear unused collections. Use 1 form tag in a visualforce page.

133.Consider that a record meets a workflow criteria for time 
based workflow action, the action goes in queue . Later, before the time based action is triggered, the same record gets modified and the criteria previously met is changed and now it does not meet the workflow criteria, what happens to the time based action placed in queue?
Ans - The time based workflow action is removed from the queue and will not get fired.

134. What is the use of writing sharing rules?

Ans - Sharing rules extend the record/data access level which is set using OWD, role hierarchy. Sharing rule cannot restrict the data visibility but can only widen it.

135. Which all field data types can be used as external ids?
Ans -  An external id can be of type text, number or email type

136. What is a mini 
page layout?
Ans - Mini page layout defines fields and related list to be displayed in hover detail and console tab. Whenever you hover mouse over any recently viewed record the fields are displayed, related list is not displayed(fields can be set in mini page layout). Console tab fields and related list on the right hand side are also controlled by mini page layout.

137. What is the use of console view/console tab?
Ans - Console gives list views and related list records for multiple objects on a single screen without any customisation (visualforce page or controller).