Translate

Showing posts with label AngularJS. Show all posts
Showing posts with label AngularJS. Show all posts

Saturday, November 10, 2018

AngularJS Interview Questions and Answers

Source: https://readyshape.wordpress.com/2018/09/29/the-essential-angularjs-interview-questions-and-answers-you-need-to-prepare/

Latest AngularJS Interview Questions and Answers

Here are the top AngularJs Interview Questions and Answers which will help you to prepare for the AngularJS developer job.
1. What is AngularJS?
AngularJS is an open-source JavaScript framework which is used for creating rich, extensible websites & web applications. It follows the MVC (Model View Controller) pattern. AngularJS is the perfect framework for developing Single Page Applications (SPA). It is basically utilized for binding JavaScript objects with HTML UI elements.
2. Do you know what is data binding in AngularJS?
Data binding is a quite important feature of the software development technologies. Data binding in AngularJS is the automated synchronization of data between the view and model components. When the model changes, the view is automatically updated and conversely. There are two ways of data binding.
One-way data binding – A value is obtained from the data model & included into an HTML element.
Two-way data binding – It approaches the model as the single-source-of-truth in your application.
3. Do you what is the scope in AngularJS?
A Scope is an object that describes the application model. It performs the role of joining the controller (JavaScript) with the views (HTML). Every AngularJS application can have only one root scope, however, can have various child scopes. When the new scopes are built, they are added to their parent root scope as child scopes. 
For example:
var app = angular.module('myApp', []);    

app.controller('myCtrl', function($scope) {    

$scope.carname = "Volvo";    

});   

4. Explain how can you decrease digest cycle time?
In order to decrease digest cycle time, you want to reduce the number of watchers. Here are some best methods you can follow to decrease the number of watchers:-
  • Cache DOM.
  • Exclude unnecessary watchers.
  • Utilize one-time Angular binding. Particularly if you see ng-repeat loop use one-time binding.
  • Use the web worker.
  • Work in batches.
5. What is NPM?
NPM stands for node package manager. It is utilized for installing dependencies for javascript packages.
6. Mention the key features of AngularJS?
  • Scope
  • Model
  • Controller
  • View
  • Services
  • Directives
  • Data Binding
  • Filters
  • Testable
7. Explain the architecture of AngularJS?
The architecture of AngularJS is divided into three components. They are
  • The Template (View)
  • The Scope (Model)
  • The Controller (Controller)
It also extends HTML attributes with Directives and connects data to HTML with Expressions.
8. Mention some advantages of using the AngularJS framework?
  • The key advantages of utilizing the AngularJS framework include:
  • AngularJS is an open source platform.
  • It gives a great “desktop-like” experience to the end user.
  • AngularJS allows us to build a single page application.
  • It supports animation.
  • It follows the MVC pattern.
  • By classifying DOM manipulation from app logic, it makes code modular and easy to test.
  • Angular’s code is unit testable.
  • It supports two-way data binding.
9. What are the controllers in AngularJS?
Controllers are simple JavaScript functions that are bound to a particular scope. These controllers are utilized to provide data and logic to HTML UI. They are the prime components in the AngularJS framework and support functions to operate on data. Every controller receives $scope as a parameter which indicates to the application/module that controller is to control.
For example:
<script>    

var app = angular.module('myApp', []);    

app.controller('myCtrl', function($scope) {    

    $scope.firstName = "Vijay";    

    $scope.lastName = "Kumar";    

});    

</script>    

10. What are directives in AngularJS?
In AngularJS, a directive is something that precedes new syntax. They are alike special markers on DOM element which adds a specific behavior to the DOM element. It enables you to create new HTML syntax, precise to your application. They are important functions that perform when the Angular compiler detects them in the DOM. Some of the most commonly utilized directives are ng-app,ng-controller, ng-bind, ng-class, ng-show, and ng-repeat.

11. What are the different types of directives?
The different types of directives are:
  • Attribute directives
  • Element directives
  • Comment directives
  • CSS class directives
12.  What is injector in AngularJS?
An injector is a service locator which is utilized to retrieve object instances as defined by the provider, invoke methods, instantiate types, and load modules. The $injector service is responsible for finding the dependencies that a function declares and solving those dependencies. In every AngularJS application, there is a single injector is available. It also helps to look up an object instance by its name.
13. What is the difference between AngularJS and JavaScript Expressions?
The followings are the major differences between AngularJS and JavaScript Expressions.
  • AngularJS & JavaScript expressions contains literals, operators, and variables.
  • The AngularJS expressions can be written in HTML. But JavaScript expressions are not written in HTML.
  • AngularJS expressions support filters, while JavaScript expressions do not.
  • The JavaScript expressions can support loops, conditionals, and exceptions. But AngularJS expressions do not support.
