Angular is gaining more popularity day by day among the software development community, it was developed and maintained by the search engine giant Google. Now after the release of version 9 with significant improvements in its features it is a top contender with its peer technologies like React.js and Vue the two other web application frameworks.
Many big companies like Google, Paypal, Youtube, Microsoft, ATT, Apple Inc, etc uses Angular for developing their applications. Hence there is large scope for developers to learn and become proficient in this technology to grab top job opportunities in the market. Below are the list of top Angular 9 interview questions and Answers sourced from experts working in this technology in real time projects in top companies.
What is Angular?
Answer: Angular is an open source web development framework written and maintained by Google, Now it has become one of the most popular web development framework for developing web applications as well as mobile apps.
Angular is written in TypeScript, so it brings all features that TypeScript offers.
What is TypeScript?
Whats new in Angular 9?
Answer: Angular version 9 was released with many features and performance improvements. Mainly it moves all applications to use the Ivy compiler and runtime by default. Angular has been updated to work with TypeScript 3.6 and 3.7.
In addition to hundreds of bug fixes, the Ivy compiler and runtime offers numerous advantages. Below are some of the major improvements in version 9
- Optimized bundle sizes
- Enables Faster testing
- Helps Better debugging
- Improved CSS class and style binding
- Improved type checking
- Improved build errors
- Improved build times, enabling AOT on by default
- Improved Internationalization
How can you create a new Angular Project?
Answer: We can create a new project using Angular CLI – this command line interface allows us to quickly create an Angular application with – components, services, pipes, directive, classes, and modules, and so on as per our requirements.
What are Components in Angular?
Answer: Components are the most basic building blocks of an Angular application and it controls Views (HTML/CSS). They also communicate with other Components and Services to bring the desired functionalities to our applications.
Technically components are basically classes – written in Typescript that interacts with the HTML files of the components, which gets rendered on the browsers.
Angular applications must have a root component that contains all other components. Components are created using the @Component decorator that is part of @angular/core module.
What are Modules?
Answer: The Angular module helps us to organize an application into associative blocks of functionality, it is a core concept and plays a fundamental role in structuring the Angular applications. Basically the purpose of the module is to group everything you create in an Angular application.
Technically an Angular module is a class marked with the @NgModule decorator and it works with the @NgModule decorator function and also takes a metadata object that tells Angular how to compile and run module code.
Every Angular application should have at least one module and it contains the components, service providers, pipes and other code files whose scope is defined by the containing NgModule.
What are Angular Directives?
Answer: Angular directive allows us to attach desired behavior to DOM elements and the @directive decorator provide us an additional metadata that determines how directives should be processed, instantiated, and used at run-time.
Angular Directive is a class written Typescript and is marked with @directive decorator.
What is Angular Pipe?
Answer: Pipe transforms displayed values within a template. @Pipe annotation is used to declare a class written in Typescript as a pipe and also a pipe class must implement a PipeTransform interface.
Pipe class implements the PipeTransform interface’s transform method that accepts an input value and returns the transformed result. There will be one additional argument to the transform method for each parameter passed to the pipe.
What is Dependency Injection (DI)?
Answer: Dependency Injection is a powerful pattern and is one of the main feature of Angular. DI is a way to create objects that depend upon other objects – it is used in managing code dependencies.
Angular has its own DI framework pattern and it supplies the dependent objects when it creates an instance object.
What are the Angular 9 best practices?
Answer: Below are the best practices to be followed while developing Angular applications
- Do not modify your copy of Angular framework code – this will cause huge issues during the future upgrade.
- Avoid Angular APIs marked in the documentation as “Security Risk”
- Prevent cross-site scripting (XSS)
- As far as possible keep current with the latest Angular library releases.
- Check the Angular official blog for security-related updates regularly.
What Is Bazel?
Answer: Bazel is a powerful tool which can keep track of the dependencies between different packages and build targets. Google open sourced this software responsible for automating building and testing most of our projects under the name Bazel.