# Performance Optimization (React Native) > FlatList optimization, memo, useMemo/useCallback, Hermes, profiling, bundle size - 24 questions d'entretien - Senior - [Questions d'entretien: React Native](https://sharpskill.dev/fr/technologies/react-native/questions-entretien.md) ## 1. Quel est le rôle principal de React.memo dans l'optimisation des performances React Native ? **Réponse** React.memo est un Higher-Order Component qui mémorise le résultat du rendu d'un composant fonctionnel. Il empêche les re-renders inutiles en comparant les props actuelles avec les précédentes (shallow comparison par défaut). Si les props n'ont pas changé, React réutilise le résultat mémorisé au lieu de re-rendre le composant, ce qui améliore significativement les performances dans les listes ou les arbres de composants complexes. ## 2. Quelle propriété de FlatList permet d'optimiser significativement le scroll en fournissant les dimensions des items à l'avance ? **Réponse** getItemLayout est une propriété optionnelle de FlatList qui permet de calculer à l'avance la hauteur, largeur et offset de chaque élément. Cela évite à React Native de mesurer dynamiquement chaque item, ce qui améliore considérablement les performances de scroll, notamment lors du saut vers un index spécifique avec scrollToIndex. Cette optimisation est particulièrement utile quand tous les items ont la même taille. ## 3. Quelle est la différence principale entre useMemo et useCallback en termes d'optimisation ? **Réponse** useMemo mémorise le résultat d'un calcul coûteux et retourne cette valeur calculée, tandis que useCallback mémorise une fonction elle-même et retourne cette fonction. useMemo est utile pour éviter des recalculs lourds à chaque render, alors que useCallback est essentiel pour éviter de recréer des fonctions passées en props à des composants enfants mémorisés, ce qui casserait leur optimisation React.memo. ## 21 questions supplémentaires disponibles - Qu'est-ce que Hermes et quel est son principal avantage pour les applications React Native ? - Pourquoi est-il crucial de fournir une fonction keyExtractor stable à FlatList ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien React Native - [Les bases de JavaScript](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/javascript-essentials.md): 25 questions, Junior - [Fondamentaux React](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/react-fundamentals.md): 20 questions, Junior - [Bases de React Native](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/react-native-basics.md): 22 questions, Junior - [React Hooks](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/react-hooks.md): 20 questions, Junior - [TypeScript pour React & React Native](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/typescript-for-react-native.md): 22 questions, Junior - [Composants & API React Native](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-components-api.md): 20 questions, Junior - [Styling & Layout React Native](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-styling-layout.md): 18 questions, Junior - [Navigation React Native](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-navigation.md): 22 questions, Confirmé - [State Management React Native](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-state-management.md): 24 questions, Confirmé - [Networking & API React Native](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-networking-api.md): 20 questions, Confirmé - [Persistance des données](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-data-persistence.md): 20 questions, Confirmé - [Forms & Validation](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-forms-validation.md): 18 questions, Confirmé - [Animations React Native](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-animations.md): 22 questions, Confirmé - [Native Modules & Bridge](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-native-modules.md): 20 questions, Confirmé - [Code spécifique aux plateformes](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-platform-specific-code.md): 18 questions, Confirmé - [Permissions & Device APIs](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-permissions-apis.md): 20 questions, Confirmé - [Push Notifications](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-push-notifications.md): 18 questions, Confirmé - [Testing React Native](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-testing.md): 20 questions, Confirmé - [Debugging React Native](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-debugging.md): 18 questions, Confirmé - [Build & Deployment](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-build-deployment.md): 20 questions, Confirmé - [Expo vs React Native Bare](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/expo-vs-bare-rn.md): 18 questions, Confirmé - [Memory Management](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-memory-management.md): 20 questions, Senior - [Architecture Patterns](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-architecture-patterns.md): 22 questions, Senior - [New Architecture React Native](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-new-architecture.md): 24 questions, Senior - [Security Best Practices](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-security-best-practices.md): 20 questions, Senior - [Offline-First Architecture](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-offline-first.md): 20 questions, Senior - [CI/CD React Native](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-ci-cd.md): 20 questions, Senior - [Monorepo & Code Sharing](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-monorepo-architecture.md): 18 questions, Senior - [Advanced Topics](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-advanced-topics.md): 22 questions, Senior - [App Lifecycle & Background Execution](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-app-lifecycle-background.md): 20 questions, Confirmé - [Authentication & Session Management](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-auth-session-management.md): 22 questions, Confirmé - [Monitoring & Crash Reporting](https://sharpskill.dev/fr/technologies/react-native/questions-entretien/rn-monitoring-crash-reporting.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/react-native/questions-entretien/rn-performance-optimization