Tuesday, June 27, 2017

Salesforce Interview Questions and Answers

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 governor limits ?
Ans: Governor 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 coverage 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 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 summarizing 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 syntax for accessing custom label in visualforce page - {!$Label.Samplelabel}

35.What are the types of custom settings in salesforce?
Ans: List type and Hierarchy 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 relationship 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 syntax 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 :

47. How to enable inline editing in visauflorce page ?
Ans You can enable inline editing in visualforce page by using 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 governor 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.

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 asynchronous 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: Earlier this was not allowed but now sosl are allowed in triggers.

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 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 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)

79.What are the different types of sandboxes in salesforce ?
Ans: Developer, Developer Pro, Partial Data and Full are the 4 types of sandboxes in salesforce.

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

81. How can you make fields required on a visualforce page?
Ans: mark required = true as done in the example below:

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 visuaforce page 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.

We can call apex class in below mentioned ways
  •     From another class
  •     From Trigger
  •     From Visualforce page
  •     From Developer console
  •     Form JavaScript button, Links
  •     From Home page components
  •     From apex shecduler
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 customization (visualforce page or controller)

138.What is @future annotation in apex?
Ans - It is used to indicate that code should be executed asynchronously when salesforce has available resources.

139. What are the different considerations that must be followed when using @future annotation in apex method?
Ans - 1. Method must be static 2. It must return void and 3. method can have argument of type primitives,collection of primitives or arrays of primitives

140. How can you execute batch apex programmatically?
Ans - Batch apex can be invokde using Database.executebatch(). Ex- Id batchprocessId = Database.executebatch(mybatchapexclass,200)

141. How can you set the batch size in batch apex ?
Ans - This can be set using optional scope parameter in database.
executebatch (batchapexname,batchsize) example - Id batchprocessId = Database.executebatch (mybatchapexclass,200) in this example batch size is set to 200

142. How can you monitor batch apex job?
Ans - Batch apex job can be monitored by navigating to your name
--> setup --> monitoring --> Apex jobs

143. What is the difference between List type custom setting and Hierarchy type custom setting?
Ans - List type stores static data that can be used in apex code as it is examples could be country
codes,currencies etc
Hierarchy type stores data that may change depending on user,profile or org wide default

144. Where can custom setting data be accessed?
Ans - Custom setting data can be accessed in formula fields,validation rules,workflow rules,apex,API

145. What different return types can be returned by SOQL?
Ans - A SOQL can return List of objects, a single object or an integer

146.What are the different exceptions in apex?
Ans - Apex exceptions can be built in or we can also create our own custom exceptions.
Exception class is the super class of all the built in exceptions.
So as to create a custom exception the class name should end with string 'exception' and it
should extend any of the built in exception class or other custom exception class.

147. What different access modifiers can be used for apex classes?
Ans - Apex classes can have either or these three access modifiers 1. Private 2. public 3. global

148. What different access modifiers can be used for class members?
Ans - Class members can have any of these four access modifiers 1. global 2. public 3. protected 4. private

149. What are governers limit in salesforce?
Ans - Governers limit are run time limits that are enforced by salesforce.
Governers limits are reset per transaction.

150. What is an apex transaction?
Ans - An apex transaction represents set of operations that are executed as a single synchronous unit.

151. What does heap in apex mean?
Ans - Every apex transaction has its heap. Heap is nothing but the garbage collected
at the end of every apex transaction.

152. How many callouts to external service can be made in a single apex transaction?
Ans - A total of 10 callouts are allowed in a single apex transaction

153.What is the maximum allowed time limit while making a callout to external service in apex?
Ans - maximum of 120 second time limit is enforced while making callout to external service

154. How can you expose an apex class as a REST web service in salesforce?
Ans - An apex class can be exposed as REST web service by using keyword '@RestResource'

155. What are custom controllers?
Ans - Custom controller is an apex class that implements all of the logic for a vf page without
leveraging standard controller

156. Can a custom controller class accept arguments?
Ans - No. A custom controller cannot accept any arguments and must use a no argument constructor for outer class.

157. What different type of method can be defined for VF controllers?
Ans - getter methods, setter methods and action methods

158. What are getter methods, setter methods?
Ans - Getter methods retrieve data from controller while setter methods pass data from page to
controller.

159.What is Organisation Wide Default in salesforce?
Ans - Organization wide default is used to set default access level for various standard objects
and all custom objects. Default access can be set as Public read only, Public read write,
Public read write and transfer for different objects.
For example if the record access level is set to private then the records will be
accessible only to owners, users above in role hierarchy and if it shared using manual sharing.

160.Can you set default access in Organization wide default for detail objects (detail object in case of master detail relationship)?
Ans - No, Detail object will always have default access as 'Controlled by Parent' and it cannot be changed.

161. Can you create sharing rules for detail objects?
Ans - No, this cannot be done.

162. Can standard object appear as detail object?
Ans - No, you cannot have standard object as detail object in case of master detail relationship.

163. What are the differences between list and set?
Ans- 1. Set stores only unique elements while list can store duplicates elements
2. elements stored in list are ordered while those stored in set are unordered.

164. What various default accesses are available in OWD?
Ans - Private, Public Read only, Public read write, Public read write transfer, controlled by parent, Public full access

165. What are the different types of reports in salesforce?
Ans - tabular,summary,matrix and joined

166. Can a user not have a role?
Ans - Yes, this is possible, Role is not mandatory for user.

167. Can a user not have a profile?
Ans - No, a user should always have a profile. Profile is mandatory unlike role.

168. How many custom fields can be created on a object?
Ans - Initial limit is of 500 fields and if needed this can be extended to 800 by raising a case with salesforce.

No comments:

Post a Comment