Angular

Change Detection

Zone.js, стратегії change detection, стратегія OnPush, ChangeDetectorRef, markForCheck, detectChanges, оптимізація продуктивності

20 питань зі співбесід·
Mid-Level
1

Що таке механізм change detection в Angular?

Відповідь

Change detection — це процес, за допомогою якого Angular виявляє зміни у стані застосунку та оновлює DOM відповідно. За замовчуванням Angular використовує Zone.js для автоматичного виявлення асинхронних подій (clicks, HTTP requests, timers) і запускає перевірку компонентів від кореня. Ця перевірка проходить деревом компонентів, щоб визначити модифікації, які потрібно застосувати до DOM.

2

Яка роль Zone.js у change detection Angular?

Відповідь

Zone.js — це бібліотека, яка патчить нативні асинхронні API браузера (setTimeout, Promise, addEventListener тощо) для перехоплення їх виконання. Коли асинхронна операція завершується, Zone.js повідомляє Angular, який автоматично запускає change detection від кореневого компонента. Це дозволяє Angular виявляти зміни без ручного втручання розробника.

3

Яка різниця між стратегіями Default та OnPush?

Відповідь

Стратегія Default перевіряє всі компоненти в дереві на кожному циклі change detection, що може бути дорогим. OnPush оптимізує, перевіряючи компонент лише коли змінюються його input (незмінні посилання), коли подія генерується з його шаблону, коли async pipe отримує нове значення, або коли markForCheck() викликається вручну. OnPush значно зменшує кількість перевірок і покращує продуктивність.

4

Як увімкнути стратегію OnPush на компоненті?

5

Яке призначення ChangeDetectorRef у компоненті Angular?

+17 питань зі співбесід

Інші теми співбесід Angular

Основи TypeScript

Junior
25 запитань

TypeScript просунутий

Junior
20 запитань

Основи Angular

Junior
20 запитань

Компоненти та життєвий цикл

Junior
20 запитань

Services & Dependency Injection

Junior
20 запитань

Організація модулів Angular

Mid-Level
22 запитань

Angular CLI

Junior
18 запитань

Директиви та Pipe

Mid-Level
22 запитань

Маршрутизація та навігація

Mid-Level
24 запитань

Реактивні форми

Mid-Level
26 запитань

Template-driven форми

Mid-Level
16 запитань

Основи RxJS

Mid-Level
22 запитань

Оператори RxJS

Mid-Level
24 запитань

HttpClient і виклики API

Mid-Level
22 запитань

Базове керування станом

Mid-Level
20 запитань

Angular Signals

Mid-Level
20 запитань

Standalone Components

Mid-Level
18 запитань

Модульні тести в Angular

Mid-Level
22 запитань

End-to-End тестування

Mid-Level
18 запитань

Build і оптимізація

Mid-Level
20 запитань

Основи NgRx

Senior
24 запитань

Просунутий NgRx

Senior
24 запитань

Архітектура Angular

Senior
22 запитань

Оптимізація продуктивності

Senior
22 запитань

Безпека та найкращі практики

Senior
20 запитань

Просунуті патерни RxJS

Senior
22 запитань

Angular Universal та SSR

Senior
20 запитань

Angular Micro-frontends

Senior
20 запитань

Опануй Angular для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно