# Change Detection (Angular) > Zone.js, estratégias de change detection, estratégia OnPush, ChangeDetectorRef, markForCheck, detectChanges, otimização de performance - 20 perguntas de entrevista - Mid-Level - [Perguntas de entrevista: Angular](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista.md) ## 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. ## Mais 17 perguntas disponiveis - Como ativar a estratégia OnPush em um componente? - Qual é o propósito do ChangeDetectorRef em um componente Angular? Cadastre-se gratis: https://sharpskill.dev/pt/login ## Outros temas de entrevista Angular - [Fundamentos do TypeScript](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/typescript-basics.md): 25 perguntas, Junior - [TypeScript Avançado](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/typescript-advanced.md): 20 perguntas, Junior - [Fundamentos do Angular](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/angular-fundamentals.md): 20 perguntas, Junior - [Componentes e ciclo de vida](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/components-lifecycle.md): 20 perguntas, Junior - [Services & Dependency Injection](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/services-dependency-injection.md): 20 perguntas, Junior - [Organização de Módulos Angular](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/modules-organization.md): 22 perguntas, Mid-Level - [Angular CLI](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/angular-cli.md): 18 perguntas, Junior - [Diretivas e Pipes](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/directives-pipes.md): 22 perguntas, Mid-Level - [Routing e Navegação](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/routing-navigation.md): 24 perguntas, Mid-Level - [Formulários reativos](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/forms-reactive.md): 26 perguntas, Mid-Level - [Formulários template-driven](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/forms-template-driven.md): 16 perguntas, Mid-Level - [Fundamentos do RxJS](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/rxjs-fundamentals.md): 22 perguntas, Mid-Level - [Operadores RxJS](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/rxjs-operators.md): 24 perguntas, Mid-Level - [HttpClient e chamadas de API](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/http-client.md): 22 perguntas, Mid-Level - [Gerenciamento de estado básico](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/state-management-basics.md): 20 perguntas, Mid-Level - [Angular Signals](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/angular-signals.md): 20 perguntas, Mid-Level - [Standalone Components](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/standalone-components.md): 18 perguntas, Mid-Level - [Testes unitários em Angular](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/testing-unit.md): 22 perguntas, Mid-Level - [Testes End-to-End](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/testing-e2e.md): 18 perguntas, Mid-Level - [Build e otimização](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/build-optimization.md): 20 perguntas, Mid-Level - [Fundamentos do NgRx](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/ngrx-fundamentals.md): 24 perguntas, Senior - [NgRx avançado](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/ngrx-advanced.md): 24 perguntas, Senior - [Arquitetura Angular](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/angular-architecture.md): 22 perguntas, Senior - [Otimização de desempenho](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/performance-optimization.md): 22 perguntas, Senior - [Segurança e boas práticas](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/security-best-practices.md): 20 perguntas, Senior - [Padrões avançados de RxJS](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/advanced-rxjs-patterns.md): 22 perguntas, Senior - [Angular Universal e SSR](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/angular-universal-ssr.md): 20 perguntas, Senior - [Micro-frontends Angular](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/micro-frontends-angular.md): 20 perguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/change-detection