1 / 42

Salesforce Developer Interview Questions

Here Are The Salesforce Developer Interview Questions Who Are Willing To Achieve Heights In Salesforce.<br><br>For More Visit Our Website: https://www.svrtechnologies.com/<br><br>To Enroll For Salesforce Developer Online Training:<br>https://www.svrtechnologies.com/salesforce-developer/salesforce-developer-training

Download Presentation

Salesforce Developer Interview Questions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Top 30Salesforce DeveloperInterview Questions and Answers

  2. 1. What are the types for relation in SFDC ? • Lookup relation • Master relation • Many to May relation(junction creation) • Hierarchy.

  3. 2. Difference between sandbox and developer organization ? • Sandbox is a test environment where we can test our code and everything or a copy of your Salesforce.com. • In SFDC we are having three type of sandboxes: • Configuration sandbox: 500Mb-Refresh once per day • Developer sandbox: For coding and testing -10MB-Refresh once per day • Full sandbox: No limit-refresh a full copy for every 29 days-in full sandboxes we can make a copy of 180 days for object history.

  4. 3. What were you doing before SFDC development ? • The good developers in the industry were hands-on developers, engineers or architects prior to getting into SFDC. They could come from a Java,.Net, Ruby, C#, SQL, Oracle, SAP, Siebel or any other type of technology development background. The more enterprise-level exp (SAP, Oracle, Sibel, etc) the more attractive. • Things to avoid: Admin/Developers, People who have one year of java that then moved to an SFDC admin/dev and are now SFDC developers.

  5. 4. How many types of Salesforce licenses are there ? What are the limits ? • Salesforce License Types: • Salesforce: Designed for users who require full access to standard CRM and Force.com AppExchange apps. Users with this user license are entitled to access any standard or custom app. Each license provides additional storage for Enterprise and Unlimited Edition users. • Salesforce Platform: Designed for users who need access to custom apps but not to standard CRM functionality. Users with this user license are entitled to use custom apps developed in your organization or installed from Force.com AppExchange. In addition, they are entitled to use core platform functionality such as accounts, contacts, reports, dashboards, documents, and custom tabs. However, these users are not entitled to some user permissions and standard apps, including standard tabs and objects such as forecasts and opportunities. Users with this license can also use Connect Offline. Users with a Salesforce Platform user license can access all the custom apps in your organization. Each license provides additional storage for Enterprise and Unlimited Edition users.

  6. Continuation.. • Force.com: One App – Designed for users who need access to one custom app but not to standard CRM functionality. Force.com – One App users are entitled to the same rights as Salesforce Platform users, plus they have access to an unlimited number of custom tabs. However, they are limited to the use of one custom app, which is defined as up to 10 custom objects, and they are limited to read-only access to the Accounts and Contacts objects. • Force.com App Subscription: Grants users access to a Force.com Light App or Force.com Enterprise App, neither of which include CRM functionality. • A Force.com Light App has up to 10 custom objects and 10 custom tabs, has read-only access to accounts and contacts and supports object-level and field-level security. A Force.com Light App can’t use the Bulk API or Streaming API. • A Force.com Enterprise App has up to 10 custom objects and 10 custom tabs. In addition to the permissions of a Force.com Light App, a Force.com Enterprise App supports record-level sharing, can use the Bulk API and Streaming API and has read/write access to accounts and contacts.

  7. Continuation.. • Knowledge Only User: Designed for users who only need access to the Salesforce Knowledge app. This license provides access to the following tabs: Articles, Article Management, Chatter, Chatter Files, Home, Profiles, Reports, custom objects, and custom tabs. The (sap training) Knowledge Only User license includes a Knowledge Only profile that grants access to the Articles tab. To view and use the Article Management tab, a user must have the “Manage Articles” permission. • Chatter Free:  Designed for Unlimited, Enterprise, and Professional Edition users that don’t have Salesforce licenses but need access to Chatter. These users can access standard Chatter people, profiles, groups, and files. They can’t access any Salesforce objects or data. • Chatter Only: Also known as Chatter Plus. Designed for Unlimited, Enterprise, and Professional Edition users that don’t have Salesforce licenses but need access to some Salesforce objects in addition to Chatter. These users can access standard Chatter people, profiles, groups, and files, plus they can: • View Salesforce accounts and contacts • Use Salesforce CRM Content, Ideas, and Answers • Modify up to ten custom objects

  8. 5. When is page layout assignment used ? • After defining page layouts, assign which page layouts users see. A user’s profile determines which page layout he or she sees. In addition, if your organization is using record types for a particular tab, the combination of the user’s profile and the record type determine which page layout is displayed. • You can assign page layouts from: • The object’s customize page layout or record type page • The enhanced profile user interface. • The original profile user interface • To verify that users have the correct access to fields based on the page layout and field-level security, you can check the field accessibility grid.

  9. 6. How many ways we can made field is required ? • While creation of field • Validation rules • Page Layout level

  10. 7. What is a good set of naming conventions to use when developing on the Force.com platform ? •  Follow the CamelCase Java conventions, except for VF pages and components start with a lower case letter. • Triggers: • Trigger – The trigger itself. One per object. • TriggerHandler – Class that handles all functionality of the trigger • TriggerTest • Controllers: • Controller • ControllerExt • ControllerTest • ControllerExtTest

  11. Continuation.. • Classes: • Test (These might be Util classes or Service classes or something else). • Visualforce pages and components: • [optionalDescription] (without the suffix Controller). There might be multiple views so could also have an extra description suffix. • Object Names and custom Fields • Upper_Case_With_Underscores • Variables/properties/methods in Apex • camelCaseLikeJava – more easily differentiated from fields • Test methods in test classes • test – For example, testSaveOpportunityRequiredFieldsMissing, testSaveOpportunityRequiredFieldsPresent, etc.

  12. Continuation.. • Working on something that would be used as an app or in some cases just a project? If yes, then do the following: • Prefix all custom objects, apex classes, Visualforce pages and components with an abbreviation so that they are easier to identify (e.g., easier for changesets). For example the WidgetFactory app would have the prefix wf on those. Additionally, when adding custom fields to a standard object they would also be prefixed to identify them as part of the app/package. • The main reason for the Object and Fields Names using Upper_Case_With_Underscores is that when you type in the name field or object with spaces it automatically adds the underscores. Although Apex is case insensitive, always refer to the Objects and Custom Fields in the code as Upper_Case_With_Underscores as well for consistency all around and consistency with what is generated by the SQL schema browser and other tools. Object and Field Labels (which are generally ignored by code but visible to users) should keep spaces, not underscores.

  13. 8. What are the pros and cons when using a Workflow Rule Field Update vs. a Formula Field ? • I think your new with Salesforce, but no problem. • The first thing to remember is that “Workflow rule” is not a field type in salesforce. Workflow rule is the process automation tool that automates your business flow. • Formula field: It is a field type on salesforce that produces a read-only output. Sometimes u want some calculated value in a field lest say I want my total sell in a day in one field then I can create one formula field on my object and I will write a formula that will calculate total sell.

  14. Continuation.. • The field included in formula field is called its source. • Now there is a similarity between workflow and formula field. • Whenever there is a change in the source field of formula field it automatically re-calculate its field value according to updated value in the source field. • In the same fashion, a workflow can also do the field update. • one more thing formula field can’t use the workflow but inside a workflow, we use formula field. • there is only one criterion to update the value of formula field but for workflow, u can define a different kind of criteria.

  15. 9. What are record types ? Why are the record types used ? • Record types allow you to offer different business processes, picklist values, and page layouts to different users. Record types can be used in various ways, for example: • Create record types for opportunities to differentiate your regular sales deals from your professional services engagements and offer different picklist values for each. • Create record types for cases to display different page layouts for your customer support cases versus your billing cases.

  16. 10. What are the implications of implementing Database.Stateful ? • Daniel Ballinger: No, batches do not ever run simultaneously. You are correct, however, that serialization is the culprit here. • Grigriforce: what’s your batch size? If you’re doing a million records, and your batch size is 1, then you will serialize/deserialize your state 1M times. Even with a small serialized object, that’s gonna hurt.

  17. 11. What are the differences between a Map and a List ? • The main difference between List and Set interface in Java is that List allows duplicates while Set doesn’t allow duplicates. All implementation of Set honor this contract. While a Map holds two objects per Entry e.g. a key and a value and It may contain duplicate values but keys are always unique.

  18. 12. Difference between a look up and master-detail relationship ? • Master-detail relationship: • In m-d relationship field value is mandatory • Here parent record is deleted automatically child records is deleted • An object is allowed only 2 m-d relationship fields • If we give any rules to parent that rules automatically goes to the child. A child does not contain any separate rules. • We can directly convert m-d relationship to lookup relationship • If we give a value to m-d relationship field that value does not change.

  19. Continuation.. • Lookup relationship: • In lookup relationship, field value is not mandatory • Here parent record is deleted automatically child records are not deleted • An object is allowed only 25 relationship fields Here parent rules and child rules are may be same or not. • If we cannot give a value to the lookup field then we can’t directly convert lookup relationship to master-detail relationship here first we need to give a value to the lookup field. • If we give a value to lookup relationship field we can change that value whenever we required.

  20. 13. Would you like to ask us Any thing ?  “No, I don’t want to ask any Questions” In fact, I have questions to ask them. Such as, why they took this much of time for final round etc.

  21. 14. A group of users must be prevented from updating a custom field. What’s the most secure method of preventing this ? • Several factors control whether users can view and edit specific fields in Salesforce. You can control users’ access to fields at the record type, user, or field level. • Available in: both Salesforce Classic and Lightning Experience • Available in: Professional, Enterprise, Performance, Unlimited, Developer, and Database.com Editions

  22. Continuation.. • Page layouts are not available in Database.com • Page layouts—Set whether fields are visible, required, editable, or read-only for a particular record type. • Field-level security—Further restrict users’ access to fields by setting whether those fields are visible, editable, or read-only. These settings override field properties set in the page layout if the field-level security setting is more restrictive. • Permissions—Some user permissions override both page layouts and field-level security settings. For example, users with the “Edit Read Only Fields” permission can always edit read-only fields regardless of any other settings. • Universally required fields—Override field-level security or any less-restrictive settings on page layouts by making a custom field universally required.

  23. 15. Can report data be accessed programmatically ? • Update for Winter ’14 • API: I think the biggest announcement that developers have been waiting for API wise is the availability of our Analytics API. We introduced a limited pilot in summer 13 and now the Analytics REST API is generally available. The Analytics API lets you integrate (pivotal training) Salesforce report data into your apps programmatically and has several resources that let you query metadata, and record details. • Source – Winter 14 Developer Preview

  24. 16. How will you load data for a child object ? • If in a Master-detail relationship, you first need to insert all master records. • Then run a report to get all the Inserted Master record Id’s and export them your machine. • Now to insert detail object records, you need to associate them with Master Record ID. • A possible approach would be using vlookup function in Excel to populate the Id’s. • Once you have the ID’s populated then you can insert Detail records using data loader.

  25. 17. Can I find out if the current user has access to a record without querying ? •  To find out if a particular user has Edit access to a record, use the UserRecordAccess object. This object is available in API version 24.0 and later. You can use SQL to query this object to find out if the user has edit access to the record in question. • SELECT RecordId, HasEditAccess FROM UserRecordAccess WHERE UserId = [single ID] AND RecordId = [single ID] • If you want to check a batch of records you can use • SELECT RecordId FROM UserRecordAccess WHERE UserId=:UserInfo.getUserId() • AND HasReadAccess = true ANDRecordId IN :allRecordIds LIMIT 200 • But make sure that allRecordIds are a LIST of IDs. It doesn’t work if allRecordIds is a SET of IDs. I guess that’s a bug. • Also, only a maximum amount of 200 records can be checked in one query.

  26. 18. What is the use of @future annotation ? • Use the future annotation to identify methods that are executed asynchronously. When you specify future, the method executes when Salesforce has available resources. • For example, you can use the future annotation when making an asynchronous Web service callout to an external service. Without the annotation, the Web service callout is made from the same thread that is executing the Apex code, and no additional processing can occur until the callout is complete (synchronous processing). • Methods with the future annotation must be static methods, and can only return a void type. To make a method in a class execute asynchronously, define the method with the future annotation.

  27. 19. How many ways we can share a record ? • Role Hierarchy: • If we add a user to a role, the user is above in the role hierarchy will have read access. • Setup -> manage users -> roles -> setup roles -> click on ‘add role’ -> provide name and save. • OWD: • Defines the baseline setting for the organization. • Defines the level of access to the user can see the other user’s record • OWD can be Private, Public Read Only, Public Read and Write. • Setup -> Security Controls -> sharing settings -> Click on ‘Edit’

  28. Continuation.. • Manual Sharing: • Manual Sharing is sharing a single record to single user or group of users. • We can see this button detail page of the record and this is visible only when OWD setting is private. • Criteria Based Sharing rules: • If we want to share records based on condition like share records to group of users • Whose criteria are country is India? • Setup -> security controls -> sharing settings -> select the object and provide name and • Conditions and save • Apex sharing: • Share object is available for every object(For Account object share object is AccountShare ). If we want to share the records using apex we have to create a record to the shared object.

  29. 20. What deployment methods have you used? List advantages and disadvantages of each ? • I can think of three: • 1. Changesets to deploy from a sandbox instance. • 2. Deploy via the force.com side plugin for Eclipse. • 3. Packages from a developer org.

  30. 21. How to call java script using Static Resource in Visual Force page ? • Add java script file in Static Resource setup -> develop -> Static Resources -> click on ‘New’ -> Name: filename and add file from local desktop and save. • We can use that file as follows in Visual Force page

  31. 22. When should an Extension be used instead of a Custom Controller ? • A custom controller is an Apex class that implements all of the logic for a page without leveraging a standard controller. Use custom controllers when you want your Visualforce page to run entirely in system mode, which does not enforce the permissions and field-level security of the current user. • A controller extension is an Apex class that extends the functionality of a standard or custom controller. Use controller extensions when: • You want to leverage the built-in functionality of a standard controller but override one or more actions, such as edit, view, save, or delete. • You want to add new actions.

  32. Continuation.. • You want to build a Visualforce page that respects user permissions. Although a controller extension class executes in system mode, if a controller extension extends a standard controller, the logic from the standard controller does not execute in system mode. Instead, it executes in user mode, in which permissions, field-level security, and sharing rules of the current user apply.

  33. 23. What is difference insert() and database .insert() ? • Using insert method we can insert the records but if any error occurs in any record system will throw an error insertion fail and none of the records are inserted. • If we want to execute partially success of bulk insert operation we will use database .insert.

  34. 24. List things that can be customized on page layouts ? • We can customize different things on page layout like Fields, Buttons, Custom Links, and Related Lists. We can also create sections.

  35. 25. What are the main things need to consider in the “Master-Detail Relationship” ? •  Record-level access is determined by the parent, Mandatory on the child for reference of a parent, cascade delete (if you delete the parent, it can cascade delete the child).

  36. 26. Define recursive triggers ? How will you avoid recursive triggers ? • A recursive trigger is one that performs an action, such as an update or inserts, which invokes itself owing to, say something like an update it performs. • eg in a before trigger, if you select some records and update them, the trigger will invoke itself. • To avoid, static variable ‘locks’ are used. Illustrated in the salesforce doc • “Static variables are only static within the scope of the request. They are not static across the server, or across the entire organization. • Use static variables to store information that is shared within the confines of the class. All instances of the same class share a single copy of the static variables. For example, all triggers that are spawned by the same request can communicate with each other by viewing and updating static variables in a related class. A recursive trigger might use the value of a class variable to determine when to exit the recursion.”

  37. 27. Does user can create insert their own custom logo, while creating their own custom applications ? • Yes user can upload their custom logo in documents and then they choose that logo for the organization.

  38. 28. What are the advantages of using External Id fields ? The External ID field allows you to store unique record IDs from an external system, typically for integration purposes. So if you have a bespoke marketing system running on SQL Server, it is may be easier to load, update and reference these external records in Salesforce using unique IDs from SQL Server.

  39. 29. What is OWD ? • Organization-Wide Sharing Defaults(OWD) defines the baseline setting for the organization. It defines the level of access to the user can see the other user’s records. OWD can be Private, Public Read Only, Public Read and Write.

  40. 30. Difference between controllers and extensions ? • Standard: These are provided by the platform so you can produce Visualforce pages without writing code. You’d use these when you have a single object to manipulate. It provides a safe method to allow you to persist changes. There’s a variant of this that handles a collection of records – the standard list controller. • Custom controller: This is written in Apex and requires you to write code for any behavior you need. You’d use these when your page isn’t dealing with the main object – e.g. A launch pad that can take you to a number of different subpages.

  41. Continuation.. • Extension controller: This provides additional functionality to a controller – either a standard controller (e.g to manipulate child records along with a parent) or a custom controller (this is often overlooked and is a way to provide common functionality across a number of pages).

  42. THANKS! For more details, you can contact us 91 988 502 2027info@svrtechnologies.com

More Related