Angular

Change Detection

Zone.js, estratégias de change detection, estratégia OnPush, ChangeDetectorRef, markForCheck, detectChanges, otimização de performance

20 perguntas de entrevista·
Mid-Level
1

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.

2

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.

3

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.

4

Como ativar a estratégia OnPush em um componente?

5

Qual é o propósito do ChangeDetectorRef em um componente Angular?

+17 perguntas de entrevista

Domine Angular para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis