Salesforce Learning Guide

Tuesday, 18 November 2014

1.       What are expressions used in pages  to bind in controllers?
Using methods we can bind.
Getter:Will return value from controller to vf page
Setter:Will pass value from vf page to controller
Action:Will redirect to another page.
 
2.       What is the purpose of controllers?
Controllers provide the data and actions that are available to a Visualforce page.
 
3.       Which objects have associated standard controllers?
All standard and custom objects that can be accessed via the API have associated controllers
 
4.       What is included with each standard controller?
Data: the fields for the associated object record that are API accessible, including the related records (5 up/1 down).  Actions: save, delete, view, edit, cancel.
 
5.       When do you need to go beyond a standard controller and code custom Apex?
If you need data beyond the limits of what is available in the standard controller or actions that go beyond the provided standard actions.
 
6.       Compare and contrast custom controllers and controller extensions.  How are they the same?  How are they different?
Both allow for custom code to be used, allowing for custom data sets and custom actions.  Extensions leverage the existing data and actions within a standard or custom controller.  Custom controllers must contain all data and actions that need to be executed by the page.  Extensions that extend standard controller allow for the pages which use those extensions to be used in custom buttons, standard button overrides, and over declarative features.
 
7.       What identifies a controller as being an extension?
The controller must declare a constructor which takes another controller explicitly.  For example: public myControllerExtension(ApexPages.StandardController stdController) {this.acct = (Account)stdController.getRecord();  }
 
8.       Why are properties helpful in controllers?
Properties can automatically create standard getters and setters while still allowing for their customizations.  They save you from both writing the tedious code and reading the clutter when reviewing code.
 
9.       In what order do methods fire within a controller?
The only rule is that setters fire before action methods.  Aside from that, there is no guaranteed order.
 
10.   What are some Apex classes that are commonly used within controllers?
StandardController, SelectOption, PageReference, Message, etc.
 
11.   How are wizard controllers different from other controllers?
The two main issues is that they must handle multiple pages and they must maintain the state across those pages.
 
12.   What are the effects of using the transient key word?
The transient key word prevents the data from being saved into the view state.  This should be used for very temporary variables.
 
13.   When is a component controller required for custom components?
A component controller is required when business logic is required to decide how to render the component.
 
14.   What kind of content can be included in a Visualforce page?
Any content that can be rendered in a browser (HTML, JavaScript, etc.).
 
15.   What do {!expressions} refer to when used in Visualforce components?
Expressions refer to either data or actions that are made available to the page from the controller
 
16.   What are the ways that Visualpages can be incorporated into the rest of your user interface?
Basically, via links, buttons, tabs, and inline frames.
 
17.   Is it always necessary to know Apex to create Visualforce pages?  When does it become necessary?
No, it is not always necessary.  You can use standard controllers and VF component tags to accomplish quite a bit.  Apex becomes necessary when you need either a custom set of data or custom actions to be available from the page.
 
18.   What are attributes?  What is the syntax for including them?
Attributes are modifiers to the main tag that belong after the tag name in the start tag.  The syntax is attributeName=“attributeValue”
 
19.   What are three types of bindings used in Visualforce?  What does each refer to?
Data bindings refer to the data set in the controller. 
Action bindings refer to action methods in the controller. 
Component bindings refer to other Visualforce components
 
20.   What is the main difference between using dataTable vs. pageBlockTable tags?
PageBlock: For default salesforce standard format.
dataTable:To design customformats

21.   Which tag is used with both radio buttons and picklists to create the selectable values?
<Apex:selectoption> tag

22.   How many controllers can a page have?  Where is the controller for a page assigned?
One main controller (of course, it could have extensions or custom components could have controllers, etc.).  The controller is assigned in the <apex:page> tag.
 
23.   There are a series of layout components that all help recreate the traditional Salesforce page layout style very easily.  What name do they share?
   pageBlock.
 
24.   Which tags should be used to automatically bring in the Salesforce label and default widget for a field?
pageblock
 
25.   What are static resources?
Static resources are a new type of storage in Salesforce specifically designed for use in Visualforce pages.  They are ways to store images, flash files, stylesheets, and other web resources on the Salesforce servers that can be cached for better page performance. 
 
