Home  >  Blog  >   Salesforce  > 

Visualforce Interview Questions

Do you want to change career and work on Visualforce? Then you’re on the right page. In this article, we have provided you with all the knowledge that helps you clear the Visualforce interview. We have also, included the  Best VisualForce Interview Questions for freshers and experienced applicants. 

Rating: 4.6
  1. Share:
Salesforce Articles

Are you curious to know why Salesforce employs Visualforce? We now know why Visualforce is used and what changes will occur as a result of implementing Visualforce in Salesforce. 

Salesforce.com developed Visualforce, as a markup language (tag-based language) akin to HTML and XML. It has tags and controllers, with tags referred to as components. Visualforce creates front-end design pages using XML-like syntax, and Apex is used to execute the business logic in the backend.

Many prominent firms provide positions in many fields, including maintenance, software developer, SFDC Solution Architect, IT Software-Application Programming, Salesforce Developer, senior Salesforce Developer, and many others. We have accompanied all topics in one location using questions and answers to save time reading all of the topics on multiple websites. When preparing for a job interview, the candidate must first have appropriate interview questions organized by topic. Cracking the Salesforce Interview is now a simple task. We've compiled a list of the Top 25 Visualforce Interview Questions and Answers that will be asked during the interview as part of the Salesforce interview questions.

And also, our team made your learning process easier and categorized from Basic to Advanced Interview Questions, because it will be easy to pick your area. If you're a beginner you can start with Basic VisualForce Interview Questions and if you’re having any experience, you can jump to Advanced VisualForce Interview Questions

Visualforce Interview Questions and Answers 2023 (Updated) have been divided into following stages they are:

Commonly Asked VisualForce Interview Questions 

VisualForce Interview Questions for Freshers

1. What is meant by VisualForce?

Ans: Visualforce, like HyperText Markup Language, is a tag-based markup language (HTML). Visualforce includes UI frameworks for creating a variety of appealing and interactive apps.

When dealing with Visualforce in Salesforce, we must learn a lot of tags, same as when working with HTML. Visualforce pages are created using various tags and SOQL queries. When a developer wants to create an application in Salesforce, they can leverage a variety of development tools. Many development technologies are supported by Visualforce, including JavaScript, HTML, Ajax, jQuery,  CSS, and Flash.

2. Where can a Visualforce page be used?

Ans: Visualforce pages can be used to define custom tabs, embed components, override conventional buttons and tabs in sophisticated page layouts, and construct dashboard components, among other things.

Do you want to get certified and build your career in Salesforce? Then enroll in "Online Salesforce Certification" this course will help you to achieve excellence in this domain.

3. Why is VisualForce used in Salesforce?

  • Visualforce is used to generate dashboard components and custom tabs.
  • On the detail page, we can embed sections.
  • We created a visualforce page to display the actions over the previous 10 months, which we can embed at the top of the contact detail page.
  • We can create high-quality data-driven email templates in Salesforce.
  • Create Visualforce pages with minimal coding.
  • Visualforce can be used to create sophisticated websites that are unrelated to Salesforce.

4. What are the elements in VisualForce?

Ans: There are two elements in the VisualForce: 

Markup for Visualforce: The first component is Visualforce markup. It is made up of apex: prefixed tags, HTML, JavaScript, and other common web development code.

Controller for Visualforce: The second type of element in Visualforce pages is the Visualforce controller, which sets out the framework for manipulating data and layout with user interactions. There are three types of visualforce controllers:

  • Extension Controllers
  • Standard Controllers
  • Custom Controllers

5. Explain about Standard Controllers in VisualForce?

Ans: StandardController objects relate to salesforce's pre-built Visual Force controllers. Only when developing an extension for a standard controller is it useful to relate to a StandardController object. The data type of the single statement in the extension class constructor is StandardController.

Both standard and custom objects can be customized using the Standard Controller.

Syntax: <apex:page standardcontroller =”contact”></apex:page>

