# Optimización de rendimiento (Angular) > OnPush strategy, trackBy, virtual scrolling, lazy loading, preloading, bundle size, Core Web Vitals, profiling - 22 preguntas de entrevista - Senior - [Preguntas de entrevista: Angular](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista.md) ## 1. ¿Qué es la estrategia OnPush en Angular? **Respuesta** OnPush es una estrategia de detección de cambios que limita las verificaciones a los casos en que los inputs del componente cambian por referencia o cuando se dispara un evento interno. Esta optimización reduce considerablemente la cantidad de ciclos de detección en aplicaciones complejas. Aplicar OnPush por defecto en los componentes de presentación constituye una buena práctica para mejorar el rendimiento. ## 2. ¿Cuál es el papel principal de trackBy en una directiva ngFor? **Respuesta** trackBy permite a Angular identificar de manera única cada elemento de una lista, evitando así la recreación completa del DOM durante las actualizaciones. Sin trackBy, Angular destruye y recrea todos los elementos incluso si solo uno ha cambiado. Usar trackBy con un identificador único mejora significativamente el rendimiento de las listas dinámicas. ## 3. ¿Qué es el lazy loading en el contexto del routing de Angular? **Respuesta** El lazy loading es una técnica de carga diferida de módulos que solo descarga el código cuando la ruta correspondiente se activa. Esto reduce el tamaño del bundle inicial y acelera la primera visualización de la aplicación. Los módulos cargados de forma diferida se definen con loadChildren en la configuración de rutas. ## 19 preguntas más disponibles - ¿Qué método activar para forzar una verificación con OnPush? - ¿Cuál es la principal ventaja del virtual scrolling para listas grandes? Regístrate gratis: https://sharpskill.dev/es/login ## Otros temas de entrevista Angular - [Conceptos básicos de TypeScript](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/typescript-basics.md): 25 preguntas, Junior - [TypeScript Avanzado](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/typescript-advanced.md): 20 preguntas, Junior - [Fundamentos de Angular](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/angular-fundamentals.md): 20 preguntas, Junior - [Componentes y ciclo de vida](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/components-lifecycle.md): 20 preguntas, Junior - [Services & Dependency Injection](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/services-dependency-injection.md): 20 preguntas, Junior - [Organización de Módulos Angular](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/modules-organization.md): 22 preguntas, Mid-Level - [Angular CLI](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/angular-cli.md): 18 preguntas, Junior - [Directivas y Pipes](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/directives-pipes.md): 22 preguntas, Mid-Level - [Routing y Navegación](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/routing-navigation.md): 24 preguntas, Mid-Level - [Formularios reactivos](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/forms-reactive.md): 26 preguntas, Mid-Level - [Formularios template-driven](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/forms-template-driven.md): 16 preguntas, Mid-Level - [Fundamentos de RxJS](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/rxjs-fundamentals.md): 22 preguntas, Mid-Level - [Operadores RxJS](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/rxjs-operators.md): 24 preguntas, Mid-Level - [HttpClient y llamadas API](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/http-client.md): 22 preguntas, Mid-Level - [Gestión de estado básica](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/state-management-basics.md): 20 preguntas, Mid-Level - [Change Detection](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/change-detection.md): 20 preguntas, Mid-Level - [Angular Signals](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/angular-signals.md): 20 preguntas, Mid-Level - [Standalone Components](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/standalone-components.md): 18 preguntas, Mid-Level - [Pruebas unitarias en Angular](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/testing-unit.md): 22 preguntas, Mid-Level - [Testing End-to-End](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/testing-e2e.md): 18 preguntas, Mid-Level - [Build y optimización](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/build-optimization.md): 20 preguntas, Mid-Level - [Fundamentos de NgRx](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/ngrx-fundamentals.md): 24 preguntas, Senior - [NgRx avanzado](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/ngrx-advanced.md): 24 preguntas, Senior - [Arquitectura Angular](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/angular-architecture.md): 22 preguntas, Senior - [Seguridad y buenas prácticas](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/security-best-practices.md): 20 preguntas, Senior - [Patrones avanzados de RxJS](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/advanced-rxjs-patterns.md): 22 preguntas, Senior - [Angular Universal y SSR](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/angular-universal-ssr.md): 20 preguntas, Senior - [Micro-frontends Angular](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/micro-frontends-angular.md): 20 preguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/performance-optimization