# Оптимізація продуктивності (Angular) > OnPush strategy, trackBy, virtual scrolling, lazy loading, preloading, bundle size, Core Web Vitals, profiling - 22 питань зі співбесід - Senior - [Питання зі співбесід: Angular](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy.md) ## 1. Що таке стратегія OnPush в Angular? **Відповідь** OnPush — це стратегія виявлення змін, яка обмежує перевірки випадками, коли input-и компонента змінюються за посиланням або коли спрацьовує внутрішня подія. Ця оптимізація значно зменшує кількість циклів виявлення у складних застосунках. Застосування OnPush за замовчуванням до презентаційних компонентів є гарною практикою для покращення продуктивності. ## 2. Яка основна роль trackBy в директиві ngFor? **Відповідь** trackBy дозволяє Angular унікально ідентифікувати кожен елемент списку, уникаючи повного перестворення DOM під час оновлень. Без trackBy Angular знищує та перестворює всі елементи, навіть якщо змінився лише один. Використання trackBy з унікальним ідентифікатором значно покращує продуктивність динамічних списків. ## 3. Що таке lazy loading в контексті маршрутизації Angular? **Відповідь** Lazy loading — це техніка відкладеного завантаження модулів, яка завантажує код лише тоді, коли активується відповідний маршрут. Це зменшує початковий розмір bundle і прискорює перше відображення застосунку. Lazy-завантажені модулі визначаються за допомогою loadChildren у конфігурації маршрутів. ## Ще 19 доступних питань - Який метод викликати, щоб примусити перевірку з OnPush? - Яка основна перевага virtual scrolling для великих списків? Зареєструйся безкоштовно: https://sharpskill.dev/uk/login ## Інші теми співбесід Angular - [Основи TypeScript](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/typescript-basics.md): 25 запитань, Junior - [TypeScript просунутий](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/typescript-advanced.md): 20 запитань, Junior - [Основи Angular](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/angular-fundamentals.md): 20 запитань, Junior - [Компоненти та життєвий цикл](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/components-lifecycle.md): 20 запитань, Junior - [Services & Dependency Injection](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/services-dependency-injection.md): 20 запитань, Junior - [Організація модулів Angular](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/modules-organization.md): 22 запитань, Mid-Level - [Angular CLI](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/angular-cli.md): 18 запитань, Junior - [Директиви та Pipe](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/directives-pipes.md): 22 запитань, Mid-Level - [Маршрутизація та навігація](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/routing-navigation.md): 24 запитань, Mid-Level - [Реактивні форми](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/forms-reactive.md): 26 запитань, Mid-Level - [Template-driven форми](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/forms-template-driven.md): 16 запитань, Mid-Level - [Основи RxJS](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/rxjs-fundamentals.md): 22 запитань, Mid-Level - [Оператори RxJS](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/rxjs-operators.md): 24 запитань, Mid-Level - [HttpClient і виклики API](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/http-client.md): 22 запитань, Mid-Level - [Базове керування станом](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/state-management-basics.md): 20 запитань, Mid-Level - [Change Detection](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/change-detection.md): 20 запитань, Mid-Level - [Angular Signals](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/angular-signals.md): 20 запитань, Mid-Level - [Standalone Components](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/standalone-components.md): 18 запитань, Mid-Level - [Модульні тести в Angular](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/testing-unit.md): 22 запитань, Mid-Level - [End-to-End тестування](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/testing-e2e.md): 18 запитань, Mid-Level - [Build і оптимізація](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/build-optimization.md): 20 запитань, Mid-Level - [Основи NgRx](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/ngrx-fundamentals.md): 24 запитань, Senior - [Просунутий NgRx](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/ngrx-advanced.md): 24 запитань, Senior - [Архітектура Angular](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/angular-architecture.md): 22 запитань, Senior - [Безпека та найкращі практики](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/security-best-practices.md): 20 запитань, Senior - [Просунуті патерни RxJS](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/advanced-rxjs-patterns.md): 22 запитань, Senior - [Angular Universal та SSR](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/angular-universal-ssr.md): 20 запитань, Senior - [Angular Micro-frontends](https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/micro-frontends-angular.md): 20 запитань, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/uk/technologies/angular/pytannia-spivbesidy/performance-optimization