26.   What are some examples of JavaScript Events?
Onmouseover, onclieck etc.
 
27.   What is AJAX typically used for in Visualforce
AJAX is primarily used for partial page updates in Visualforce.  In s-controls, the AJAX toolkit was the soap (XML over HTTP) client that gave you access to the force.com Web Services API.
 
28.   What is the purpose of <script> tags?
Script tags allow you to create JavaScript (or other types) functions that can be used within your pages
 
29.   What are the different AJAX action tags?  What does each do?
    • actionStatus: used to display start and stop statuses of AJAX requests.
    • actionSupport: used to call a second component when an event happens to the first component.
    • actionPoller: similar to actionSupport, but the event is based on a timer instead of a user action.
    • actionFunction: provides support for invoking a controller action from JavaScript code using an AJAX request by defining a new JavaScript function.
    • actionRegion: used to demarcate which parts of the page the server should reprocess.

30.   How can you create partial page refreshes? 
Basically, you need to define the section of the page that is going to refresh (typically with a panel of sorts), and then define the event that will cause the refresh.  The method changes depending on if the area being refreshed is the same as the one handling the event.  It also depends on if you are just processing something on the server, or if you need the UI to change. 
 
31.   Which tag is used with both radio buttons and picklists to create the selectable values?
<apex:selectOption>
 
32.   What is the purpose of creating attributes on components? 
By allowing the component to take parameters via an attribute, you can make the component more flexible and reusable
 
    33.What are the Global Key words?
        We have global keywords like component,User,url,current page etc., to access various values from      components on page, from user object or from url or from current page fields. To access value from each source, we have different global keywords. One such keyword is explained in above question(!$component)
Various global keywords are:
i.                     URL
ii.                   USER
iii.                  PROFILE
iv.                 Resource
v.                   Component
vi.                 Current page
vii.                Page reference etc.

34.How can you access visualforce components values into a JavaScript?
Using Component global variable, we can access visualforce components in javascript. Let us suppose, we want to use id of an apex field with id=”afield”.
So, we can use the {!$Component.afield} syntax to use properties of the field in javascript.
Let us suppose, we want to store the field’s value in java script, then we can use like below:
<script>
Var a =’ document.getElementById('{!$component.afield}').value’;
</script>


35.What are the Gov Limits in Salesforce.com?

Because Apex runs in a multitenant environment, the Apex runtime engine strictly enforces a     number of limits to ensure that
runaway scripts do not monopolize shared resources. These limits, or governors, track and enforce the statistics outlined in the following table. If a script ever exceeds a limit, the associated governor issues a runtime exception that cannot be handled.
Governor limits can be extended from release to release.


Trigger
Class
Test
Total number of SOQL’s
20
100
100
    Total number of                SOSL’s
0
20
20
Total number of records Retrieved by single SOQL Query
1000
10000
500
Total number of records Retrieved by single SOSL Query
0
200
200
Total Number Of  Call out Methods
10
10
10
Total number of send email methods allowed
10
10
10
Total Heap Size
300000 Bytes
3MB
1.5MB

1. What is Apex
Ans: It is the in-house technology of salesforce.com which is similar to Java programming with object oriented concepts and to write our own custom logic.


2. What is S-Control ?
Ans: S-Controls are the predominant salesforce.com widgets which are completely based on Javascript. These are hosted by salesforce but executed at client side. S-Controls are superseded by Visualforce now.

3. What is a Visualforce Page ?
Ans: Visualforce is the new markup language from salesforce, by using which, We can render the standard styles of salesforce. We can still use HTML here in Visualforce. Each visualforce tag always begins with “apex” namespace. All the design part can be acomplished by using Visualforce Markup Language and the business logic can be written in custom controllers associated with the Page.

4. Will Visual force still supports the merge fields usage like S-control ?
Ans: Yes. Just like S-Controls, Visualforce Pages support embedded merge fields, like the {!$User.FirstName} used in the example.

5. Where to write Visualforce code ?
Ans: You can write the code basically in 3 ways.
  1. setup->App Setup->Develop->Pages and create new Visulaforce page.
  2. Setup -> My Personal Information -> Personal Information -> Edit check the checkbox development mode. When you run the page like this, https://ap1.salesforce.com/apex/MyTestPage. you will find the Page editor at the bottom of the page. You can write you page as well as the controller class associated with it, there it self.
  3. Using EclipseIDE you can create the Visulaforce page and write the code.