MindMajix Youtube Channel

6. What is meant by StandardList Controllers in VisualForce?

Ans: We can manage a set of records using conventional list controllers. A standard list controller exists for each standard controller, allowing customization of pages like mass action pages, related lists, and list pages that expose and act on a set of records. Using recordSetVar, we may associate a regular list controller. An extra four navigation actions are included in the standard list controller. First, last, next, and prior are the four options. With the following objects, we can use normal list controllers.

Users, Assets, Campaigns, Ideas, Contracts, Leads, Product2, Opportunities, Solutions, and Custom Objects are just a few of the terms you'll come across.

7. Brief explanation about Custom Controllers in VisualForce?

Ans: Standard controllers simply provide standard functionality to visualforce pages, such as Save, Edit, Cancel, and Delete, among other things.

Using standard controllers, we are unable to customize/develop our functionality. We can develop our code or alter current functionality by using new controllers. We created a Custom Controller as an Apex Class. To define a custom controller in a Visualforce page, use the syntax below.

<apex:page Controller=”ControllerName”>

Custom/additional behavior to standard controllers is known as controller extension. The apex class is Extension. A lot of extensions can be added to the visualforce page. To define an extension, see the syntax below.

At the same time, we can use the Standard controller, Custom Controller, and extensions. However, we cannot use both the Standard and Custom controllers at the same time. To understand, look at the syntax below.
<apex:page standardController=”ControllerName” extensions=”Class1, Class2,..”> Correct

<apex:page standardController=”MYControllerName” controller=”MyController”> Wrong

[Also Read: An Introduction to Visualforce]

8. What is VisualForce Controller Extension?

Ans: Extension controllers are used when we want to use both bespoke and standard controller capabilities. Extension controllers start with a standard controller and can be extended or overridden with a custom controller and apex code.

The third form of the controller is a controller extender, which extends the behavior of a conventional controller. Visualforce pages are integrated with native user interfaces using controller extensions. The functions of conventional buttons cannot be overridden by controller extensions.

To create controller extensions, custom controllers are combined with conventional controllers. Multiple controller extensions can be used on a single visualforce page. The extension controller is split into smaller controllers in this case. The smaller controllers are a subset of the behaviors.

9. Tell us the benefits of VisualForce?

Ans: Visualforce is an MVC (Model-View-Controller) structured development tool that makes it simple to divide work between designers (for the user interface) and developers (for business logic). It also provides the following advantages:

User-Friendly Development: Developers can update Visualforce markup in the same window that displays the resultant page. As a result, developers can quickly verify the outcome of a modification by simply saving their code. Auto-completion and syntax highlighting are also available in the Visualforce editing pane.

Quick fixes, which allow developers to generate supporting components on the fly, are also supported by Visualforce.

A developer, for example, can create a new Visualforce page by logging into Salesforce and then providing the page's name in a URL. The platform will generate the page for you if it does not already exist.

Integration with other Web-based user interface technologies:
HTML is eventually rendered from Visualforce markup. Designers can now use Visualforce tags in conjunction with regular Flash,  JavaScript, HTML, or any other script that can run within an HTML page on the interface,  the platform integrates expressions and Fields.

Data-Driven Defaults: The platform renders Visualforce components intelligently. Instead of constraining page developers to use various functional tags for various types of customizable fields (such as user accounts or scheduling dates), they can use a single< apex: inputField > tag for all fields. For each field, the Visualforce renderer provides the proper editing interface.

Hosted Platform: This platform is solely responsible for the compilation and rendering of Visualforce pages. They function similarly to conventional Salesforce pages due to their strong integration, regardless of the quantity of data being presented or changed.

Automatically upgradeable: When other portions of the VisualForce platform are modified, VisualForce pages do not need to be redone. The pages are transferred directly with the operation of the network because they are saved as metadata.

10. When should I use VisualForce?