14. Describe e2e testing of AngularJS applications?
The term e2e (end-to-end) testing includes testing an application from start to end. It helps to find whether all the components are working correctly. It also catches issues within an application associated with integration & flow.
15. Differentiate AngularJS and backbone.js?
AngularJS blends the functionalities of most of the third party libraries. And it supports individual functionalities needed to build HTML5 Apps. While Backbone.js do their jobs independently. Backbone.js has a possibility to be enlarged to support models and views updating each other.
16. How will you get URL parameters in Controller?
In order to get the URL parameters in a controller, we need to use the RouteProvider and the RouteParams.
17. Explain what is Single Page Application (SPA) in AngularJS?
Single-Page Applications are web applications that suit a single HTML page. It is the concept whereby pages are loaded from the server not by doing postbacks, rather by building a master page. Single page applications are utilizing AJAX and HTML to build quick & responsive web apps.
18. Explain how to validate data in AngularJS?
AngularJS contributes form filling and validation. Though we can utilize $dirty and $invalid flags to do the validations in a hassle-free manner. Leverage novalidate with a form declaration to disable any browser-specific validation.

The following can be utilized to track the error.
  • $invalid − determines that value entered is invalid.
  • $dirty − determines that value has been changed.
  • $error − determines the exact error.
19. What is transclusion in Angular JS?
Transclusion is a quite powerful and valuable feature of AngularJS directives. It will enable you to move the original children of a directive to a particular location inside a new template. It also enables a directive to utilize a template while still having the capability to clone the original content and add it to the DOM. Moreover, there are many benefits of using transclusion even without a template.
20. What is the link function and how it varies from compile?
The link function connects the directives with a scope to provide a live view.
The link function is accountable for instance DOM manipulation and for registering DOM listeners. Though the compile function is responsible for template DOM manipulation and the set of all the directives.
21. Explain what is dependency injection?
Dependency Injection is one of the greatest features of AngularJS. It is the process where the dependent objects are injected rather than being designed by the customer. It helps us to remove hard-coded dependencies and makes dependencies configurable. It also gives us the capacity to add the functionality of a component at runtime. Therefore, utilizing Dependency Injection, we can make the elements maintainable, reusable and testable.
22. Explain what are the different ways to invoke a directive?
In order to invoke a directive in an angular application, there are four ways to do this as follows.
As an attribute:
<span my-directive></span>
As a class:
<span class="my-directive: expression;"></span>
As an element:
<my-directive></my-directive>
As a comment:
<!-- directive: my-directive expression -->

23. How can you initialize Angular application data?
To initialize Angular application data, we can use “ng-init” directive.
For example 

We have used “ng-init” directive to initialize the “pi” value.
<body ng-app="myApp" ng-init="pi=3.14">
The value of pi is 
</body>

24. Explain what are the security features available in AngularJS?
AngularJS gives built-in protection from the following security defects.
  • It prevents HTML injection attacks.
  • It prevents cross-site-scripting attacks.
  • It limits XSRF protection for server-side communication.
  • It also prevents XSRF protection for server-side communication
  • NG-CSP directive is provided in angular to stop injecting inline codes to the application.
25. What is Routing?
A routing is a mechanism that creates an application as a Single Page Application. It is one the core feature of AngularJs Framework that is useful in developing a single page web application with many views.
Routing is utilized for the following metrics: –
  • It is utilized to create a modular application
  • It is utilized for state management in the application

Wednesday, October 10, 2018

Top 25 Angular 6 Interview Questions and Answers


Source: https://www.youtube.com/watch?v=GwaVHu561CY
1) Building blocks of Angular 6?

The Angular application is made using the following:
  • Modules
  • Component
  • Template
  • Directives
  • Data Binding
  • Services
  • Dependency Injection
  • Routing


2) What is the sequence of Angular Lifecycle Hooks?
  • OnChange
  • OnInit
  • DoCheck
  • AfterContentInit
  • AfterContentCheck
  • AfterViewInit
  • AfterViewCheck
  • OnDestroy

