📚Angular Interview Questions Part 2

В этой статье мы рассмотрим хорошо составленный список вопросов для собеседования по angular 2021 и ответы на них как для опытных, так и для новичков.

Что такое AOT-компиляция?

Приложение Angular состоит в основном из компонентов и их HTML-шаблонов. Поскольку компоненты и шаблоны, предоставляемые Angular, не могут быть поняты браузером напрямую, приложения Angular требуют процесса компиляции перед запуском в браузере.

Для этого Angular предоставляет два типа компиляторов JIT и AOT. JIT означает Just in Time, а AOT означает Ahead of Time.

Компилятор Angular с опережением времени (AOT) преобразует наш код Angular HTML и TypeScript в эффективный код JavaScript на этапе сборки до того, как браузер загрузит и запустит этот код. Компиляция приложения в процессе сборки обеспечивает более быстрый рендеринг в браузере.

Мы можем использовать как JIT, так и AOT-компилятор для сборки нашего приложения.

//To use JIT compiler for Build run
ng build

//To use AOT compiler for Build run
ng build --prod

Вход в полноэкранный режим Выход из полноэкранного режима

В чем преимущества AOT?

Меньший размер приложения (исключая компилятор Angular)
Более быстрый рендеринг компонентов (уже скомпилированные шаблоны)
Ошибки разбора шаблонов обнаруживаются раньше (во время сборки)
Более безопасно (нет необходимости динамически оценивать шаблоны)

Чем выражения Angular отличаются от выражений JavaScript?
Как и выражения JavaScript, выражения Angular могут содержать литералы, операторы и переменные. В отличие от выражений JavaScript.

Выражения Angular могут быть написаны внутри HTML. Выражения Angular не поддерживают условия, циклы и исключения, в то время как выражения JavaScript поддерживают.

Выражения Angular поддерживают фильтры, а выражения JavaScript — нет.

Чем наблюдаемые выражения отличаются от обещаний?

Наблюдаемые:

Выдают несколько значений в течение определенного периода времени.
Являются ленивыми: они не выполняются, пока мы не подпишемся на них с помощью метода subscribe().
Подписки можно отменить с помощью метода unsubscribe(), что прекращает получение слушателем дальнейших значений.
Предоставить карту для операторов forEach, filter, reduce, retry и retryWhen.
Доставлять ошибки подписчикам.
Обещания:

Выдают одно значение за один раз.
Не ленивы: выполняются сразу после создания.
Не подлежат отмене.
Не предоставляют никаких операций.
Передают ошибки дочерним обещаниям.

Объясните концепцию Dependency Injection?

В программной инженерии Dependency Injection — это техника, при которой объект получает другие объекты, от которых он зависит. Эти другие объекты называются зависимостями. Инъекция» означает передачу зависимости (сервиса) в объект (класс), который будет ее использовать.

В основном существует три типа инъекции зависимостей:

Инъекция конструктора: зависимости предоставляются через конструктор класса.
Инъекция сеттера: клиент раскрывает метод сеттера, который инжектор использует для инъекции зависимости.
Инъекция интерфейса: зависимость предоставляет метод-инжектор, который будет инжектировать зависимость в любого клиента, переданного ему. Клиенты должны реализовать интерфейс, который раскрывает метод setter, принимающий зависимость.

Опишите архитектуру MVVM.

Модель-Вид-Вид-Модель (MVVM) — это архитектурный паттерн программного обеспечения, который позволяет отделить разработку презентационного слоя (представление) — будь то с помощью языка разметки или кода GUI — от разработки логического слоя или логики бэкенда (модель), чтобы представление не зависело от конкретной платформы модели.

Обсудите преимущества и недостатки использования Angular?
Ниже приведены преимущества и недостатки Angular.

Преимущества Angular:

Реализация архитектуры MVC
Улучшенная архитектура проектирования
Инъекция зависимостей (DI)
TypeScript: лучший инструментарий, более чистый код и высокая масштабируемость
Большое сообщество и экосистема
Мощный маршрутизатор
Недостатки Angular:

Ограниченные возможности SEO
Более сложная кривая обучения

Что такое ngOnInit? Как его определить?

Метод обратного вызова, который вызывается сразу после того, как детектор изменений по умолчанию впервые проверит свойства директивы, связанные с данными, и до того, как будут проверены дочерние элементы представления или содержимого. Он вызывается только один раз при инстанцировании компонента/директивы.

Метод ngOnInit() определяется в классе компонента, как показано ниже:

class MyComponent implements OnInit {
  ngOnInit() {
    // some code
  }
} 
Войти в полноэкранный режим Выход из полноэкранного режима

Что такое инкапсуляция представления в Angular?

Инкапсуляция представления определяет, могут ли шаблоны и стили, определенные в компоненте, влиять на все приложение или наоборот.

По умолчанию ViewEncapsulation — Emulated, эта инкапсуляция эмулирует поведение теневого DOM, предварительно обрабатывая (и переименовывая) код CSS, чтобы эффективно распространить CSS на представление компонента. Angular добавляет CSS в глобальные стили.

Angular предоставляет несколько типов инкапсуляции представления. Они следующие:

Эмулированный: Стили из основного HTML распространяются на компонент. Стили, определенные в декораторе @Component этого компонента, относятся только к этому компоненту.
Native: Стили из основного HTML не распространяются на компонент. Стили, определенные в этом
None: Стили компонента распространяются обратно в основной HTML и поэтому видны всем компонентам на странице. Будьте осторожны с приложениями, в которых есть компоненты None и Native. У всех компонентов с инкапсуляцией None стили будут дублироваться во всех компонентах с инкапсуляцией Native.

Читайте полные статьи здесь:-

Часть 1 этой серии :- Вопросы для собеседования по Angular, часть 1

Часть 2 этой серии :- Вопросы для собеседования по Angular Часть 2

Часть 3 этой серии :- Вопросы для собеседования по Angular Часть 3

Оцените статью
devanswers.ru
Добавить комментарий