You are on page 1of 9

Lightning and Lwc interview questions

1.How to call a controller method in javascript?


var action=component.get("methodname")

2.what is the use of do init method?


It will be loaded on loading of lightning application
It is pretty much similar to constructor.

3.What is the use of attribute?


Attribute is like a variable. If you want to store the data
then we should go with attribute.

4.What is bounded expression?


We will able to get the new value.
syntax
=====
{!v.attribute name}

5.What is unbounded expression?


we will not able to get the new value.
syntax
======
{#v.attributename}

6.What is the use of AuraEnabled annotation?


if you want to access the data in the lightning application
then we should write AuraEnabled annotation
->we will not able to access the data in lightning application without auraEnabled

7.What is the use of global action in the controller?


$A.enqueueAction(action)
It's used to execute the server side logic

8.can we write void method in lightning?


No

9.How to get the response from callback?


reponse.getReturnValue()

10.How to get the state in controller?


response.getState()
11.Why helper method is a best practice in lightning?
->It's used for reusability

12.What is reusability in lightning?


We will able to access the value from one method to other method.

method1:function(component)
{
var name='sfdcscenarios';
this.method2(name);

},
method2:function(name)
{
//reusability
console.log('name from method1 is'+name);
}

13.Does it happens in the controller?


No. It will happens in the helper

14.what framework lightning will follow?


aura framework

15.How many tags we have in lightning?


ui tags
Lightning tags

16.what is exends="force:slds"?
It will acquire the properties of lightning design system?

17.What happens if you don't put exends="force:slds" in lightning application?


It will look like normal html file

18.what is v in attribute?
It's a value provider. If you want to access the value from the attribute then we will
use {!v.attrname} or{#v.attributename}

19.When we should go with unbounded expression?


If you are simply dealing with read operation then we should go with
unbounded expression
20. does Reusability is possible in controller?
No

21.What is Lightning component bundle?

component
controller
helper
design
svg
Documentation
style
renderer

22.what is renderer?
If you want to override the standard rendering mechanism in salesforce lightning
then we should go with renderer

23.what are the events in salesforce lightning?

component event

application event

system events

24..Which interface should you use if you want to get the id of the record from the record Detail
page?

force:hasRecordId

25. can we call one component to another component?

yes we can call

26.how to call lightning component in visual force page?

<aura:application access="GLOBAL" extends="ltng:outApp">

<aura:dependency resource="c:FlipCard"/>

</aura:application>
*Add the <apex:includeLightning /> component to your Visualforce page.

*Reference a Lightning app that declares your component dependencies with $Lightning.use().

*Write a function that creates the component on the Visualforce page with
$Lightning.createComponent().

27.how to pass the parameters in controller?

action.setParams

28.How to Navigate From One Lightning Component to Another Lightning Component?

"e.force:navigateToComponent"

29. How to go from one lightning page to another lightning page through a click?

var urlEvent = $A.get("e.force:navigateToURL");

30.best practices for lightning?

Do not put so many console logs.

Make the use of Salesforce lightning design system for consistent ui design.

Make the use of Lightning data services to avoid server calls for Dml operations.

Use unbounded expressions if the data across components are not required to be in synch.

Before you decide to use a third-party library in a Lightning component, you should reevaluate if
you really need that library. DOM manipulation libraries (like jQuery) and UI libraries (like
Bootstrap or jQuery UI) in particular may no longer be needed when working with the Lightning
Component Framework.

When possible, use the (sprite-based) Lightning Design System icons (using <lightning:icon>
and <lightning:buttonIcon>) instead of custom icons.

Salesforce is slower for users who have debug mode enabled. So, do not enable in Production.

When appropriate consider passing the data in different components(using attributes,events or


methods) rather than retrieving the same data in different components.

When making a call to the server limit the columns and rows of the result set. Only select the
columns you need.
Set a limit on the query and provide paging mechanisum if needed. Don’t return huge number of
rows at once.

consider combining several requests(actions) in a single composite request.

Cache the data when possible.

Caching the data at the client side can significantly reduce the number of server round trips and
improve the performance tips. A storable action is a server action whose response is stored in
the in the client cache so that subsequent requests for the same server method with the same
set of arguments can be accessed from that cache.

Try to limit number of event handlers in your Lightning component. As you can guess, multiple
event handler means your component would be busy in listening event changes resulting in
performance overload.

Always try to use a component event instead of an application event, if possible. Component
events can only be handled by components above them in the containment hierarchy so their
usage is more localized to the components that need to know about them. Application events
are best used for something that should be handled at the application level, such as navigating
to a specific record. Application events allow communication between components that are in
separate parts of the application and have no direct containment relationship.

Use helper methods.

To improve runtime performance, set @AuraEnabled(cacheable=true) to cache the method


results on the client. To set cacheable=true, a method must only get data. It can’t mutate data.

30. Where we can use Lightning Components?

We can use Lightning Components in the following places:

Drag-and-drop Components in the Lightning App Builder and Community Builder.

Add Lightning Components to Lightning Pages.

Add Lightning Components to Lightning Experience Record Pages.

Launch a Lightning Component as a Quick Action

Override Standard Actions with Lightning Components

Create Stand-Alone Apps


31. Which interface should you use if you want your component to be available for all pages?

You can use the flexipage:availableForAllPageTypes interface.

32. Which interface should you use if you want to override a standard action?

You will need to use the Lightning:actionOverride interface.

33.Which interface should you use if you want your component to be available only on the
record home page?

You will need to use the flexipage:availableForRecordHome interface.

34.Which interface should you use if you want your component to be used a tab?

You will need to use the force:appHostable interface.

35.Which interface should you use if you want your component to be used a quick action?

You will need to use the force:lightningQuickAction interface.

36.How can you call the controller method based on a component load?

"<aura:handler name="init" value="{!this}" action="{!c.doInitialization}"/

37. What are component events?

Component events are events which are fired by child components and handled by the parent
component. We can make use of this event when we need to pass a value from a child
component to parent component.

38. What are application events?

Application events can be fired from any component and can be handled by any component.
They do not require any kind of relationship between the components, but these components
must be a part of a single application.

39. What is force:recordData, and what are its advantages?

force:recordData is a standard controller of a Lightning Component. We can perform an


operation such as creating a record, editing a record,deleting a record using force:recordData. If
we are using force:recordData, it identifies and eliminates the duplicate request going to the
server if they are requesting for the same record data (which in turn improves performance).
40.What are the phases in component events propagation?

There are two phases in component event propagation.

Bubble Phase

Capture Phase

41. What are the phases in application events propagation?

Bubble Phase

Capture Phase

Default Phase

42.How do the bubble phase and the capture phase propagate?

Bubble phase: propagates from Bottom to Top.

Capture phase: propagates from Top to Bottom.

43.What is Aura:method in Salesforce Lightning component?

we can directly call a child component controller method from the parent component controller
method using Aura:method. This method is used to pass value from parent component
controller to the child component controller.

44.What is Lightning:overlayLibrary in Salesforce Lightning component?

To create a modal box we use Lightning:overlayLibrary.To use Lightning:overlayLibrary in


component we need to include tag <lightning:overlayLibrary aura:id="overlayLib"/> in
component, here aura:id is unique local id. Modal has header,body and footer which are
customizable.

45. what are the lightning webcomponent bundle?

LWC bundle contains an HTML file, a JavaScript file, and a metadata configuration file and
these files are created once we create a Lightning web component.We can also create a .css
file for styling purpose and We can also create SVG file for the purpose of displaying icon.

46.What are the types of decorators in lightning web components?


We have 3 Decorators in Lightning Web Components.

1) @api
2) @track
3) @wire

47. Is there any limit on how many component to have in one Application ?

there is no limit.

48. Is Lightning Components replacing Visualforce ?

No.

49. What are the advantages of lightning ?

The benefits include an out-of-the-box set of components, event-driven architecture, and a


framework optimized for performance.

Out-of-the-Box Component Set -: Comes with an out-of-the-box set of components to kick start
building apps. You don’t have to spend your time optimizing your apps for different devices as
the components take care of that for you.

Rich component ecosystem-: Create business-ready components and make them available in
Salesforce1, Lightning Experience, and Communities.

Performance – :Uses a stateful client and stateless server architecture that relies on JavaScript
on the client side to manage UI, It intelligently utilizes your server, browser, devices, and
network so you can focus on the logic and interactions of your apps.

Event-driven architecture -: event-driven architecture for better decoupling between components

Faster development – : Empowers teams to work faster with out-of-the-box components that
function seamlessly with desktop and mobile devices.

Device-aware and cross browser compatibility – : responsive design,supports the latest in


browser technology such as HTML5, CSS3, and touch events.

50. How can we deploy components to production org ?

we can deploy component by using managed packages, Force.com IDE, Force.com Migration
Tool or Change Sets.

51. How we can access Custom Label in Lightning?


Syntax : $A.get(“$Label.namespace.labelName”)

52. How we can use component in the community builder?


Implements “forceCommunity:availableForAllPageTypes” interface on the component.

You might also like