Change Detection
Zone.js, estratégias de change detection, estratégia OnPush, ChangeDetectorRef, markForCheck, detectChanges, otimização de performance
1O que é o mecanismo de change detection no Angular?
O que é o mecanismo de change detection no Angular?
Resposta
A change detection é o processo pelo qual o Angular detecta alterações no estado da aplicação e atualiza o DOM de acordo. Por padrão, o Angular usa Zone.js para detectar automaticamente eventos assíncronos (clicks, HTTP requests, timers) e dispara a verificação dos componentes a partir da raiz. Essa verificação percorre a árvore de componentes para identificar modificações a aplicar ao DOM.
2Qual é o papel do Zone.js na change detection do Angular?
Qual é o papel do Zone.js na change detection do Angular?
Resposta
Zone.js é uma biblioteca que faz patch nas APIs assíncronas nativas do navegador (setTimeout, Promise, addEventListener, etc.) para interceptar sua execução. Quando uma operação assíncrona é concluída, o Zone.js notifica o Angular, que dispara automaticamente a change detection a partir do componente raiz. Isso permite ao Angular detectar mudanças sem intervenção manual do desenvolvedor.
3Qual é a diferença entre as estratégias Default e OnPush?
Qual é a diferença entre as estratégias Default e OnPush?
Resposta
A estratégia Default verifica todos os componentes da árvore em cada ciclo de change detection, o que pode ser custoso. OnPush otimiza verificando um componente apenas se seus inputs mudam (referências imutáveis), se um evento é emitido do seu template, se um async pipe recebe um novo valor, ou se markForCheck() é chamado manualmente. OnPush reduz drasticamente as verificações e melhora o desempenho.
Como ativar a estratégia OnPush em um componente?
Qual é o propósito do ChangeDetectorRef em um componente Angular?
+17 perguntas de entrevista
Outros temas de entrevista Angular
Fundamentos do TypeScript
TypeScript Avançado
Fundamentos do Angular
Componentes e ciclo de vida
Services & Dependency Injection
Organização de Módulos Angular
Angular CLI
Diretivas e Pipes
Routing e Navegação
Formulários reativos
Formulários template-driven
Fundamentos do RxJS
Operadores RxJS
HttpClient e chamadas de API
Gerenciamento de estado básico
Angular Signals
Standalone Components
Testes unitários em Angular
Testes End-to-End
Build e otimização
Fundamentos do NgRx
NgRx avançado
Arquitetura Angular
Otimização de desempenho
Segurança e boas práticas
Padrões avançados de RxJS
Angular Universal e SSR
Micro-frontends Angular
Domine Angular para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis