Compilation des dernières questions d'entretien JavaScript et TypeScript en 2026 avec des réponses détaillées. Aidez les développeurs frontend à passer en toute confiance les entretiens techniques.
Qu'est-ce que Virtual DOM ? Quel algorithme React utilise-t-il pour comparer les rendus ?
Lorsque la saisie d'une recherche rapide entraîne des résultats mitigés, comment la gérer ? (condition de concurrence)
Comment mettre en cache les résultats de recherche afin qu'ils ne soient pas récupérés à nouveau ?
Quelle est la différence entre Type et Interface
Générique ?
Comment les types mappés tels que Partiel, Obligatoire,... fonctionne ?
Mécanisme d'énumération des points limites dans TypeScript
Comment fonctionne la boucle d'événements ? Microtask vs Macrotask ?
Qu'est-ce que la fermeture ? Donnez des exemples concrets où les fermetures provoquent des bugs ou des problèmes de mémoire. Comment
cefonctionne-t-il en JavaScript ? Quelle est la différence entre la fonction flèche et la fonction régulière ?Prototype et chaîne de prototypes ? Qu'est-ce que cela signifie que JavaScript est basé sur un prototype ?
Copie approfondie ou copie superficielle — quand provoque des bugs de production ?
Debounce vs Throttle — différent et dans quels cas ?
Promesse vs Async/Await — async/await crée-t-il du code synchrone ?
Comment gérer les erreurs dans le code asynchrone ? (try/catch, .catch, gestionnaire global)
inconnu vs n'importe quel — lequel utiliser et pourquoi ?
Types Union vs Intersection — quelle est la différence ?
jamaisQu'est-ce que c'est ? Quand TypeScript ne déduit-il jamais le type ?keyofet à quoi serttypeof?Qu'est-ce que le rétrécissement du type/les protections de type ? Par exemple (
in,typeof,instanceof).
Voir plus : Interview Questions Next.js 2026 Advanced
Après de nombreux entretiens récents avec Frontend, j'ai réalisé une vérité très claire :
Framework peut vous aider à être convoqué pour un entretien.
Mais JavaScript et TypeScript sont ce qui décident de votre réussite ou de votre échec.
De nombreux développeurs apprennent très rapidement React et NextJS, mais n'ont pas les bases du fonctionnement réel de JavaScript. pratique.
Et c'est ce que l'intervieweur veut tester.
Remarque : ceci n'est pas une liste à mémoriser.
Les questions ci-dessous sont souvent utilisées pour :
mesurer la profondeur des connaissances
évaluer la pensée technique
classification du niveau de développeur
Si vous maîtrisez cette section, vous avez réussi la majeure partie du cycle. technique.
1. Qu’est-ce que le DOM virtuel ? Algorithme de différence ?
DOMAlgorithme :
React utilise l'heuristique O(n) au lieu de O(n³).
Deux hypothèses principales :
Élément de type différent → remplacer le sous-arbre entier
Utiliser la
clépour identifier les éléments dans liste
2. Condition de concurrence lors de la recherche
Se produit lorsque la demande est envoyée en premier mais que la réponse arrive plus tard.
Meilleure façon de gérer :
AbortController
const contrôleur = new AbortController();
fetch(url, { signal : contrôleur.signal });
contrôleur.abort();
Suivre l'identifiant de la demande
Mettez à jour l'interface utilisateur uniquement si la réponse est la dernière demande.
React Query / SWR
Cette bibliothèque le prétraite.
3. Mettre en cache les résultats de recherche
Objectif : éviter à nouveau les appels d'API.
Méthode courante :
Carte/Objet
const cache = new Map();
if(cache.has(query)) return cache.get(query);
Bibliothèque : React Query, SWR → cache automatique + revalidation.
Avancé :
Cache LRU
TTL (délai d'expiration)
4. Type vs Interface
Interface
Extension facile
Fusion de déclarations
Bon pour objet/classe
Type
Union, intersection
Plus flexible
5. Qu'est-ce que le générique ?
Vous permet d'écrire du code réutilisable tout en conservant la sécurité des types.
identité de fonction(valeur : T) : T {
valeur de retour ;
}
Cas d'utilisation senior :
Encapsuleur de réponse API
Modèle de référentiel
Hooks personnalisés
Le mot clé doit indiquer :
réutilisable + type-safe
6. Types mappés
Permet de créer de nouveaux types à partir d'anciens types.
Exemple partiel :
type Partial = {
[P dans la clé de T]? : T[P] ;
} ;
Commun :
Partiel → facultatif
Obligatoire → obligatoire
Lecture seule
Sélectionner/Omettre
Montre que vous comprenez la transformation de type.
7. Limitations de l'énumération
Création d'objets d'exécution → augmentation du bundle
Difficulté à trembler l'arbre
Pas flexible
Tendances modernes :
type Role = "admin" | "utilisateur";
Plus léger + plus sûr.
8. Boucle d'événements
JS est mono-thread mais gère l'asynchrone grâce à la boucle d'événements.
Flux :
La pile d'appels s'exécute en synchronisation
Async → API Web
Rappel → File d'attente
Boucle d'événements insérée stack
La microtâche a la priorité sur Macrotâche :
Microtâche :
Promesse
queueMicrotask
Macrotask :
setTimeout
setInterval
Astuce : La promesse s'exécute en premier setTimeout.
9. Fermeture
La fonction mémorise la portée externe même si la portée est terminée.
function counter() {
laissez compter = 0 ;
return () => ++count;
}
Provoquer des bugs lorsque :
Conserver de grandes références → fuite de mémoire
Boucle avec
var
Corriger avec let.
10. Comment ça marche ?
Cela dépend de la façon dont la fonction est appelée, pas de l'endroit où elle est écrite.
Règle rapide :
Méthode → this = objet
Flèche → ne pas lier ceci
appeler/appliquer/lier → définir manuellement
11. Prototype Chain
JS n'est pas basé sur une classe, mais basé sur un prototype.
Lors de l'accès à la propriété :
Rechercher dans l'objet
Aucun → aller au prototype
Jusqu'à
null
12. Copie profonde ou superficielle
Shallow : copie l'objet imbriqué de référence.
{...obj}
Deep :
structuredClone(obj)
13. Anti-rebond vs Throttle
Anti-rebond : s'exécute uniquement après que l'utilisateur arrête de taper.
Throttle : limite le nombre d'exécutions par intervalle.
Recherche → anti-rebond
Défilement → throttle
14. Promise vs Async/Await
Async/await n'est qu'un sucre de syntaxe de Promise.
Ne rend pas le code synchrone - toujours asynchrone.
Avantages :
Facile à lire
Essayer/attraper
15. Gérer les erreurs asynchrones
✔ try/catch
✔ .catch()
✔ Gestionnaire global
16. inconnu vs tout
tout : désactivez la vérification de type
inconnu : doit vérifier avant utilisation.
Préférez toujours inconnu.
17. Union vs Intersection
Union (|) → un des types
Intersection (&) → doit avoir tout
L'intersection crée facilement des conflits.
18. never
Type de valeur ne se produit jamais.
Par exemple :
Erreur de lancement de fonction
Boucle infinie
Utilisé pour une vérification exhaustive dans le commutateur.
19. keyof & typeof
keyof : récupère la clé de l'objet en type union.
type Keys = keyof User ;
typeof : récupère le type à partir d'une variable.
Très puissant lors de la création de types réutilisables.
20. Protections de caractères/Rétrécissement
Aide les élèves à comprendre les caractères plus spécifiquement.
Par exemple :
if(typeof value === "string") {
}
Ou :
dansinstanceofgarde personnalisée
Il existe un modèle très clair :
Si vous répondez en profondeur à des sujets tels que Boucle d'événement, clôture ou génériques, l'intervieweur augmentera presque immédiatement la difficulté, car il sait que vous ne faites pas que mémoriser.
Si vous n'avez que 3 à 5 jours pour vous préparer à un entretien
Établissez des priorités dans l'ordre :
Boucle d'événement
Clôture
ce
Génériques
inconnu vs n'importe qui
Maîtrisez ces 5 sujets, vous avez surpassé la plupart des candidats.
Partager








