Change Detection
Zone.js, change detection strategies, OnPush strategy, ChangeDetectorRef, markForCheck, detectChanges, performance optimization
1Qu'est-ce que le mécanisme de change detection dans Angular ?
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.
2Quel est le rôle de Zone.js dans la change detection Angular ?
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.
3Quelle est la différence entre les stratégies Default et OnPush ?
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.
Comment activer la stratégie OnPush sur un composant ?
À quoi sert ChangeDetectorRef dans un composant Angular ?
+17 questions d'entretien
Autres sujets d'entretien Angular
Les bases de TypeScript
TypeScript avancé
Fondamentaux Angular
Composants et cycle de vie
Services et Dependency Injection
Organisation des Modules Angular
Angular CLI
Directives et Pipes
Routing et Navigation
Formulaires réactifs
Formulaires template-driven
Fondamentaux RxJS
Opérateurs RxJS
HttpClient et API calls
Gestion d'état de base
Angular Signals
Standalone Components
Tests unitaires Angular
Tests end-to-end
Build et optimisation
Fondamentaux NgRx
NgRx avancé
Architecture Angular
Optimisation de performance
Sécurité et bonnes pratiques
Patterns RxJS avancés
Angular Universal et SSR
Micro-frontends Angular
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