# Change Detection (Angular) > Zone.js, strategie di change detection, strategia OnPush, ChangeDetectorRef, markForCheck, detectChanges, ottimizzazione delle performance - 20 domande da colloquio - Mid-Level - [Domande da colloquio: Angular](https://sharpskill.dev/it/technologies/angular/domande-colloquio.md) ## 1. Cos'è il meccanismo di change detection in Angular? **Risposta** La change detection è il processo con cui Angular rileva i cambiamenti nello stato dell'applicazione e aggiorna il DOM di conseguenza. Per impostazione predefinita, Angular usa Zone.js per rilevare automaticamente gli eventi asincroni (clicks, HTTP requests, timers) e attiva la verifica dei componenti dalla radice. Questa verifica attraversa l'albero dei componenti per identificare le modifiche da applicare al DOM. ## 2. Qual è il ruolo di Zone.js nella change detection di Angular? **Risposta** Zone.js è una libreria che applica patch alle API asincrone native del browser (setTimeout, Promise, addEventListener, ecc.) per intercettare la loro esecuzione. Quando un'operazione asincrona si completa, Zone.js notifica Angular che attiva automaticamente la change detection dal componente radice. Questo permette ad Angular di rilevare i cambiamenti senza intervento manuale dello sviluppatore. ## 3. Qual è la differenza tra le strategie Default e OnPush? **Risposta** La strategia Default verifica tutti i componenti dell'albero ad ogni ciclo di change detection, il che può essere costoso. OnPush ottimizza verificando un componente solo se i suoi input cambiano (riferimenti immutabili), se un evento viene emesso dal suo template, se un async pipe riceve un nuovo valore, o se markForCheck() viene chiamato manualmente. OnPush riduce drasticamente le verifiche e migliora le performance. ## Altre 17 domande disponibili - Come abilitare la strategia OnPush su un componente? - Qual è lo scopo di ChangeDetectorRef in un componente Angular? 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 - [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 - [Ottimizzazione delle performance](https://sharpskill.dev/it/technologies/angular/domande-colloquio/performance-optimization.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/change-detection