Labels:
CRM
Salesforce and Cloud - Interview questions on Salesforce.com asked by Top companies like WIPRO, IBM etc.
1. What is the difference between public cloud & private cloud? Is salesforce.com a public cloud or private cloud?
Public Cloud: Could services are
provided "as a service" over the Internet with little or no control
over the underlying technology infrastructure. More than one tenant can use the
same resources.
Private Cloud: This also offers
activities and functions "as a service" but is deployed over a
company intranet or hosted datacenter. This is private product for a company or
organization offering advance security.
Salesforce.com: Is a public cloud as
it is hosted on salesforce.com data centers and data of more than one tenant
resides on same servers.
Q2. What is the
difference between custom controller and extension?
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.
Controller extension: 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.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.
A controller
extension is any Apex class containing a constructor that takes a single
argument of type ApexPages.StandardController or CustomControllerName,
whereCustomControllerName is the name of a custom controller you want to
extend.
Reports and Analytics
Q3. What are
different kinds of reports?
1. Tabular: Tabular reports are
the simplest and fastest way to look at data. Similar to a spreadsheet, they
consist simply of an ordered set of fields in columns, with each matching
record listed in a row. Tabular reports are best for creating lists of records
or a list with a single grand total. They can't be used to create groups of
data or charts, and can't be used in dashboards unless rows are limited.
Examples include contact mailing lists and activity reports.
2. Summary: Summary reports are
similar to tabular reports, but also allow users to group rows of data, view
subtotals, and create charts. They can be used as the source report for
dashboard components. Use this type for a report to show subtotals based on the
value of a particular field or when you want to create a hierarchical list,
such as all opportunities for your team, subtotaled by Stage and Owner. Summary
reports with no groupings show as tabular reports on the report run page
.
3. Matrix: Matrix reports are
similar to summary reports but allow you to group and summarize data by both
rows and columns. They can be used as the source report for dashboard
components. Use this type for comparing related totals, especially if you have
large amounts of data to summarize and you need to compare values in several
different fields, or you want to look at data by date and by product, person,
or geography. Matrix reports without at least one row and one column grouping
show as summary reports on the report run page.
4. Joined: Joined reports let
you create multiple report blocks that provide different views of your data.
Each block acts like a “sub-report,” with its own fields, columns, sorting, and
filtering. A joined report can even contain data from different report types.
Q4.What are different
kinds of dashboard component?
1. Chart: Use a chart when you
want to show data graphically.
2. Gauge: Use a gauge when you
have a single value that you want to show within a range of custom values.
3. Metric: Use a metric when
you have one key value to display.
Enter metric labels
directly on components by clicking the empty text field next to the grand
total.
Metric components
placed directly above and below each other in a dashboard column are displayed
together as a single component.
4. Table: Use a table to show
a set of report data in column form.
5. Visualforce Page: Use a Visualforce
page when you want to create a custom component or show information not
available in another component type
6. Custom S-Control: Custom S-Controls
can contain any type of content that you can display or run in a browser, for
example, a Java applet, an ActiveX control, an Excel file, or a custom HTML Web
form.
Q5. Explain the
Apex Data Manipulation Language (DML) Operations.
Use data manipulation
language (DML) operations to insert, update, delete, and restore data in a
database.
You can execute DML
operations using two different forms:
Apex DML statements,
such as:
insertSObject[]
Apex DML database
methods, such as:
Database.SaveResult[]
result = Database.Insert(SObject[])
While most DML
operations are available in either form, some exist only in one form or the
other.
The different DML
operation forms enable different types of exception processing:
Use DML statements if
you want any error that occurs during bulk DML processing to be thrown as an
Apex exception that immediately interrupts control flow (by using try. . .catch
blocks). This behavior is similar to the way exceptions are handled in most
database procedural languages.
Use DML database
methods if you want to allow partial success of a bulk DML operation—if a
record fails, the remainder of the DML operation can still succeed. Your
application can then inspect the rejected records and possibly retry the
operation. When using this form, you can write code that never throws DML
exception errors. Instead, your code can use the appropriate results array to
judge success or failure. Note that DML database methods also include a syntax
that supports thrown exceptions, similar to DML statements.