6.What are Apex Governor Limits?
Governor limits are runtime limits enforced by the Apex runtime engine. Because Apex runs in a shared, multitenant environment, the Apex runtime engine strictly enforces a number of limits to ensure that code does not monopolize shared resources. Types of limits that Apex enforces are resources like memory, database resources, number of script statements to avoid infinite loops, and number of records being processed. If code exceeds a limit, the associated governor issues a runtime exception.


7. How to create and host S Control in Salesforce ?
http://shivasoft.in/blog/webtech/salesforce/how-to-create-s-control-in-salesforce/
http://shivasoft.in/blog/webtech/salesforce/how-to-host-s-control-in-visualforce-page/

8. Difference between Sandbox and Development environment?
http://shivasoft.in/blog/webtech/salesforce/difference-between-sandbox-and-developer-edition-in-salesforce/

9. How to schedule export or take the backup of salesforce?
http://shivasoft.in/blog/webtech/salesforce/backup-the-salesforce-data/


10. Do governor limits apply to sandbox instances?
Ans : Governor limits do apply to all Salesforce instances (trial, developer, production or sandbox environments). However code coverage and successful execution of test classes is only enforced when deploying to a production environment.

11. What is difference in ISNULL and ISBLANK?
ISNULL:
  • Determines if an expression is null (blank) and returns TRUE if it is. If it contains a value, this function returns FALSE.
  • Text fields are never null, so using this function with a text field always returns false. For example, the formula field IF(ISNULL(new__c) 1, 0) is always zero regardless of the value in the New field. For text fields, use the ISBLANK function instead.
  • Multi-select picklist fields are never null in s-controls, buttons, and email templates, so using this function with a multi-select picklist field in those contexts always returns false.
  • Empty date and date/time fields always return true when referenced in ISNULL functions.
  • Choose Treat blank fields as blanks for your formula when referencing a number, percent, or currency field in an ISNULL function. Choosing Treat blank fields as zeroes gives blank fields the value of zero so none of them will be null.
  • Merge fields can be handled as blanks, which can affect the results of components like s-controls because they can call this function.
  • When using a validation rule to ensure that a number field contains a specific value, use the ISNULL function to include fields that do not contain any value. For example, to validate that a custom field contains a value of ’1,’ use the following validation rule to display an error if the field is blank or any other number: OR(ISNULL(field__c), field__c<>1)
ISBLANK:
  • Determines if an expression has a value and returns TRUE if it does not. If it contains a value, this function returns FALSE.
  • Use ISBLANK instead of ISNULL in new formulas. ISBLANK has the same functionality as ISNULL, but also supports text fields. Salesforce.com will continue to support ISNULL, so you do not need to change any existing formulas.
  • A field is not empty if it contains a character, blank space, or zero. For example, a field that contains a space inserted with the spacebar is not empty.
  • Use the BLANKVALUE function to return a specified string if the field does not have a value; use the ISBLANK function if you only want to check if the field has a value.
  • If you use this function with a numeric field, the function only returns TRUE if the field has no value and is not configured to treat blank fields as zeroes.

12. Is it possible to write the Apex code from user Interface?
You can add, edit, or delete Apex using the Salesforce.com user interface only in a Developer Edition organization, a Salesforce.com Enterprise Edition trial organization, or sandboxorganization. In a Salesforce.com production organization, you can only make changes to Apex by using the Metadata API ,
deploycall, the Force.com IDE, or theForce.com Migration Tool. The Force.com IDE and Force.com Migration Tool are free resources provided by salesforce.com to support its users and partners, but are not considered part of our Services for purposes of the salesforce.com Master Subscription Agreement.

13. When you can’t add Time dependent action in Workflow rule?
You can’t add time-dependent actions to a rule if you choose Every time a record is created or edited.

14. What are the types of email templates available in salesforce.com?
  1. Text
  2. HTML with Letter Head
  3. Custom HTML
  4. Visual force

15. What are the different Salesforce.com Editions and Limits?

16. What is Roll up summary field in Salesforce?
Roll up summary field in salesforce calculates the Count, Sum, Min or Max of particular field of any child record. Thus, we can say that Roll up summary field can only be created on Master object. To read further, please check this URL

17. What will happen if the Account is deleted?
If the Account is deleted then Contact, Opportunity will also be deleted from Salesforce which are related to that Account.
From the database perspective, check below image of child relationships of Account:
Account Child relationship in salesforce
Account Child relationship in salesforce
If we use schema builder, released in Winter 12 it would look like:
Account Contact and Opportunity of salesforce in schema builder
Account Contact and Opportunity of salesforce in schema builder

18. How many types of the relationship fields available in Salesforce>
Ans :
  1. Master Detail
  2. Many to Many
  3. Lookup
  4. Hierarchical

19. How to create many to many relationships between object?
Creating many to many relationship in salesforce is little tricky. You cannot create this type of relationship directly. Follow below steps to create this type of relationship.
Create both objects which should be interlinked.
Create one custom object (also called as junction object), which should have autonumber as unique identification and create two master relationships for both objects, no need create tab for this object.
Now on both object, add this field as related list.

20. In Which sequence Trigger and automation rules run in Salesforce.com The following is the order salesforce logic is applied to a record.
  1. Old record loaded from database (or initialized for new inserts)
  2. New record values overwrite old values
  3. System Validation Rules
  4. All Apex “before” triggers (EE / UE only)
  5. Custom Validation Rules
  6. Record saved to database (but not committed)
  7. Record reloaded from database
  8. All Apex “after” triggers (EE / UE only)
  9. Assignment rules
  10. Auto-response rules
  11. Workflow rules
  12. Escalation rules
  13. Parent Rollup Summary Formula value updated (if present)
  14. Database commit
  15. Post-commit logic (sending email)
Additional notes: There is no way to control the order of execution within each group above.

21. If one object in Salesforce have 2 triggers which runs “before insert”. Is there any way to control the sequence of execution of these triggers?
Ans : Salesforce.com has documented that trigger sequence cannot be predefined. As a best practice create one trigger per object and use comment blocks to separate different logic blocks. By having all logic in one trigger you may also be able to optimize on your SOQL queries.

22. How to delete the User from Salesforce?
Ans : As per now, salesforce does not allow to delete any user, however you can deactivate the user.
Read further…

23. How to delete the users data from Salesforce?
Ans : To delete the Users Data go to Setup | Administration Setup | Data Management |  Mass Delete Record, from there select the objects like Account, Lead etc and in criteria select the users name and delete all records of that user related to particular object.

24. How to restrict the user to see any record, lets say opportunity?
Ans : set up opportunity sharing to be private.  If both users are admins or have view all records on opportunity, then that overrides private sharing.

25. What is the difference between trigger.new and trigger.old in Apex – SFDC?
Ans :
Trigger.new :
Returns a list of the new versions of the sObject records.
Note that this sObject list is only available in insert and update triggers, and the records can only be modified in before
triggers.
Trigger.old :
Returns a list of the old versions of the sObject records.
Note that this sObject list is only available in update and delete
triggers.

26. How to restrict any Trigger to fire only once ?
Ans:
Triggers can fire twice, once before workflows and once after workflows, this is documented at
http://www.salesforce.com/us/developer/docs/apexcode/ Content/ apex_triggers_order_of_execution.htm:
“The before and after triggers fire one more time only if something needs to be updated. If the fields have already been set to a value, the triggers are not fired again.”
Workaround:
Add a static boolean variable to a class, and check its value within the affected triggers.
1public class HelperClass {
2   public static boolean firstRun = true;
3}
4trigger affectedTrigger on Account (before delete, after delete, after undelete) {
5    if(Trigger.isBefore){
6        if(Trigger.isDelete){
7            if(HelperClass.firstRun){
8                Trigger.old[0].addError('Before Account Delete Error');
9                HelperClass.firstRun=false;
10            }
11        }
12    }
13}

27.  What is difference between WhoId and WhatId in the Data Model of Task ?
Ans :
WhoID refers to people things. So that would be typically a Lead ID or a Contact ID
WhatID refers to object type things. That would typically be an Account ID or an Opportunity ID


28. Where is the option of the report for the “Custom Object with related object” and what are the condition to generate related reports?
Ans :
If the parent object is the standard object provided by the salesforce like “Account”, “Contact” then the report will be in there section with related custom object.
If both objects are the custom then the report will be in “Other Reports” Sections.
Following are the conditions to get the report of related objects:
  • On both the objects, Reports option must be enable.
  • The relationship between both of them must be “Master – detail relationship”.

29. How you can provide the User Login (Authentication) in Public sites created by Salesforce.
Answer : We can provide the authentication on public sites using “Customer Portal”.
What is Force.com and Salesfore.com? Mention the differences.
Force.com is a cloud computing platform where the developers build multitenant applications.
Salesforce.com is also a cloud computing platform, it contains only standard objects.
Salesforce.com is hoisted on Force.com.

What are the Force.com editions and salesfoce.com editions?
Force.com includes 5 editions.
Free edition
Enterprise with one app
Enterprise with multiple app
Unlimited with one app
Unlimited with multiple apps

 SalesForce.com includes 5 editions
Contact Manager
Group
Professional edition
Enterprise edition
Unlimited edition

How many custom objects available in Professional and Enterprise edition and Unlimited?
Professional    50
Enterprises    200
Unlimited    2000

In Which edition the Apex Data Loader will support? What are those editions?  
Earlier Enterprise and Unlimited editions use to support Apex data loader. Now, Professional, Enterprise and Unlimited edition supports data loader.

Through Sales force Import wizard how many records we can import into S.F Objects and the wizard will support for which Objects?
Using Import wizard, we can upload up to 50000 records. And only Accounts, Contacts and custom object’s data can be imported.  If we want to import other objects like Opportunities and other object’s data, then we need to go for Apex Data Loader.


In which edition work flows are available in S.F?
In Enterprise edition and in unlimited edition, we have these work flows. We do not have these work flows in group and professional editions. We can get these workflows in professional edition also as an add-on.



What is the data and file storage capacity in Professional and Enterprise and Unlimited editions Org wide? What is the storage capacity for each user in above editions?
                            Data storage (Org)        File storage (Org)         Dstorage/Fstorage(User)
Professional         1GB                  1GB       20MB/100MB
Enterprises     1GB                  1GB       20MB/100MB
Unlimited     1GB            1GB      120MB/100MB
                       
In Which Edition Outlook and Excel and Mobile Lite are available in S.F? 
Mobile Lite users can view, create, edit, and delete accounts, assets, contacts, leads, opportunities, events, tasks, cases, and solutions from mobile.
 Mobile lite is available in all editions i.e.; Group edition, Professional edition, Enterprise edition, Unlimited edition.
Outlook  connect to sales force is used to sync contacts, Events and mails to sales force. Like mobile lite feature this is also available in all above mentioned editions.

What is app exchange?
The developed custom applications can be uploaded into the app exchange so that the other person can share the applicaition.

What is a VLOOKUP in S.F?
VLOOKUP is actually a function in sales force which is used to bring relevant value to that record from another record automatically.

What are the types of bindings available in Visual force?
Using get; set in apex, we can bind variables in visual force.
ex:     public String textdemo{get;set;} // in apex
 <apex:input text value=”{!textdemo}”>  

Using methods in controller
Ex: <apex:selectlist value=”textdemo”>
            <apex:selectoptions value=”listt”/>
</apex:selectoptions>
//In apex
Public List<Account> getlistt(){
  Return [select Id,Name from Account]; \\ returns list
}

What are the types of relationships present in S.F?
4 types
Master-Detail
Lookup
Junction Object
Hierarchy



What is junction Object and what does it mean?
Junction object is a custom object which is used to create many to many relationship between two objects.
It always contains two Master-Detail relationships.

Differences between Master-Detail and Lookup
Both are used to create one to many relationship between two objects.
In case of MD, if Parent is deleted, child is also deleted.
In case of Lookup, if Parent is deleted, child is not deleted.

In MD, Child is mandatory, but in Lookup, child is not mandatory.

When I want to export data into SF from Apex Data Loader, which Option should be enable in Profile? 
Enable API