Ans: Salesforce's custom-built build applications offer significant CRM capabilities. However, Salesforce enables you to personalize the custom-built build applications to meet your business. However, your company may have sophisticated requirements and organization operations that the available functionality cannot support. In this instance, Lightning Platform offers sophisticated administrators and developers several options for creating bespoke functionality. Use Visualforce with Lightning Web Components to modify your org's front-end UI and functionality. For the most current, performant, and responsive functionality, Salesforce advises adopting Lightning Web Components over Visualforce whenever possible.

Lighting Web Components: Customized HTML elements developed with HTML and sophisticated JavaScript are known as Lightning web components. They adhere to basic Web Elements requirements and only supply what is required to work successfully in Salesforce-supported browsers. Lightning web elements are lightweight and perform well because they are developed on code that runs directly in browsers.

Out-of-the-box Components: It comes with a set of pre-installed components to help you get started building apps right away. Since a component will do it for you, you won't have to waste time designing your applications for different devices.

Rich Custom Component Ecosystem: Generate business-ready elements for the Salesforce mobile application, Lightning Experience, and Experience Builder websites. The navigation menu in the Salesforce mobile app allows users to access your components. Using drag-and-drop components in the Lightning App Builder, customize the Lightning Experience or create your own Lightning pages. Use Experience Builder to create and customize Experience Builder sites. The AppExchange has more components for your organization. You can also publish and share your components with other users.

Fast Development: It helps teams operate more efficiently by delivering pre-built components that function on both mobile and desktop platforms. Building an app with components allows for sequence, which increases development productivity. Components are enclosed and their elements are hidden, but component consumers can see their public shape. This strong layer enables component developers to change essential implementation details while keeping users out of the loop.

Device-aware and Cross Browser Compatibility: Apps are responsive and support the most recent browser technology, including CSS3, HTML5,  and touch events.

Explore Salesforce Sample Resumes! Download & Edit, Get Noticed by Top Employers! Download Now!

11. When Should I Use Lightning Web Components Instead of Visualforce?

Ans: Lightning web components adhere to current web standards, are easy to reuse both inside and outside the platform, are fast, and adapt well to various form factors. Converting Visualforce components to Lightning web components is a time-consuming procedure, but it allows you to improve and refine your programmes. Consider the overall design and usability of each component and its equivalent. Work with your designer to determine the best method to align your component with the Lightning Experience user interface's more modern appearance and feel. The component designs supplied in the Lightning Design System can be used for inspiration and sample code. 

You must determine when to reuse a Visualforce page within Lightning Experience and when to rebuild it as a Lightning web component as you start constructing Lightning web components. If you wish to rebuild, seriously consider:

  • The user experience is more engaging and responsive.
  • an easy-to-optimize experience for a variety of device types.
  • Your app will run more smoothly.
  • The Lightning Experience low-code tools and Lightning web components are always recommended for new development. They provide numerous advantages and make the development process simpler.

12. How to associate a Standard Controller with a VisualForce Page?

Ans: Use the standard controller attribute on the < apex: page > element to associate a standard controller with a Visualforce page, and allocate it the identity of any Salesforce entity that can be fetched via the Lightning Platform API.

Use the following markup to associate a page with the standard controller for a configured object labeled MyCustomObject:

<apex:page standardController="Object__c">

13. How to Access a Data with Standard Controller in VisualForce?

Ans: A getter method is included in every standard controller and returns the record indicated by the id query string variable in the website Url. Using the! object syntax, the related page markup can reference attributes on the context record, where the item is the lowercase name of the item connected with the controller. A page that uses the Account standard controller, for example, can use an account. name to get the value of the name field for the user that is currently in context. You can retrieve data from linked records using merge field syntax, much like you do with queries in the Lightning Platform API:

  • Up to five tiers of child-parent interactions are possible. For example, if you're working with the Contact standard controller, you may use! contact.Account.Owner.FirstName (a three-level child-to-parent connection) to get the name of the account record's owner.
  • One level of parent-child relationships can be explored. If you're using the Account standard controller, for example, you can use your account. Click on Contacts to get an array of all the contacts linked with the account now in use.

