Google News
Angular Interview Questions
  Angular is the platform that makes it easy to develop robust web applications. It unites the declarative templates, dependency injection, the end to end tooling and integrated the top perform to resolve the development challenges of developers. Angular authorizes developers to develop applications that could live on the web and mobile respectively.
  The framework, written in pure JavaScript, was intended to decouple an application’s logic from DOM manipulation, and aimed at dynamic page updates.
  It was aimed to help both developers and designers to build web applications by simply using the HTML tag. And it was officially released in 2010 by Google engineers.
  In 2010, this framework’s main benefit was, it let you turn HTML-based documents into dynamic content. It can synchronize data automatically with models and views. So, developing with Angular became easier and faster like never before.
  Thereafter Google has released various versions of Angular framework with the respective time frame. Currently, we have the Angular 9 and version 10 is in the pipeline.
Ivy in Angular version 8 is considered as the Rendering Engine. It was released in Angular 8 as Opt-in. It has opted as the code name for Angular’s next-generation rendering pipeline and compilation. By default, Ivy is intended to be the rendering engine in Angular 9
The key features of Angular 8 are as follows:
 a) Differential Loading to create two different production bundles of your app.

 b) New Dynamic Lazy Loading modules for imports.

 c) Supports Web Workers.

 d) Supports TypeScript version 3.4.

 e) Availability of New Workspace APIs and Builder.

 f) Bazel Support.

 g) Opt-In usage sharing.

 h) Ivy Rendering Engine: The new compiler for Angular version 8.
ngUpgrade improvements.
Bazel is one of the key features present in Angular version 8. It always allows you to build CLI applications quickly. Bazel is considered a built tool that is developed and mostly used by Google as it can build applications in any language. The entire Angular framework is built with Bazel. Moreover, Bazel allows you to break an application into different build units which are defined at the NgModule level.
Codelyzer in Angular version 8 is the open-source tool that is present on the top of the TSLint. The main purpose of Codelyzer is to verify whether the Angular TypeScript 3.4 projects are following the set of linting rules or not. It mainly focuses on the static code in Angular TypeScript. In simple words, we can say that the main purpose of the Codelyzer in Angular version 8 is to check the quality and correctness of the program.
The main purpose of the Wildcard Router in Angular version 8 is to match every URL as an instruction to get a clear client-generated view. This Wildcard route always comes last as it needs to perform its task at the end only. It is mainly used to define the route of the pages in Angular 8.
SPA means Single Page Applications. Such web applications load the HTML, CSS or JS of the page once, and don’t require reloading within page-to-page navigation.
Though being not an absolutely new solution, SPAs have been growing in popularity recently. Here are three main SPA Advantages.
On SPA, the page navigation seems to be quick enough thank to caching process. It means that an application will not load the whole page at the request of a user, it will only download the required parts.
2.Caching process
On the one hand, an application never stops checking if the previously downloaded data remains the same to update it when needed. So, the app doesn’t waste time loading the whole page again and again. On the other hand, the Multiple Page Application successfully uses caching as well, though the download speed here depends more on business needs and can be increased if necessary.
UX design in SPA is generally better and more pleasant for an end-user. A great SPA advantage and the main reason for turning to SPA is its high interactivity and possibility to work offline. Thus, it seems that you’re dealing with a desktop application rather than with a web page.
So, Single Page Application built in Angular is quick to build and easy to use, though it possesses some cons as well as pros.

Metadata is used to decorate the class so that it can configure the expected behavior of a class. Decorators are the core concept when developing with Angular (versions 2 and above). The user can use metadata to a class to tell Angular app that AppComponent is the component. Metadata can be attached to the TypeScript using the decorator.

@Component({ selector: 'app-root', templateUrl: './app.component.html', 
styleUrls: ['./app.component.css'] })

@Component is a decorator which makes use of configuration object to 
create the component and its view.
Decorator : A Decorator is a special kind of declaration that can be attached to a class declaration, method, accessor, property, or parameter. Decorators use the form @expression, where expression must evaluate to a function that will be called at runtime with information about the decorated declaration.
Directives : Angular Directive is basically a class with a @Directive decorator. A component is also a directive-with-a-template. A @Component decorator is actually a @Directive decorator extended with template-oriented features. Whenever Angular renders a directive, it changes the DOM according to the instructions given by the directive. The directive appears within an element tag similar to attributes.
Architecture : AngularJS uses MVC or Model-View-Controller architecture, where the Model contains the business logic, Controller processes information and View shows the information present in the Model.
Angular replaces controllers with Components. Components are nothing but directives with a predefined template.
Language : AngularJS uses JavaScript language, which is a dynamically typed language.
Angular uses TypeScript language, which is a statically typed language and is a superset of JavaScript. By using statically typed language, Angular provides better performance while developing larger applications.
Mobile Support : AngularJS does not provide mobile support.
Angular is supported by all popular mobile browsers.
Structure : While developing larger applications, the process of maintaining code becomes tedious in the case of AngularJS.
In the case of Angular, it is easier to maintain code for larger applications as it provides a better structure.
Expression Syntax : While developing an AngularJS application, a developer needs to remember the correct ng-directive for binding an event, or a property. Whereas in Angular, property binding is done using "[ ]" attribute and event binding is done using "( )" attribute.