Change Detection
Zone.js, strategie change detection, strategia OnPush, ChangeDetectorRef, markForCheck, detectChanges, optymalizacja wydajności
1Czym jest mechanizm change detection w Angularze?
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.
2Jaka jest rola Zone.js w change detection Angulara?
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.
3Jaka jest różnica między strategiami Default i OnPush?
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ść.
Jak włączyć strategię OnPush na komponencie?
Jaki jest cel ChangeDetectorRef w komponencie Angulara?
+17 pytań z rozmów
Inne tematy rekrutacyjne Angular
Podstawy TypeScript
TypeScript zaawansowany
Podstawy Angulara
Komponenty i cykl życia
Services & Dependency Injection
Organizacja modułów Angular
Angular CLI
Dyrektywy i Pipe'y
Routing i Nawigacja
Formularze reaktywne
Formularze template-driven
Podstawy RxJS
Operatory RxJS
HttpClient i wywołania API
Podstawowe zarządzanie stanem
Angular Signals
Standalone Components
Testy jednostkowe w Angular
Testowanie End-to-End
Build i optymalizacja
Podstawy NgRx
Zaawansowany NgRx
Architektura Angular
Optymalizacja wydajności
Bezpieczeństwo i najlepsze praktyki
Zaawansowane wzorce RxJS
Angular Universal i SSR
Angular Micro-frontends
Opanuj Angular na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo