Examen du niveau 2 — durci

Examen — questions inédites

2.1 · Rappel

1. Qu'est-ce qu'un module natif de Node ?

fs, path, os, http… sont livrés avec Node : require('fs') suffit, zéro installation.
2.1 · Application

2. Salim lit des rapports sur un serveur utilisé par toute l'équipe. Quelle version de fs ?

En serveur, toujours l'asynchrone : le Sync bloque la boucle d'événements pour tous les clients.
2.1 · Arbitrage

3. Un collègue assemble les chemins avec __dirname + '/data/' + nom. Verdict de Salim ?

path.join gère le bon séparateur selon le système et les cas limites — jamais de concaténation.
2.2 · Rappel

4. Que font .on() et .emit() d'un EventEmitter ?

.on enregistre la réaction, .emit la déclenche avec des données — découplés par le nom.
2.2 · Application

5. Salim crée un émetteur pour sa progression d'import. Qu'ajoute-t-il en premier ?

error est spécial : émis sans écouteur, il fait planter le programme — on l'écoute toujours.
2.2 · Application

6. L'équipe veut trois réactions indépendantes à chaque fichier importé (affichage, journal, compteur). Comment faire ?

Ajouter un comportement = ajouter un écouteur ; l'émetteur reste inchangé.
2.3 · Rappel

7. Quel est le principe d'un stream ?

Par morceaux, au fil de l'eau : mémoire constante quelle que soit la taille totale.
2.3 · Application

8. Salim copie un export de 2 Go. Quelle ligne fait le travail sans saturer la RAM ?

.pipe() fait couler les morceaux de la lecture vers l'écriture, avec gestion du débit.
2.3 · Arbitrage

9. Un collègue veut tout charger en mémoire « parce que la RAM suivra ». Verdict ?

Gros volumes = streams (mémoire constante) ; readFile reste parfait pour les petits fichiers.
2.4 · Application

10. Salim crée son premier serveur natif. Quelles deux lignes sont le socle ?

createServer reçoit (req, res) à chaque requête ; listen ouvre le port d'écoute.
2.4 · Application

11. La route GET /rapports doit renvoyer l'inventaire en JSON. Que fait Salim ?

Le bon statut + le bon Content-Type + le corps sérialisé, terminé par end().
2.4 · Arbitrage

12. Faut-il sauter le serveur natif pour aller directement à Express ?

Express repose sur http : le natif montre ce qu'il simplifie et aide à déboguer.
Et après ?
Retour au guideSommaire du guide