Types of Reports in S.F?
3 types of reports in S.F
 Tabular reports:  Tabular report is used to represent the data simply in tabular format.  Summarizing on a particular field cannot be done.

Summary reports: In summary report, we can summate or group the data based on a column.

 Matrix report: In matrix report we can summarize the data both in rows and columns.

What is an Assignments rule?
It is a Rule to specify how leads are assigned to users or queues as they are created manually, captured from the web, or imported via the lead import wizards.

What is a web- lead?
Capturing a lead from a website and routing it into lead object in Sales Force is called wed-lead (web to lead).

What is lookup and Master Details and what is difference between them. 
Both Lookup and Master detail fields are used to link a record in one object to another record in another object.
In lookup, if we delete master records, child records will not be deleted.
In master-detail, if we delete master records, child records will also be deleted.

Child record is mandatory for Master-Detail.
What is an External Id?
External Id is an id that can be given to any field in an object. An external id will be generated on the field that we mention. This field will be used to detect duplicate values when we try to import data into sales force using an external system like apex data loader, informatica data loader etc.

What are the Types of Account and difference between them?
We have two types of accounts.
Personal accounts
Business accounts.
In personal accounts, person’s name will be taken as primary considerations where as in business accounts, there will be no person name, but company name will be taken into consideration.


How many ways to do a field is mandatory?
There are two ways to declare a field to be mandatory.
At the time of creating the field, mentioning the field should contain a value to save a record.
In page layout, we can mention the field to be mandatory.


What is a Field level Security?

Giving permissions to users based on Profiles.
Mentioning the availibity of a field to the users for viewing and editing purpose based on profile is called field level security.
While creating a field,we can mention the security level of that field fr every profile by deciding its level of accessibility to each profile.

Difference between Formula and Roll-up summary
Formula: is a read only field that derives a value from a formula expression that we define.
Roll-up summary: A read-only field that displays the sum, minimum, or maximum value of a field in a related list or the record count of all records listed in a related list.

Difference btw isNull and isBlank
IsNull – it supports for Number field.
IsBlank- it supports for Text field.

What is a workflow? Types of workflow and actions in workflow.
Workflow is a force platform business logic engine that allows us to automatically send email alerts, assign tasks, field updates based on rules that we define.

2 types:
Immediate actions:  That executes when a record matches the criteria.
Time-dependent:  When a record matches the criteria, and executes according to time triggers.

Actions:
Task : Asign a new task to user.
Email-alerts : Send email to one or more recipients that are specified.
Field Updates : Update value of a field.
Outbound Messages: Send a configurable API message to designed listener.

Types of email templates

Text
Html with letter head
Custom Template
Visual Force.

Difference btw Profiles and Roles
Profiles: Field level or Object level security can be given by profiles
Roles:  Record level security can be given by Roles.

Profile is mandatory.


Types in roles:

Manual Sharing
OWD (organization wide default):  
Public read
Public read/write
Private
Sharing rules
Role Hierarchy


What is a wrapper class?
 A wrapper class is a class whose instances are collections of other objects.

What are collections and types of collections?
Collection is an object which groups multiple elements into a single unit.

List: Ordered collection of elements which allows duplicates.
Set: Unordered collection of elements which do not allow duplicates.
Map: Pair of two elements, in which the first element is always unique.


Types of Reports: 
Tabular: Display data in a tabular form. No summarizing is allowed.
Summary: Summarize data on one column based on single criteria.
Matrix: Summarize data on both row and columns.



Difference between VF and S-Control
               VF                       S-Control

It is a markup language like XML, HTML It is a procedural language like Java, Ajax
Automation of data is there- Binding No automation of data- Manual Binding
Style sheet(CSS) is included CSS is not included
Native
Accessibility of object

{! ($Objecttype.ObjectName.accessable)}----------- returns true if object is accessible.

What are Global keywords?
Used to access various values from components on a page or from user objects or from URL, for each object we have each key word.

URL Current Page
Profile Page Reference
User Object Type
Resource Component

