# Optimisation de performance (Angular) > OnPush strategy, trackBy, virtual scrolling, lazy loading, preloading, bundle size, Core Web Vitals, profiling - 22 questions d'entretien - Senior - [Questions d'entretien: Angular](https://sharpskill.dev/fr/technologies/angular/questions-entretien.md) ## 1. Qu'est-ce que la stratégie OnPush dans Angular ? **Réponse** OnPush est une stratégie de détection de changements qui limite les vérifications aux cas où les inputs du composant changent par référence ou lorsqu'un événement interne se déclenche. Cette optimisation réduit considérablement le nombre de cycles de détection dans les applications complexes. Appliquer OnPush par défaut sur les composants présentationnels constitue une bonne pratique pour améliorer les performances. ## 2. Quel est le rôle principal de trackBy dans une directive ngFor ? **Réponse** trackBy permet à Angular d'identifier de manière unique chaque élément d'une liste, évitant ainsi la recréation complète du DOM lors des mises à jour. Sans trackBy, Angular détruit et recrée tous les éléments même si seul un élément a changé. Utiliser trackBy avec un identifiant unique améliore significativement les performances des listes dynamiques. ## 3. Qu'est-ce que le lazy loading dans le contexte du routing Angular ? **Réponse** Le lazy loading est une technique de chargement différé des modules qui ne télécharge le code que lorsque la route correspondante est activée. Cela réduit la taille du bundle initial et accélère le premier affichage de l'application. Les modules lazy loadés sont définis avec loadChildren dans la configuration des routes. ## 19 questions supplémentaires disponibles - Quelle méthode déclencher pour forcer une vérification avec OnPush ? - Quel est l'avantage principal du virtual scrolling pour les grandes listes ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien Angular - [Les bases de TypeScript](https://sharpskill.dev/fr/technologies/angular/questions-entretien/typescript-basics.md): 25 questions, Junior - [TypeScript avancé](https://sharpskill.dev/fr/technologies/angular/questions-entretien/typescript-advanced.md): 20 questions, Junior - [Fondamentaux Angular](https://sharpskill.dev/fr/technologies/angular/questions-entretien/angular-fundamentals.md): 20 questions, Junior - [Composants et cycle de vie](https://sharpskill.dev/fr/technologies/angular/questions-entretien/components-lifecycle.md): 20 questions, Junior - [Services et Dependency Injection](https://sharpskill.dev/fr/technologies/angular/questions-entretien/services-dependency-injection.md): 20 questions, Junior - [Organisation des Modules Angular](https://sharpskill.dev/fr/technologies/angular/questions-entretien/modules-organization.md): 22 questions, Confirmé - [Angular CLI](https://sharpskill.dev/fr/technologies/angular/questions-entretien/angular-cli.md): 18 questions, Junior - [Directives et Pipes](https://sharpskill.dev/fr/technologies/angular/questions-entretien/directives-pipes.md): 22 questions, Confirmé - [Routing et Navigation](https://sharpskill.dev/fr/technologies/angular/questions-entretien/routing-navigation.md): 24 questions, Confirmé - [Formulaires réactifs](https://sharpskill.dev/fr/technologies/angular/questions-entretien/forms-reactive.md): 26 questions, Confirmé - [Formulaires template-driven](https://sharpskill.dev/fr/technologies/angular/questions-entretien/forms-template-driven.md): 16 questions, Confirmé - [Fondamentaux RxJS](https://sharpskill.dev/fr/technologies/angular/questions-entretien/rxjs-fundamentals.md): 22 questions, Confirmé - [Opérateurs RxJS](https://sharpskill.dev/fr/technologies/angular/questions-entretien/rxjs-operators.md): 24 questions, Confirmé - [HttpClient et API calls](https://sharpskill.dev/fr/technologies/angular/questions-entretien/http-client.md): 22 questions, Confirmé - [Gestion d'état de base](https://sharpskill.dev/fr/technologies/angular/questions-entretien/state-management-basics.md): 20 questions, Confirmé - [Change Detection](https://sharpskill.dev/fr/technologies/angular/questions-entretien/change-detection.md): 20 questions, Confirmé - [Angular Signals](https://sharpskill.dev/fr/technologies/angular/questions-entretien/angular-signals.md): 20 questions, Confirmé - [Standalone Components](https://sharpskill.dev/fr/technologies/angular/questions-entretien/standalone-components.md): 18 questions, Confirmé - [Tests unitaires Angular](https://sharpskill.dev/fr/technologies/angular/questions-entretien/testing-unit.md): 22 questions, Confirmé - [Tests end-to-end](https://sharpskill.dev/fr/technologies/angular/questions-entretien/testing-e2e.md): 18 questions, Confirmé - [Build et optimisation](https://sharpskill.dev/fr/technologies/angular/questions-entretien/build-optimization.md): 20 questions, Confirmé - [Fondamentaux NgRx](https://sharpskill.dev/fr/technologies/angular/questions-entretien/ngrx-fundamentals.md): 24 questions, Senior - [NgRx avancé](https://sharpskill.dev/fr/technologies/angular/questions-entretien/ngrx-advanced.md): 24 questions, Senior - [Architecture Angular](https://sharpskill.dev/fr/technologies/angular/questions-entretien/angular-architecture.md): 22 questions, Senior - [Sécurité et bonnes pratiques](https://sharpskill.dev/fr/technologies/angular/questions-entretien/security-best-practices.md): 20 questions, Senior - [Patterns RxJS avancés](https://sharpskill.dev/fr/technologies/angular/questions-entretien/advanced-rxjs-patterns.md): 22 questions, Senior - [Angular Universal et SSR](https://sharpskill.dev/fr/technologies/angular/questions-entretien/angular-universal-ssr.md): 20 questions, Senior - [Micro-frontends Angular](https://sharpskill.dev/fr/technologies/angular/questions-entretien/micro-frontends-angular.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/angular/questions-entretien/performance-optimization