14. Explain about Standard Controller Action in VisualForce?

Ans: Whenever a page event happens, or if a consumer clicks a button or pauses over a region of the site/page, action methods apply the same navigation or logic methods. Using the! syntax in the action argument of one of the preceding tags, action methods can be called from page markup:

  • <apex:commandButton> generates a button that performs an action.
  • <apex:commandLink> makes a link that performs an action.  
  • <apex:actionPoller> creates a poller that performs an action. <apex:actionSupport> is called on a regular basis. It creates an event (including "Onclick," "onmouseover," and so forth) on that other named attribute, and then calls an action.
  • <apex:actionFunction>. describes a new local variable that executes the <apex:page> action. When the page is loaded, it performs an action.

15. Describe the action attributes in the Action method that are supported in Standard Controller?

Ans: Following are the Action Method attributes: 

Save: If the record is currently in context, it inserts a new record or modifies an existing record. After this operation, the save action either returns the user to the original page (if one exists) or navigates them to the saved record's detail page.
Quicksave: If the record is currently in context, it inserts a new record or modifies an existing record. This page does not redirect the visitor to another page, unlike the save action.
Edit: The user is directed to the edit page for the current entry in context. After this activity is completed, the edit action takes the user back to the page where the action was initiated.
Delete: Removes the record from the context. The delete action either restarts the page or redirects the user to the associated object tab after this operation is completed.
Cancel: An edit procedure is aborted. The cancel action returns the consumer to the webpage where the edit was initiated after this operation is completed.
List: Based on the most recently used list filter for that item and gives a PageReference instance of the regular list page. For example, if the standard controller is contact and the user's most recent filtered list is New Last Week, the contacts established in the last week will be displayed.

VisualForce Interview Questions for Experienced

16. What are the Validation Rules in Standard Controllers?

Ans: If a user submits data on a Visualforce page with a standard controller and that data results in a validation rule error, the error can be displayed on the Visualforce page. The error is displayed if the validation rule error address is a field connected with an <apex:inputField> component. If the validation rule error address is set to the main page, display the error using the <apex:pageMessages> or <apex: messages> elements within the <apex:page>.

[Related Article: Salesforce Tutorial]

17. Tell us about the Styling pages that use Standard Controllers?

Ans: The style used for standard Salesforce pages associated with the specified object is automatically inherited by any page associated with a standard controller. That is, the tab for the supplied object is selected, and all page elements are styled with the tab's associated colour.

The tabStyle parameter on the <apex: page> element can be used to change the styling of a page that utilizes a standard controller. The following page, for example, utilizes the Account standard controller but outputs a page that accentuates the Opportunities tab and uses the yellow colour of the Opportunity tab:

<apex:page standardController="acunt" tabStyle="opp">

18. How to check object accessibility in VisualForce?

Ans: Any Visualforce website page that contains a controller to display an element will be inaccessible if the user does not have adequate permission to view it. To circumvent this error, make sure your VisualForce components only render if the user has access to the controller's associated object.

This is how you can see if an object is accessible:


19. Explain about Custom Components?

Ans: You can integrate a basic design pattern in a tailored component and then reuse that component multiple times in various Visualforce pages, similar to how you can wrap a piece of code in a function and then reuse that function several times in a program. Developers can define properties that can be supplied to each component using custom components. The value of an attribute can then affect how the markup appears on the final page, as well as the controller-based logic that runs for that component instance. This differs from the behaviour of templates, which lack a mechanism for sending data from the page that utilizes the template to the template's specification.

Custom component descriptions appear alongside conventional component descriptions in the application's component reference dialogue. Because template descriptions are defined as pages, they can only be accessed through the Setup section of Salesforce.

20. Explain about Apex:page Component?

