# Optymalizacja wydajności (Angular) > OnPush strategy, trackBy, virtual scrolling, lazy loading, preloading, bundle size, Core Web Vitals, profiling - 22 pytań z rozmów - Senior - [Pytania z rozmów: Angular](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne.md) ## 1. Czym jest strategia OnPush w Angular? **Odpowiedź** OnPush to strategia change detection, która ogranicza sprawdzanie do przypadków, gdy inputy komponentu zmieniają się przez referencję lub gdy wewnętrzne zdarzenie zostaje wyzwolone. Ta optymalizacja znacząco zmniejsza liczbę cykli detekcji w złożonych aplikacjach. Stosowanie OnPush domyślnie w komponentach prezentacyjnych to dobra praktyka poprawiająca wydajność. ## 2. Jaka jest główna rola trackBy w dyrektywie ngFor? **Odpowiedź** trackBy pozwala Angularowi jednoznacznie zidentyfikować każdy element listy, unikając w ten sposób pełnego odtworzenia DOM podczas aktualizacji. Bez trackBy Angular niszczy i odtwarza wszystkie elementy, nawet jeśli zmienił się tylko jeden. Używanie trackBy z unikalnym identyfikatorem znacząco poprawia wydajność dynamicznych list. ## 3. Czym jest lazy loading w kontekście routingu Angular? **Odpowiedź** Lazy loading to technika opóźnionego ładowania modułów, która pobiera kod tylko wtedy, gdy odpowiednia trasa jest aktywowana. Zmniejsza to rozmiar początkowego bundle'a i przyspiesza pierwsze wyświetlenie aplikacji. Moduły ładowane z lazy loading są definiowane za pomocą loadChildren w konfiguracji tras. ## Jeszcze 19 dostępnych pytań - Jaką metodę wywołać, aby wymusić sprawdzenie z OnPush? - Jaka jest główna zaleta virtual scrolling dla dużych list? 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 - [Change Detection](https://sharpskill.dev/pl/technologies/angular/pytania-rekrutacyjne/change-detection.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 - [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/performance-optimization