# Change Detection (Angular) > Zone.js, strategie change detection, strategia OnPush, ChangeDetectorRef, markForCheck, detectChanges, optymalizacja wydajności - 20 pytań z rozmów - Mid-Level - [Pytania z rozmów: Angular](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne.md) ## 1. Czym jest mechanizm change detection w Angularze? **Odpowiedź** Change detection to proces, w którym Angular wykrywa zmiany w stanie aplikacji i odpowiednio aktualizuje DOM. Domyślnie Angular używa Zone.js do automatycznego wykrywania zdarzeń asynchronicznych (clicks, HTTP requests, timers) i wyzwala sprawdzanie komponentów od korzenia. To sprawdzanie przechodzi przez drzewo komponentów, aby zidentyfikować modyfikacje do zastosowania w DOM. ## 2. Jaka jest rola Zone.js w change detection Angulara? **Odpowiedź** Zone.js to biblioteka, która patchuje natywne asynchroniczne API przeglądarki (setTimeout, Promise, addEventListener itp.) w celu przechwytywania ich wykonania. Gdy operacja asynchroniczna kończy się, Zone.js powiadamia Angulara, który automatycznie wyzwala change detection od komponentu głównego. Pozwala to Angularowi wykrywać zmiany bez ręcznej interwencji programisty. ## 3. Jaka jest różnica między strategiami Default i OnPush? **Odpowiedź** Strategia Default sprawdza wszystkie komponenty w drzewie w każdym cyklu change detection, co może być kosztowne. OnPush optymalizuje, sprawdzając komponent tylko wtedy, gdy zmienią się jego wejścia (referencje niemutowalne), gdy zdarzenie zostanie wyemitowane z jego szablonu, gdy async pipe otrzyma nową wartość lub gdy markForCheck() zostanie wywołany ręcznie. OnPush drastycznie redukuje sprawdzenia i poprawia wydajność. ## Jeszcze 17 dostępnych pytań - Jak włączyć strategię OnPush na komponencie? - Jaki jest cel ChangeDetectorRef w komponencie Angulara? Zarejestruj się za darmo: https://sharpskill.dev/pl/login ## Inne tematy rekrutacyjne Angular - [Podstawy TypeScript](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/typescript-basics.md): 25 pytań, Junior - [TypeScript zaawansowany](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/typescript-advanced.md): 20 pytań, Junior - [Podstawy Angulara](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/angular-fundamentals.md): 20 pytań, Junior - [Komponenty i cykl życia](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/components-lifecycle.md): 20 pytań, Junior - [Services & Dependency Injection](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/services-dependency-injection.md): 20 pytań, Junior - [Organizacja modułów Angular](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/modules-organization.md): 22 pytań, Mid-Level - [Angular CLI](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/angular-cli.md): 18 pytań, Junior - [Dyrektywy i Pipe'y](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/directives-pipes.md): 22 pytań, Mid-Level - [Routing i Nawigacja](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/routing-navigation.md): 24 pytań, Mid-Level - [Formularze reaktywne](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/forms-reactive.md): 26 pytań, Mid-Level - [Formularze template-driven](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/forms-template-driven.md): 16 pytań, Mid-Level - [Podstawy RxJS](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/rxjs-fundamentals.md): 22 pytań, Mid-Level - [Operatory RxJS](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/rxjs-operators.md): 24 pytań, Mid-Level - [HttpClient i wywołania API](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/http-client.md): 22 pytań, Mid-Level - [Podstawowe zarządzanie stanem](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/state-management-basics.md): 20 pytań, Mid-Level - [Angular Signals](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/angular-signals.md): 20 pytań, Mid-Level - [Standalone Components](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/standalone-components.md): 18 pytań, Mid-Level - [Testy jednostkowe w Angular](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/testing-unit.md): 22 pytań, Mid-Level - [Testowanie End-to-End](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/testing-e2e.md): 18 pytań, Mid-Level - [Build i optymalizacja](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/build-optimization.md): 20 pytań, Mid-Level - [Podstawy NgRx](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/ngrx-fundamentals.md): 24 pytań, Senior - [Zaawansowany NgRx](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/ngrx-advanced.md): 24 pytań, Senior - [Architektura Angular](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/angular-architecture.md): 22 pytań, Senior - [Optymalizacja wydajności](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/performance-optimization.md): 22 pytań, Senior - [Bezpieczeństwo i najlepsze praktyki](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/security-best-practices.md): 20 pytań, Senior - [Zaawansowane wzorce RxJS](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/advanced-rxjs-patterns.md): 22 pytań, Senior - [Angular Universal i SSR](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/angular-universal-ssr.md): 20 pytań, Senior - [Angular Micro-frontends](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/micro-frontends-angular.md): 20 pytań, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/change-detection