Angular

Change Detection

Zone.js, change detection strategies, OnPush strategy, ChangeDetectorRef, markForCheck, detectChanges, performance optimization

20 questions d'entretien·
Confirmé
1

Qu'est-ce que le mécanisme de change detection dans Angular ?

Réponse

La change detection est le processus par lequel Angular détecte les changements dans l'état de l'application et met à jour le DOM en conséquence. Par défaut, Angular utilise Zone.js pour détecter automatiquement les événements asynchrones (clicks, HTTP requests, timers) et déclenche la vérification des composants depuis la racine. Cette vérification parcourt l'arbre des composants pour identifier les modifications à appliquer au DOM.

2

Quel est le rôle de Zone.js dans la change detection Angular ?

Réponse

Zone.js est une bibliothèque qui patch les APIs asynchrones natives du navigateur (setTimeout, Promise, addEventListener, etc.) pour intercepter leur exécution. Lorsqu'une opération asynchrone se termine, Zone.js notifie Angular qui déclenche automatiquement la change detection depuis le composant racine. Cela permet à Angular de détecter les changements sans intervention manuelle du développeur.

3

Quelle est la différence entre les stratégies Default et OnPush ?

Réponse

La stratégie Default vérifie tous les composants de l'arbre à chaque cycle de change detection, ce qui peut être coûteux. OnPush optimise en ne vérifiant un composant que si ses inputs changent (références immuables), si un événement est émis depuis son template, si un async pipe reçoit une nouvelle valeur, ou si markForCheck() est appelé manuellement. OnPush réduit drastiquement le nombre de vérifications et améliore les performances.

4

Comment activer la stratégie OnPush sur un composant ?

5

À quoi sert ChangeDetectorRef dans un composant Angular ?

+17 questions d'entretien

Maîtrise Angular pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement