# Otimização de desempenho (Angular) > OnPush strategy, trackBy, virtual scrolling, lazy loading, preloading, bundle size, Core Web Vitals, profiling - 22 perguntas de entrevista - Senior - [Perguntas de entrevista: Angular](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista.md) ## 1. O que é a estratégia OnPush no Angular? **Resposta** OnPush é uma estratégia de change detection que limita as verificações aos casos em que os inputs do componente mudam por referência ou quando um evento interno é disparado. Essa otimização reduz consideravelmente a quantidade de ciclos de detecção em aplicações complexas. Aplicar OnPush por padrão em componentes de apresentação é uma boa prática para melhorar o desempenho. ## 2. Qual é o papel principal do trackBy em uma diretiva ngFor? **Resposta** trackBy permite que o Angular identifique de forma única cada item de uma lista, evitando assim a recriação completa do DOM durante as atualizações. Sem trackBy, o Angular destrói e recria todos os elementos mesmo que apenas um tenha mudado. Usar trackBy com um identificador único melhora significativamente o desempenho de listas dinâmicas. ## 3. O que é lazy loading no contexto do routing Angular? **Resposta** O lazy loading é uma técnica de carregamento diferido de módulos que só baixa o código quando a rota correspondente é ativada. Isso reduz o tamanho do bundle inicial e acelera a primeira exibição da aplicação. Os módulos com lazy loading são definidos com loadChildren na configuração de rotas. ## Mais 19 perguntas disponiveis - Qual método acionar para forçar uma verificação com OnPush? - Qual é a principal vantagem do virtual scrolling para listas grandes? 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 - [Change Detection](https://sharpskill.dev/pt/technologies/angular/perguntas-entrevista/change-detection.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 - [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/performance-optimization