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 application critical doit être accessible pendant les mises à jour de sécurité. Quel pattern garantit une disponibilité maximale avec rollback rapide?
- Blue-green deployment: 2 environments identiques, switcher traffic après validation, rollback immédiat si needed
- Canary release: déployer sur 1% du traffic, augmenter progressivement
- Rolling restart: redémarrer workers un par un avec load balancer redistribution
- Feature flags: deployer code mais désactiver new feature jusqu'à confirmation
Question 2
Une équipe utilise une library populaire npm avec une vulnérabilité connue. L'équipe pense que 'npm audit fix' résout tous les problèmes. Quel est le piège?
- 'npm audit fix' pout casser l'app en upgrading à versions incompatibles; testing exhaustif est requis après
- 'npm audit' n'a pas accès au registre npm et manque des vulnérabilités
- Les vulnérabilités npm ne peuvent être fixées qu'en reécrivant la feature concernée
- 'npm audit fix' apporte toujours des patches backward-compatible
Question 3
Une API doit traiter 10000 fichiers upload de 100MB chaque jour. Les fichiers doivent être transformés (compression, validation) avant stockage. Quelle architecture évite les épuisements mémoire et timeout?
- Utiliser des readable/writable streams chainées avec pipeline() pour traiter incrementalement
- Charger chaque fichier en mémoire, valider, transformer, puis écrire en une seule opération
- Limiter la taille de fichier à 10MB et demander au client de découper les uploads
- Utiliser un worker thread par upload pour paralléliser indépendamment de la mémoire disponible
Question 4
Un service traite 100K requêtes/sec nécessitant des lookups base de données. Les connections DB sont épuisées (max 100 connections). Quel pattern évite l'épuisement?
- Implémenter un connection pool avec queue et reuse des connexions existantes au lieu d'en créer de nouvelles
- Augmenter max connections à 1000 dans la configuration de la DB
- Utiliser read replicas et distribuer les requêtes pour multiplier les connexions disponibles
- Implémenter un cache Redis devant la DB pour éliminer la plupart des lookups
Question 5
Une entreprise doit valider les inputs utilisateurs avant parsing ou traitement. Quel risque de sécurité est mitigé par cette validation stricte?
- Injection d'attaques (JSON injection, NoSQL injection, command injection) qui exploitent l'input non-validé
- Attaques DDoS par overwhelming serveur avec trop de requêtes simultanées
- Interception man-in-the-middle en raison de connection HTTPS mal configurée
- Exposition de tokens JWT en logs si les utilisateurs les envoient dans request headers
Question 6
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 7
Un service traite des streams de données temps-réel avec compression gzip. Le CPU utilisation monte à 100% et réponses deviennent lentes. Quel optimisation est la plus probable?
- Utiliser un niveau de compression plus bas (zlib.Z_BEST_SPEED) ou batch-compresser plutôt que compression-par-chunk
- Décharger la compression vers une CDN ou reverse proxy externe
- Augmenter le nombre de workers pour paralléliser la compression
- Utiliser Brotli au lieu de gzip car Brotli est plus rapide
Question 8
Une application utilise Promises mais rencontre une erreur non capturée qui plante silencieusement. Comment garantir que tous les rejets sont traités avant la production?
- Attacher un handler 'unhandledRejection' à process et logger/alerter tous les rejets non gérés
- Utiliser try/catch autour de toutes les opérations asynchrones par défaut
- Convertir tous les Promises en callbacks avec util.promisify() pour meilleur contrôle
- Utiliser --unhandled-rejection=strict en ligne de commande pour jeter une erreur
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