Ans: Apex: page is a Visualforce standard component. Because every Visualforce website page begins with this component, the apex: page component is extremely crucial. This specifies that a single Visualforce page, as well as all of its components, must be wrapped within the apex: page component.

Some characteristics of the Apex: page components are used in Visualforce website pages. They are as follows: 

Action: This is called when the server requests this page; with APEX, we should use an expression phrase to refer to an action method. action={! do action }—> Apex class must define it. 

Controller: It's a character type, and the name must be defined in an Apex class; controller refers to a custom controller, which cannot be utilized if the standard controller is used. 

<apex: page Controller=” class name implemented in APEX”>

Extension: This is used to give more functionality to custom controllers. We can do any extension for a tailored controller. 

<apex: page controller: “string” extension=”string”>

[Check Out: Salesforce Interview Questions]

21. Explain about the pagemessage component in Apex?

Ans: The apex:pagemessage element generates and presents all error codes from all elements on the current website page, with SF styling applied. When the apex:pagemessage element is used in a Visualforce page, this element will have various properties that will be used.

Apex pagemessage Component Attributes:

Title The title of the Error will be displayed.
Summary The summary of the title Error Message is printed with this parameter.
Detail This will display the Error's detailed description.
Severity This parameter is an Error logotype. Error, Warning, Info, and Confirm are the several types of error severity.
Strength The intensity message logo is available in sizes ranging from 1 to 3.
Rendered This property determines whether or not the element should be enabled.
Escape A Boolean value indicates whether vulnerable HTML and XML elements should be encoded in the HTML produced by this module.
Show Detail It's a Boolean type that determines whether the particular location of the messages is displayed; by default, it's false.

22. Explain about Button Overriding in VisualForce?

Ans: Standard buttons, such as New, View, and Edit, can be overridden independently in Lightning Experience, mobile, and Salesforce Classic. When a user hits a regular, personalised, or external object tab, you can also change the tab home page.

To override the home page of a normal button or tab:
To override a button or tab's home page, click Edit next to it.
As an override type, select the Visualforce page.
When users click the button or tab, select the Visualforce page you want to execute.

You should use the normal controller for the item on which the button resides when overriding buttons with a Visualforce page. To utilize a website page to override the Edit button on accounts, for example, the standardController="Account" property on the <apex: page> tag must be included in the page markup.

 <apex: page standardController="Account">

 <!-- Website content >


23. What are the inline VisualForce pages?

Ans: An inline visualforce page is a visual force page that can be inserted into the detail page of a record. In Salesforce's edit template option, you can do so. If the page uses the standard controller of that object, it will be provided for integration in the detailed page design. In the example below, an inline vf page of the standard controller 'contact' would be currently only available for integrating into correspondence records.

24. Explain about Dynamic VisualForce Binding?

Ans: Dynamic Visualforce bindings allow you to create generic Visualforce web pages that help to visualize records without having to know which fields to display. In other words, rather than being defined at compile-time, the variables on the webpage are defined at run time. This enables a developer to create a web page that renders differently depending on the rights or preferences of different audiences. Dynamic bindings are useful for managed package Visualforce pages because they enable the analysis of information particular to each subscriber with very minimal work.

For both standard and custom objects, dynamic Visualforce binding is supported. The following is a general description of dynamic bindings:


Where the syntax explains as follows:

The value of the reference is either an sObject, global variable, or an Apex class.

The name of a field or a related object is returned by the expression. If an associated object is provided, it can be used to pick fields or other related objects in a recursive manner.

25. How to create maps with VisualForce?

Ans. Maps convey data more accurately than just geographic data. Maps that use third-party mapping services are straightforward to develop with Visualforce mapping components. Visualforce maps are JavaScript-based interactive maps that include zooming, panning, and markers based on Salesforce or other data. Develop standalone map webpages, maps that can be inserted into page designs, and even Salesforce mobile maps.