What is a Page Reference?
Page reference is a class in apex, which is used to redirect to another page.
By creating an object to this class, we can use this object to forward to another page as shown in example below:
Public Pagereference go()
{
           Pagereference p = new pageReference(‘http://www.google.com’);
Return p;
}

What is MVC?
The main aim of the MVC architecture is to separate the business logic and application data from the presentation data to the user.

Model: The model object knows about all the data that need to be displayed.
View: The view represents the presentation of the application (User Interface).
Controller: Actual business logic of VF is present here.


What are the Controllers available in Force.com?
3 types of controllers are available
Standard Controller: Used for both custom and standard objects.
Custom Controller: is an apex class that implements all the logic for a page without leveraging the functionality of a standard controller.
Extension Controller: is an apex class which adds functionality to existing standard and custom controllers.

What is a difference between render, rerender and renderAs? 
Render: is an attribute used in VF to hide or show certain components in visual force page.
        Rerender: Used to refresh a part of a page in visual force page when an action occurs.
        Render as: Used to convert entire visual force into PDF
        Render as = “pdf”.


How can you access URL Parameters in to a visual force page?
 Using $CurrentPage, you can access the query string parameters for the page by specifying the parameters attribute, after which you can access each individual parameter.
$CurrentPage.parameters.parameter_name

Ex: $CurrentPage.parameters.location

What are annotations ant their types?
Annotations are used to bypass the methods in the way they execute.
@Future: Used to execute the methods asynchronously.
@IsTest: Used to test the methods.
@ReadOnly
@Deprecated
@Remote Action

What is a difference between <apex: dataTable />, <apex: pageBlockTable />?
Only standard style sheets used in page block table,
 If we want to add custom style sheets we have to data table.

What is a Sandbox? Types of sandbox.
Sandbox is the exact replica of the production.
3 Types:
Configuration
Developer
Full

What are triggers? Types of Triggers
Trigger is a piece of code that is executed before or after a particular field of certain type is inserted, updated or deleted.
Bulk Trigger:  All triggers are bulk triggers by default, and can process multiple records at a time. You should always plan on processing more than one record at a time.
   Bulk triggers can handle both single record updates and bulk operations like:
Data import
Mass actions, such as record owner changes and deletes
Recursive Apex methods and triggers that invoke bulk DML statements.
Recursive trigger:


ActionSupport: A component that adds AJAX support to another component, allowing the component to be refreshed asynchronously by the server when a particular event occurs, such as a button click or mouseover.
 ActionFunction: A component that provides support for invoking controller action methods directly from JavaScript code using an AJAX request.
ActionPoller:  A timer that sends an AJAX update request to the server according to a time interval that you specify.
What is Batch Apex? How can you implement Batch Apex?(Dynamic Apex)
Batch Apex gives you the ability to operate over large amounts of data by chunking the job into smaller parts, thereby keeping within the governor limits.
Using batch Apex, you can build complex, long-running processes on the Force.com platform. For example, you could build an archiving solution that runs on a nightly basis, looking for records past a certain date and adding them to an archive.

What is a Callout method? How does it invoke, how many methods available in Classes and Triggers?
It is used to invoke the External services HTTP or web services.
An Apex callout enables you to integrate your Apex with an external service by making a call to an external Web service or sending a HTTP request from an Apex script and then receiving the response. Apex provides integration with Web services that utilize SOAP and WSDL, or HTTP services (RESTful services).

What is a difference between System log and debug log?
System Log console is a separate window that displays debugging information, as well as its cumulative limits and source code. It can be considered a context-sensitive execution viewer showing the source of an operation, what triggered that operation, and what occurred afterward. Use the System Log console to view debug logs that include database events, Apex processing, workflow, and validation logic.

Debug log records database operations, system processes, and errors that occur when executing a transaction or while running unit tests. The system generates a debug log for a user every time that user executes a transaction that is included in the filter criteria.

SOQL: Salesforce.com Object Query Language
SOSL: Salesforce.com Object Search Language
What is a Force.com IDE?
Ans. Force.com IDE is a development environment which is available as a plug-in to be installed in Eclipse and used. This IDE can be used to work on and manipulate the salesforce structure like authoring Apex classes, Visual force pages, apex triggers etc.,
What is a Managed Package and Unmanaged package?
Unmanaged vs. Managed
Managed packages are AppExchange packages that can be upgraded in the installer's organization. They differ from unmanaged packages in that some components are locked, allowing the upgrade process. Unmanaged packages do not include locked components and can not be upgraded.

Before the Winter '07 release, all packages were unmanaged. Now, you can convert an unmanaged package to managed to ensure your installed users get upgrades.

Unmanaged Package Managed Package
What Completely Editable by Developer and Installer
Can NOT be upgraded Certain Components are locked
No Destructive Changes to app
Supports Seamless Upgrading
Supports LMA for Managing Installs
When to Use 1:1 Distribution
Extensive Modification Required 1:Many Distribution
Commerical Intent
Foresee Upgrades
Editions Supported All Editions can create Unmanaged Packages ONLY Developer Edition can create Managed Packages


Managed packages differ from unmanaged packages in many other ways. Before creating managed packages, here are a few things to consider:
You must use a Developer Edition organization to create and work with a managed package.
A Developer Edition organization can contain a single managed package and many unmanaged packages.
You must register a Namespace Prefix - A Namespace Prefix is a series of characters prefixed to your Custom Objects and Fields to prevent conflict when installed in another salesforce.com org.


When you release a managed package, meaning it is uploaded with the Managed - Released option selected, the properties of its components change to prevent developers and installers from making harmful changes. For a list of each package component type and their properties, see Properties of Managed Packages. If you do not want to offer upgrades to your package, consider keeping it unmanaged.

If you plan to release your app as a Managed Package, please read out guide on Planning the Release of Managed Packages

If you already have a Unmanaged Package and you'd like to convert it to Managed, please review the following: Converting Unmanaged Packages to Managed

Now that you understand the difference and benefits of each type of package, let's see how easy it is to make your Unmanaged package from above into a Managed Package.


Customer portal
With Salesforce CRM’s customer portal, your customers can log cases and get updates 24x7. All via the intuitive user experience for which Salesforce CRM is famous. The result—higher customer satisfaction at a lower cost.

Partner portal
Outsource your service management by allowing third-party service reps to manage customer cases via the partner portal. Service partners can do everything they need to resolve customer support issues: search the solution database, log cases, make case comments, and run reports.


53.What are the rules Criteria to create a work flow?  How many ways to fire a work flows and when should those available? What are the actions in work flow?
Ans. Criteria that cause salesforce.com to apply the workflow rule.
    Immediate actions that execute when a record matches the criteria.
     Time-dependent actions that salesforce.com queues when a record matches the criteria, and executes according to time triggers.
In 2 ways,
1. Immediate action: when criteria matches record then workflow will be fired immediately.
2. Timedependent action: Fires according to time triggers.
           Tasks - Assign a new task to a user, role, or record owner.
Email Alerts - Send an email to one or more recipients you specify.
Field Updates - Update the value of a field on a record.
Outbound Messages - Send a secure configurable API message (in XML format) to a                                                        designated listener.

54. Types of Sandboxes and what are those and In Which editions those are available?
Ans.   3 types of Sandboxes available, those are Developer, Full and Configuration. In all editions.

55. What is test coverage code % for the classes and triggers and what is the test method syntax?
Ans.  75%.

56.Types of Triggers and what is a Bulk Trigger?
Ans. All triggers are bulk triggers by default, and can process multiple records at a time. You should always plan on processing more than one record at a time.
        Bulk triggers can handle both single record updates and bulk operations like:
Data import
Bulk Force.com API calls
Mass actions, such as record owner changes and deletes
Recursive Apex methods and triggers that invoke bulk DML statements.



57.What are the types of bindings available in Visual force?
Ans . 1. Using GET-SET in apex, we can bind variables in visual force.
    2. Using methods in controller.


58. What is a Wrapper Class in S.F?
Ans. A wrapper class is a class whose instances are collections of other objects.


59. What are formula and Rollup Summary fields and Difference between them? When should Rollup- Summary field enable?
Formula: A read-only field that derives its value from a formula expression that we define. The formula field is updated when any of the source fields change.
Rollup Summary: A read-only field that displays the sum, minimum, or maximum value of a field in a related list or the record count of all records listed in a related list.

Difference is below:
                  Formula fields calculate values using fields within single record, roll-up summary fields calculate values from a set of related records.
When we give the master-detail relationship it get’s enable to the master object