Questions d'entretien Flashcards
(35 cards)
Quelle est la différence entre var
, let
et const
en JavaScript ?
var
est fonctionnel, let
et const
sont block-scoped. const
ne peut pas être réassigné.
Qu’est-ce que le hoisting en JavaScript et comment fonctionne-t-il ?
Le hoisting déplace les déclarations de variables et de fonctions en haut de leur contexte d’exécution.
Pouvez-vous expliquer le concept de closures en JavaScript ?
Les closures permettent à une fonction d’accéder à des variables de son scope parent, même après que ce dernier ait été exécuté.
Qu’est-ce que le this
en JavaScript et comment fonctionne-t-il dans différents contextes ?
this
fait référence à l’objet propriétaire de la méthode en cours d’exécution. Son contexte change selon l’appel.
Quelle est la différence entre les fonctions fléchées (arrow functions) et les fonctions classiques en JavaScript ?
Les fonctions fléchées n’ont pas leur propre this
et ne peuvent pas être utilisées comme constructeurs.
Pouvez-vous expliquer le cycle de vie des composants dans React ?
Le cycle de vie comprend les phases de montage, mise à jour et démontage, avec des méthodes spécifiques pour chaque phase.
Qu’est-ce que le state
et les props
dans React ?
state
est l’état local d’un composant, tandis que props
sont des données passées d’un parent à un enfant.
Comment gérez-vous la gestion de l’état global dans une application React ?
On peut utiliser des bibliothèques comme Redux ou le Context API de React pour gérer l’état global.
Pouvez-vous expliquer ce qu’est le context
dans React et comment l’utiliser ?
Le context
permet de partager des valeurs entre composants sans avoir à les passer explicitement via props
.
Comment optimisez-vous les performances d’une application React ?
On peut utiliser le memoization
, le code splitting et éviter les rendus inutiles.
Pouvez-vous expliquer le modèle d’E/S non bloquant de Node.js ?
Node.js utilise un modèle d’E/S non bloquant pour gérer les opérations asynchrones, permettant une meilleure scalabilité.
Qu’est-ce que l’event loop
dans Node.js et comment fonctionne-t-il ?
L’event loop
gère les opérations asynchrones en exécutant des callbacks une fois que l’exécution principale est terminée.
Comment gérez-vous les erreurs dans une application Node.js ?
On utilise des blocs try/catch
, des gestionnaires d’erreurs et des promesses pour capturer et gérer les erreurs.
Pouvez-vous expliquer la différence entre callbacks
, promises
et async/await
en Node.js ?
Les callbacks
sont des fonctions passées en argument, les promises
représentent des opérations futures, et async/await
simplifie la gestion des promesses.
Comment sécurisez-vous une application Node.js ?
On peut utiliser des bibliothèques comme Helmet, des validations d’input et des outils d’authentification.
Pouvez-vous expliquer les avantages d’utiliser TypeScript par rapport à JavaScript ?
TypeScript offre une vérification de type statique, une meilleure lisibilité et des outils de développement améliorés.
Comment définissez-vous et utilisez-vous les interfaces et les types dans TypeScript ?
On définit une interface pour décrire la structure d’un objet et les types pour spécifier les types de données.
Qu’est-ce que le type inference
en TypeScript ?
Le type inference
permet à TypeScript de déduire automatiquement le type d’une variable sans déclaration explicite.
Comment gérez-vous les erreurs de type dans une application TypeScript ?
On utilise des types union, des assertions de type et des vérifications conditionnelles pour gérer les erreurs.
Pouvez-vous expliquer ce qu’est un decorator
en TypeScript et comment l’utiliser ?
Un decorator
est une fonction qui modifie le comportement d’une classe, d’une méthode, ou d’une propriété.
Pouvez-vous expliquer la différence entre MongoDB et PostgreSQL ?
MongoDB est une base de données NoSQL orientée document, tandis que PostgreSQL est une base de données relationnelle.
Comment optimisez-vous les requêtes dans une base de données MongoDB ?
On peut utiliser des index, des requêtes agrégées et optimiser le schéma des données.
Qu’est-ce que l’indexation dans PostgreSQL et comment l’utilisez-vous ?
L’indexation améliore les performances des requêtes en créant des structures de données pour un accès rapide.
Comment gérez-vous les transactions dans une base de données relationnelle comme PostgreSQL ?
On utilise des commandes BEGIN
, COMMIT
et ROLLBACK
pour gérer les transactions.