# Ottimizzazione delle performance (Angular) > OnPush strategy, trackBy, virtual scrolling, lazy loading, preloading, bundle size, Core Web Vitals, profiling - 22 domande da colloquio - Senior - [Domande da colloquio: Angular](https://sharpskill.dev/it/technologies/angular/domande-colloquio.md) ## 1. Cos'è la strategia OnPush in Angular? **Risposta** OnPush è una strategia di change detection che limita i controlli ai casi in cui gli input del componente cambiano per riferimento o quando viene attivato un evento interno. Questa ottimizzazione riduce notevolmente il numero di cicli di rilevamento nelle applicazioni complesse. Applicare OnPush di default sui componenti di presentazione costituisce una buona pratica per migliorare le performance. ## 2. Qual è il ruolo principale di trackBy in una direttiva ngFor? **Risposta** trackBy consente ad Angular di identificare in modo univoco ogni elemento di una lista, evitando così la ricreazione completa del DOM durante gli aggiornamenti. Senza trackBy, Angular distrugge e ricrea tutti gli elementi anche se solo uno è cambiato. Utilizzare trackBy con un identificatore univoco migliora significativamente le performance delle liste dinamiche. ## 3. Cos'è il lazy loading nel contesto del routing Angular? **Risposta** Il lazy loading è una tecnica di caricamento differito dei moduli che scarica il codice solo quando la rotta corrispondente viene attivata. Ciò riduce la dimensione del bundle iniziale e velocizza la prima visualizzazione dell'applicazione. I moduli con lazy loading sono definiti con loadChildren nella configurazione delle rotte. ## Altre 19 domande disponibili - Quale metodo attivare per forzare una verifica con OnPush? - Qual è il vantaggio principale del virtual scrolling per liste grandi? Registrati gratis: https://sharpskill.dev/it/login ## Altri argomenti di colloquio Angular - [Fondamenti di TypeScript](https://sharpskill.dev/it/technologies/angular/domande-colloquio/typescript-basics.md): 25 domande, Junior - [TypeScript Avanzato](https://sharpskill.dev/it/technologies/angular/domande-colloquio/typescript-advanced.md): 20 domande, Junior - [Fondamenti di Angular](https://sharpskill.dev/it/technologies/angular/domande-colloquio/angular-fundamentals.md): 20 domande, Junior - [Componenti e ciclo di vita](https://sharpskill.dev/it/technologies/angular/domande-colloquio/components-lifecycle.md): 20 domande, Junior - [Services & Dependency Injection](https://sharpskill.dev/it/technologies/angular/domande-colloquio/services-dependency-injection.md): 20 domande, Junior - [Organizzazione dei moduli Angular](https://sharpskill.dev/it/technologies/angular/domande-colloquio/modules-organization.md): 22 domande, Mid-Level - [Angular CLI](https://sharpskill.dev/it/technologies/angular/domande-colloquio/angular-cli.md): 18 domande, Junior - [Direttive e Pipe](https://sharpskill.dev/it/technologies/angular/domande-colloquio/directives-pipes.md): 22 domande, Mid-Level - [Routing e Navigazione](https://sharpskill.dev/it/technologies/angular/domande-colloquio/routing-navigation.md): 24 domande, Mid-Level - [Form reattivi](https://sharpskill.dev/it/technologies/angular/domande-colloquio/forms-reactive.md): 26 domande, Mid-Level - [Form template-driven](https://sharpskill.dev/it/technologies/angular/domande-colloquio/forms-template-driven.md): 16 domande, Mid-Level - [Fondamenti di RxJS](https://sharpskill.dev/it/technologies/angular/domande-colloquio/rxjs-fundamentals.md): 22 domande, Mid-Level - [Operatori RxJS](https://sharpskill.dev/it/technologies/angular/domande-colloquio/rxjs-operators.md): 24 domande, Mid-Level - [HttpClient e chiamate API](https://sharpskill.dev/it/technologies/angular/domande-colloquio/http-client.md): 22 domande, Mid-Level - [Gestione dello stato di base](https://sharpskill.dev/it/technologies/angular/domande-colloquio/state-management-basics.md): 20 domande, Mid-Level - [Change Detection](https://sharpskill.dev/it/technologies/angular/domande-colloquio/change-detection.md): 20 domande, Mid-Level - [Angular Signals](https://sharpskill.dev/it/technologies/angular/domande-colloquio/angular-signals.md): 20 domande, Mid-Level - [Standalone Components](https://sharpskill.dev/it/technologies/angular/domande-colloquio/standalone-components.md): 18 domande, Mid-Level - [Test unitari in Angular](https://sharpskill.dev/it/technologies/angular/domande-colloquio/testing-unit.md): 22 domande, Mid-Level - [Testing End-to-End](https://sharpskill.dev/it/technologies/angular/domande-colloquio/testing-e2e.md): 18 domande, Mid-Level - [Build e ottimizzazione](https://sharpskill.dev/it/technologies/angular/domande-colloquio/build-optimization.md): 20 domande, Mid-Level - [Fondamenti di NgRx](https://sharpskill.dev/it/technologies/angular/domande-colloquio/ngrx-fundamentals.md): 24 domande, Senior - [NgRx avanzato](https://sharpskill.dev/it/technologies/angular/domande-colloquio/ngrx-advanced.md): 24 domande, Senior - [Architettura Angular](https://sharpskill.dev/it/technologies/angular/domande-colloquio/angular-architecture.md): 22 domande, Senior - [Sicurezza e best practice](https://sharpskill.dev/it/technologies/angular/domande-colloquio/security-best-practices.md): 20 domande, Senior - [Pattern RxJS avanzati](https://sharpskill.dev/it/technologies/angular/domande-colloquio/advanced-rxjs-patterns.md): 22 domande, Senior - [Angular Universal e SSR](https://sharpskill.dev/it/technologies/angular/domande-colloquio/angular-universal-ssr.md): 20 domande, Senior - [Micro-frontend Angular](https://sharpskill.dev/it/technologies/angular/domande-colloquio/micro-frontends-angular.md): 20 domande, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/it/technologies/angular/domande-colloquio/performance-optimization