Visualforce includes many mapping components. The <apex: map> component specifies the size, type, center point, and initial zoom level of the map canvas. The <apex:mapMarker> child component specifies the address or geolocation of the markers to be placed on the map (latitude and longitude). When a marker is clicked or tapped, the <apex:mapInfoWindow> component can be used to add configurable information panels.

Frequently Asked Visualforce Interview Questions

1. What is a rendered attribute?

Ans: It is a Boolean value that indicates whether or not the element is rendered on a Visualforce page. The possible values are always true if they are not given.

2. What is a reRender Attribute?

Ans: This attribute can be used to render a Boolean value based variable.

3. How to add multiple records for VisualForce pages?

Ans: In general, you can only enter one record at a time using the regular Salesforce tab. I don't want to enter each record one by one. I'd like to enter several records at once. How can we make this happen? This can be accomplished with the use of a basic visual force page.

4. How to disable the command buttons and Grey out the total vf page on any action?

Ans: When numerous people press the save button on the custom preserve button on the VF page, multiple records are usually created. To solve this problem, we can hide all buttons after the user clicks on them.

5. How to hide approve/Reject links on the home page?

Ans: If we want to prevent users from approving records from the home page, we can conceal the approve/reject links.

We must override all the links (Approve links) and buttons in the details page if we have built logic for the approval process (customized approval process).

6. How can we prevent users from approving from the main page?

Ans: Upload a JS file to a StaticResource "StaticResourceName." (The file extension must be.JS.). Following are the steps:

  • navigate to Home > Custom Links in Setup
  • Make a new link called "HideApproveLink" and save it.
  • "Execute JavaScript" is the behaviour.
  • "Onclick JavaScript" is the content source.
  • !REQUIRESCRIPT("/resource/StaticResourceName") in the body
  • select Setup > Home > Home Page Components à New from the drop-down menu.
  • "HideApproveLink-Box," for example.
  • Select the "Links" type.
  • select next
  • choose "HideApprovalLink" from the drop-down menu and save
  • went to Home > Home Page Layouts > Setup
  • to your layout, add "HideApprovalLink-box"

The Approval/Reject links are buried in the page when you click on the Home Tab.

We can make a component for the main page and write a script to conceal the links. we no longer have the option to write scripts in the home page component.

7. What are the global variables?

Ans: The $ symbol represents global variables, and these variables can be obtained from any Visualforce page.

Example: <h1>{!$user.firstname}

8. Explain versioning?

Ans: Previous versions of Visualforce pages and VF components are available even after new implementations are introduced.

9. How to enable Visualforce Development mode?

Ans: In Salesforce, go to Setup | My personal info | Personal Information | Edit | enable development mode | Save to enable development mode.

10. Explain Visualforce namespace?

Ans: Standard tags in Visulforce begin with the word apex, while custom tags commence with the word C. Instead of the letter C, a Salesforce user can login as a custom namespace.

Example: Standard tag : <apex:page>, 
Custom tag: <C:customtag>


This concludes the article. I hope you find all of the Visuaforce Interview Questions and Answers useful. If you think we missed any, please let us know and we'll add them as soon as we can.

Join our newsletter

Stay updated with our newsletter, packed with Tutorials, Interview Questions, How-to's, Tips & Tricks, Latest Trends & Updates, and more ➤ Straight to your inbox!

Course Schedule
Salesforce TrainingAug 05 to Aug 20
Salesforce TrainingAug 08 to Aug 23
Salesforce TrainingAug 12 to Aug 27
Salesforce TrainingAug 15 to Aug 30
Last updated: 04 August 2023
About Author
Remy Sharp
Madhuri Yerukala

Madhuri is a Senior Content Creator at MindMajix. She has written about a range of different topics on various technologies, which include, Splunk, Tensorflow, Selenium, and CEH. She spends most of her time researching on technology, and startups. Connect with her via LinkedIn and Twitter .

Recommended Courses

1 /15