Change Detection
Zone.js, estrategias de change detection, estrategia OnPush, ChangeDetectorRef, markForCheck, detectChanges, optimización de rendimiento
1¿Qué es el mecanismo de change detection en Angular?
¿Qué es el mecanismo de change detection en Angular?
Respuesta
La change detection es el proceso por el cual Angular detecta cambios en el estado de la aplicación y actualiza el DOM en consecuencia. Por defecto, Angular usa Zone.js para detectar automáticamente eventos asíncronos (clicks, HTTP requests, timers) y activa la verificación de componentes desde la raíz. Esta verificación recorre el árbol de componentes para identificar modificaciones a aplicar al DOM.
2¿Cuál es el rol de Zone.js en la change detection de Angular?
¿Cuál es el rol de Zone.js en la change detection de Angular?
Respuesta
Zone.js es una biblioteca que parchea las APIs asíncronas nativas del navegador (setTimeout, Promise, addEventListener, etc.) para interceptar su ejecución. Cuando una operación asíncrona se completa, Zone.js notifica a Angular, que activa automáticamente la change detection desde el componente raíz. Esto permite a Angular detectar cambios sin intervención manual del desarrollador.
3¿Cuál es la diferencia entre las estrategias Default y OnPush?
¿Cuál es la diferencia entre las estrategias Default y OnPush?
Respuesta
La estrategia Default verifica todos los componentes del árbol en cada ciclo de change detection, lo que puede ser costoso. OnPush optimiza al verificar un componente solo si sus inputs cambian (referencias inmutables), si se emite un evento desde su template, si un async pipe recibe un nuevo valor, o si se llama manualmente a markForCheck(). OnPush reduce drásticamente las verificaciones y mejora el rendimiento.
¿Cómo activar la estrategia OnPush en un componente?
¿Cuál es el propósito de ChangeDetectorRef en un componente Angular?
+17 preguntas de entrevista
Otros temas de entrevista Angular
Conceptos básicos de TypeScript
TypeScript Avanzado
Fundamentos de Angular
Componentes y ciclo de vida
Services & Dependency Injection
Organización de Módulos Angular
Angular CLI
Directivas y Pipes
Routing y Navegación
Formularios reactivos
Formularios template-driven
Fundamentos de RxJS
Operadores RxJS
HttpClient y llamadas API
Gestión de estado básica
Angular Signals
Standalone Components
Pruebas unitarias en Angular
Testing End-to-End
Build y optimización
Fundamentos de NgRx
NgRx avanzado
Arquitectura Angular
Optimización de rendimiento
Seguridad y buenas prácticas
Patrones avanzados de RxJS
Angular Universal y SSR
Micro-frontends Angular
Domina Angular para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis