Questions d'entretien pour développeur React Native Junior : Guide complet

Milad Bonakdar
Auteur
Maîtrisez les fondamentaux du développement React Native avec des questions d'entretien essentielles couvrant les bases de React, les composants, la navigation, la gestion d'état et les concepts spécifiques au mobile pour les développeurs juniors.
Introduction
React Native permet aux développeurs de créer des applications mobiles natives en utilisant JavaScript et React. Avec une seule base de code, vous pouvez créer des applications pour iOS et Android, ce qui en fait un choix puissant pour le développement mobile multiplateforme.
Ce guide couvre les questions d'entretien essentielles pour les développeurs React Native Juniors. Nous explorons les fondamentaux de React, les composants, les hooks, la navigation, la gestion d'état et les concepts spécifiques au mobile pour vous aider à vous préparer à votre premier rôle de développeur React Native.
Fondamentaux de React (6 Questions)
1. Qu'est-ce que React Native et en quoi diffère-t-il de React ?
Réponse :
- React : Bibliothèque JavaScript pour la construction d'interfaces utilisateur web
- React Native : Framework pour la construction d'applications mobiles natives en utilisant React
- Différences clés :
- React Native effectue le rendu vers des composants natifs (pas le DOM)
- Utilise les API natives au lieu des API web
- Approche de style différente (pas de CSS, utilise StyleSheet)
- Code spécifique à la plateforme pour iOS et Android
Rareté : Très courant Difficulté : Facile
2. Quels sont les composants principaux de React Native ?
Réponse : React Native fournit des composants intégrés qui correspondent aux éléments d'interface utilisateur natifs :
- View : Composant conteneur (comme
divdans le web) - Text : Afficher du texte (tout le texte doit être dans un composant
Text) - Image : Afficher des images
- ScrollView : Conteneur défilable
- TextInput : Champ de saisie de texte
- TouchableOpacity/Pressable : Éléments tactiles
- FlatList : Rendu de liste efficace
- Button : Composant bouton de base
Rareté : Très courant Difficulté : Facile
3. Expliquez la différence entre View et ScrollView.
Réponse :
- View : Conteneur statique. Le contenu au-delà des limites de l'écran n'est pas défilable.
- ScrollView : Conteneur défilable. Rend tous les enfants en même temps (peut être gourmand en mémoire pour les grandes listes).
- Quand utiliser :
- View : Pour les mises en page qui tiennent à l'écran
- ScrollView : Pour de petites quantités de contenu défilable
- FlatList : Pour les grandes listes (ne rend que les éléments visibles)
Rareté : Très courant Difficulté : Facile
4. Que sont les Hooks React et lesquels sont les plus couramment utilisés ?
Réponse : Les Hooks sont des fonctions qui vous permettent d'utiliser l'état et les fonctionnalités du cycle de vie dans les composants fonctionnels.
- Hooks courants :
- useState : Gérer l'état du composant
- useEffect : Gérer les effets secondaires (récupération de données, abonnements)
- useContext : Accéder aux valeurs de contexte
- useCallback : Mémoriser les fonctions
- useMemo : Mémoriser les calculs coûteux
- useRef : Référencer les éléments DOM ou conserver les valeurs
Rareté : Très courant Difficulté : Facile
5. Expliquez le hook useEffect et son tableau de dépendances.
Réponse :
useEffect exécute des effets secondaires après le rendu. Le tableau de dépendances contrôle quand il s'exécute :
- Pas de tableau : S'exécute après chaque rendu
- Tableau vide
[]: S'exécute une fois après le rendu initial - Avec des dépendances
[dep1, dep2]: S'exécute lorsque les dépendances changent
Rareté : Très courant Difficulté : Moyenne
6. Qu'est-ce que le DOM virtuel et comment React l'utilise-t-il ?
Réponse : Le DOM virtuel est une représentation JavaScript légère du DOM réel.
- Processus :
- Lorsque l'état change, React crée un nouvel arbre DOM virtuel
- Le compare avec le DOM virtuel précédent (différenciation)
- Calcule les modifications minimales nécessaires
- Met à jour uniquement les parties modifiées dans le DOM réel
- Avantages : Mises à jour efficaces, meilleures performances
Rareté : Courant Difficulté : Facile
Composants & Props (4 Questions)
7. Quelle est la différence entre Props et State ?
Réponse :
- Props :
- Passées du parent à l'enfant
- En lecture seule (immuables)
- Utilisées pour la configuration du composant
- State :
- Géré au sein du composant
- Mutable (peut être modifié)
- Utilisé pour les données dynamiques
Rareté : Très courant Difficulté : Facile
8. Que sont les composants fonctionnels par rapport aux composants de classe ?
Réponse :
- Composants fonctionnels :
- Syntaxe plus simple
- Utiliser des hooks pour l'état et le cycle de vie
- Préférés dans React moderne
- Composants de classe :
- Approche plus ancienne
- Utiliser
this.stateet les méthodes de cycle de vie - Toujours pris en charge, mais moins courant
Rareté : Courant Difficulté : Facile
9. Comment transmettez-vous des données du composant enfant au composant parent ?
Réponse : Utilisez des fonctions de rappel passées en tant que props.
Rareté : Très courant Difficulté : Facile
10. Qu'est-ce que la prop key et pourquoi est-elle importante ?
Réponse :
La prop key aide React à identifier quels éléments ont été modifiés, ajoutés ou supprimés dans les listes.
- Objectif : Optimiser les performances de rendu
- Exigences : Doit être unique parmi les frères et sœurs, stable (n'utilisez pas l'index si la liste peut changer)
Rareté : Très courant Difficulté : Facile
Style & Mise en page (3 Questions)
11. Comment styliser les composants dans React Native ?
Réponse : React Native utilise des objets JavaScript pour le style, pas du CSS.
- API StyleSheet : Créer des styles optimisés
- Styles en ligne : Objets de style directs (moins performants)
- Flexbox : Système de mise en page par défaut
Rareté : Très courant Difficulté : Facile
12. Expliquez Flexbox dans React Native.
Réponse : Flexbox est le principal système de mise en page dans React Native.
- Propriétés principales :
- flexDirection :
rowoucolumn(par défaut :column) - justifyContent : Aligner le long de l'axe principal
- alignItems : Aligner le long de l'axe transversal
- flex : Dimensionnement proportionnel
- flexDirection :
Rareté : Très courant Difficulté : Moyenne
13. Quelle est la différence entre margin et padding ?
Réponse :
- Padding : Espace à l'intérieur du composant (entre le contenu et la bordure)
- Margin : Espace à l'extérieur du composant (entre le composant et les voisins)
Rareté : Courant Difficulté : Facile
Navigation (3 Questions)
14. Qu'est-ce que React Navigation et comment l'utilisez-vous ?
Réponse : React Navigation est la bibliothèque de navigation la plus populaire pour React Native.
- Types :
- Stack Navigator : Pile d'écrans (push/pop)
- Tab Navigator : Onglets inférieurs
- Drawer Navigator : Menu latéral
Rareté : Très courant Difficulté : Moyenne
15. Comment passez-vous des paramètres entre les écrans ?
Réponse :
Utilisez la fonction navigate avec un deuxième paramètre pour les données.
Rareté : Très courant Difficulté : Facile
16. Quelles sont les options de navigation et comment personnalisez-vous les en-têtes ?
Réponse : Les options de navigation contrôlent l'apparence et le comportement de l'écran.
Rareté : Courant Difficulté : Facile
Données & Stockage (4 Questions)
17. Comment récupérez-vous des données à partir d'une API dans React Native ?
Réponse :
Utilisez l'API fetch ou des bibliothèques comme Axios.
Rareté : Très courant Difficulté : Moyenne
18. Qu'est-ce qu'AsyncStorage et comment l'utilisez-vous ?
Réponse : AsyncStorage est un système de stockage clé-valeur simple et asynchrone pour React Native.
- Cas d'utilisation : Préférences de l'utilisateur, jetons, petites données
- Pas pour : Les grands ensembles de données, les requêtes complexes (utilisez plutôt SQLite)
Rareté : Très courant Difficulté : Facile
19. Quelle est la différence entre FlatList et ScrollView ?
Réponse :
- ScrollView :
- Rend tous les enfants en même temps
- Bon pour les petites listes
- Gourmand en mémoire pour les grandes listes
- FlatList :
- Ne rend que les éléments visibles (chargement paresseux)
- Efficace pour les grandes listes
- Optimisations intégrées
Rareté : Très courant Difficulté : Facile
20. Comment gérez-vous les formulaires et la saisie utilisateur ?
Réponse : Utilisez des composants contrôlés avec l'état.
Rareté : Très courant Difficulté : Moyenne



