Questions gratuites JSNAD — OpenJS Node.js Application Developer
Téléchargez gratuitement 34 questions d'entraînement pour la certification JSNAD proposée par Linux Foundation. Toutes les questions sont accompagnées de corrections détaillées avec explications techniques.
Caractéristiques de l'examen blanc
| Code de certification | JSNAD |
| Éditeur | Linux Foundation |
| Nombre de questions | 34 |
| Type | QCM avec 4 réponses possibles |
| Niveau | associate |
| Catégorie | IT |
| Prix | 100% gratuit |
Aperçu de 8 questions représentatives
Voici un échantillon aléatoire de 8 questions tirées de notre base d'entraînement JSNAD. Pour accéder aux 34 questions complètes, lancez l'examen blanc gratuitement.
Question 1
Une API REST en production utilise fs.readFile() pour servir des images statiques. Sous charge, la mémoire explose en raison d'accumulation de buffers. Quel pattern optimise ceci?
- Utiliser fs.createReadStream() et pipe() directement à response pour streaming incrementel
- Implémenter un cache Redis en mémoire pour stocker les images décodées en RAM
- Configurer Node avec --max-old-space-size=8GB pour accomoder plus de buffers
- Réduire la taille des images via compression avant de les lire et servir
Question 2
Un administrateur observe que les créations de worker threads causent des pics de CPU de 20% chaque fois. Pourquoi et comment optimiser?
- La création d'un thread est coûteuse; utiliser un thread pool réutilisable (Worker pool pattern) pour recycler workers
- Les workers partagent la mémoire du parent; réduire la taille de heap avec --max-old-space-size pour chaque worker
- Les workers font de blocking operations; migrer vers async non-blocking pour éviter CPU spike
- La affinity CPU n'est pas configurée; binder les workers à des cores spécifiques
Question 3
Une application expédie des millions de webhooks. En observant les process metrics, on note une consommation mémoire croissante même sans nouvelles requêtes actives. Qu'est-ce qui se passe?
- Les réponses de webhook sont accumulées dans une queue interne non vidée; les failed retries créent un backlog
- Les HTTP sockets client restent ouvertes même après transmission, consommant ressources
- La variable global de tracking requête n'est pas nettoyée après completion
- Le garbage collector ne s'exécute pas assez fréquemment sous charge webhook élevée
Question 4
Une équipe doit migrer une codebase CommonJS de 200+ fichiers vers ESM. Comment minimiser les risques tout en maintenant la compatibilité pendant la transition?
- Utiliser une stratégie hybride avec "type": "module" et importInterop() pour wrapper les modules CommonJS côte à côte
- Migrer tous les fichiers simultanément en utilisant un transpilateur comme Babel pour ESM
- Convertir CommonJS en ESM d'abord, puis tester l'application en environnement de staging
- Créer une nouvelle application ESM depuis zéro et migrer graduellement les utilisateurs
Question 5
Une équipe débugge un problème où une Promise resolve tard (5-10s après création). Le trace stack est vide/useless. Comment capturer le contexte d'origin pour debugging?
- Utiliser --trace-uncaught et --trace-warnings flags pour capturer async stack traces
- Ajouter console.trace() dans le .then() pour imprimer le stack contemporain
- Utiliser 'longStackTraces' option dans Bluebird promises library pour auto-capture
- Implémenter un wrapper Promise qui stocke manually le stack creation via Error().stack
Question 6
Un architecte conçoit un système où des modules critiques doivent être rechargés en mémoire sans redémarrer l'application. Quel mécanisme Node.js peut supporter cette architecture?
- Supprimer les modules du require.cache et réimporter pour bypasser les dépendances en cache
- Utiliser des imports dynamiques avec import() pour créer de nouvelles instances à la demande
- Implémenter le hot-reloading via un système de plugins avec registre centralisé
- Déployer les modules critiques en tant que services externes microservices
Question 7
Une application utilise un orm (Prisma, Sequelize) qui crée une requête mal formée. Le SQL injection guard passe mais la requête échoue silencieusement. Quel pattern défensif manque?
- Query result validation: vérifier que le résultat est conforme au schema attendu, pas juste vérifier SQL syntax
- ORM prepared statements doivent être re-validés à chaque requête
- La base de données doit être migrée vers NoSQL pour éviter les attaques SQL
- Tous les ORM doivent être parsés côté application avant d'être envoyés au DB
Question 8
Une équipe déploie une mise à jour critique. Leur processus actuel requiert un downtime de 5 minutes. Quel pattern Node.js permet un déploiement sans interruption de service?
- Implémenter graceful shutdown avec SIGTERM, finir requêtes existantes, puis remplacer le processus sans perdre connexions
- Utiliser load balancing avec 2 instances en round-robin et arrêter une à la fois
- Dupliquer la DB et basculer les clients vers le nouveau serveur après déploiement
- Maintenir une queue de requêtes et rejouer les en-attente après redémarrage
Accédez aux 34 questions complètes gratuitement
Aucune carte bancaire requise. Examen chronométré, corrections détaillées, score final.
Lancer l'examen blanc JSNAD →
Pourquoi s'entraîner avec Certifexpress ?
- Questions au format officiel Linux Foundation
- Corrections détaillées avec explications techniques (200+ mots par question)
- Examen chronométré comme le jour J
- Option "Refaire les questions ratées" pour cibler vos lacunes
- Suivi de votre progression dans votre tableau de bord personnel
- Accès illimité, aucun abonnement requis