3) In how many ways the Data Binding can be done?
Data binding happens between the HTML (template) and typescript (component). Data binding can be done in 3 ways:
  • Property binding
  • Event-binding
  • 2-way data binding



4) Explain the usage of {{}}?
The set of {{}} when used with an HTML tag, represent data from a component.
For example on a HTML page which has <h1>{{variableName}}</h1> here the 'variableName' is actually typescript (component) data representing its value on the template.
This entire concept is called String Interpolation.

5) What is a RouterOutlet?
RouterOutlet is a substitution for templates rendering the components.
In other words, it represents or renders the components on a template at a particular location.


6) How to handle Events in Angular 5?
Any activity (button click, mouse click, mouse hover, mouse move, etc) of a user on a frontend/web screen is termed as an event.
Such events are passed from the view (.html) page to a typescript component (.ts)


7) What is Routing?
Routing helps a user in navigating to different pages using links.


8) What is Dependency Injection?
When a component is dependent on another component the dependency is injected/provided during runtime.


9) What are Services in Angular and what command is used to create a service?
Services help us in not repeating the code. With the creation of services, we can use the same code from different components.
Here is the command to create a service in angular, ng g service User (a UserService is created when this command is used).


10) What is ViewEncapsulation?
ViewEncapsulation decides whether the styles defined in a component can affect the entire application or not.
There are 3 ways to do this in Angular:
  • Emulated: styles from other HTML spread to the component.
  • Native: styles from other HTML do not spread to the component.
  • None: styles defined in a component are visible to all components.
 
11) What does a router.navigate do?
When we want to route to a component we use route.navigate.
Syntax: this.router.navigate(['/component_name']);


12) What is ng-content Directive? 
The HTML elements like p (paragraph) or h1 (heading) have some content between the tags.
For example, <p>this is paragraph</p> and <h1>this is heading</h1>.

Now, similar to this, what if we want to have some custom text or content between the angular tags like <app-tax>some tax-related content</app-tax> This will not work the way it worked for HTML elements.
Now, in such cases, the <ng-content> tag directive is used.

13) What is the use of @Input and @Output
When it comes to the communication of Angular Components, which are in Parent-Child Relationship, we use @Input in Child Component when we are passing data from Parent to Child Component and @Output is used in Child Component to receive an event from Child to Parent Component.

14) Differentiate between Components and Directives?
Components break up the application into smaller parts.
Whereas, Directives add behavior to an existing DOM element.


15) Which of the Angular life cycle component execution happens when a data-bound input value updates?
ngOnChanges is the life cycle hook that gets executed whenever a change happens to the data that was bound to an input.


16) What is Transpiling?
Transpiling is the process of converting the typescript into javascript (using Traceur, a JS compiler).
Though typescript is used o write code in the Angular applications, the code is internally transpiled into javascript.

17) What are ngModel and how do we represent it? 
ngModel is a directive which can be applied on a text field.  This is a two-way data binding.
ngModel is represented by [()]


18) What does a Subscribe method do?
It is a method which is subscribed to an observable.
Whenever the subscribe method is called, an independent execution of the observable happens.

19) Differentiate between Observables and Promises?
Observables are lazy, which means nothing happens until a subscription is made.
Whereas Promises are eager; which means as soon as a promise is created, the execution takes place.
Observable is a stream in which passing of zero or more events is possible and the callback is called for event.
Whereas, promise handles a single event.


20) What is an AsyncPipe? 
When an observable or promise returns something, we use a temporary property to hold the content.
Later, we bind the same content to the template. With the usage of AsyncPipe, the promise or observable can be directly used in a template and a temporary property is not required.


21) What is AOT Compilation?
Every angular application gets compiled internally.
The angular compiler takes javascript code, compiles it and produces javascript code again.
Ahead-of-Time Compilation does not happen every time or for every user, as is the case with Jus-In-Time (JIT) Compilation.


22) What is Redux? 
It is a library which helps us maintain the state of the application.
Redux is not required in applications that are simple with the simple data flow, it is used in Single Page Applications that have complex data flow.

23) What are Pipes? 
This feature is used to change the output on the template; something like changing the string into uppercase or displaying it on the template.
It can also change Date format accordingly.

24) Differentiate between ng-Class and ng-Style.
In ng-Class, loading of CSS class is possible. Whereas, in ng-Style we can set the CSS style.

25) What is the purpose of using package.json?
With the existence of package.json, it will be easy to manage the dependencies of the project.
If we are using typescript in the angular project then we can mention the typescript package and version of typescript in package.json