Nodejs Zertifizierung(JSNAD) Tipps

Du möchtest die JSNAD Zertifizierung und brauchst ein paar Tipps? Dann bist du hier genau richtig. Ich habe diese Zertifizierung abgelegt und möchte hier meine Strategie erklären. Am Anfang würde ich die Leute unterteilen, die die Kosten selber tragen müssen und die die es bezahlt bekommen. Letzteren empfehle ich das gesamte Paket mit Kurs zu buchen und ersteren eben nicht. Wenn man sich die Webeite anschaut, bekommt man auch den genauen Überblick über die Themen und die Gewichtung. Aufmerksame Leser erkennen direkt, dass es sich zum größten Teil um die Überschriften aus der offiziellen Nodejs-Dokumentation (hab die 16er Doku als Beispiel verlinkt) handelt.


Buffer, Streams

  • Was sind Buffer und wie funktionieren sie?
  • Wie erzeugt man sie?
  • Wohin kann man sie transformieren?

Aufgaben

  • Instanziiere Buffer.
  • Lese und Schreibe die verschiedenen Datentype.
  • Spiele mit den verschiedenen Methoden der Dokumentation.

Kontrollfluss

Inhalt

Empfehle diese Docs zu lesen: https://nodejs.org/dist/latest-v16.x/docs/api/globals.html https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Promise

  • Wie funktionieren Callbacks, Promises?

Aufgaben

  • Erzeuge eine Kette von Callbacks.
  • Erzeuge einen Promise und fange die Fehler ab.
  • Stoppe einen laufenden Promise.

Child Processes

Inhalt

  • Wie erzeuge ich aus node heraus einen child process ( wie führe ich mit nodejs weitere Anwendungen aus)?
  • Welche verschiedenen Typen gibt es und was macht den Unterschied aus?
  • Welche Optionen gibt es?
  • Wie komme ich an die logs / den output heran?

Aufgaben

  • Erzeuge einen solchen process und gebe die Ergebnisse auf der Konsole aus.

Debugging

Inhalt

  • Wie bringe ich nodejs in den debug-Modus?
  • Wie verknüpfe ich Chrome mit nodejs?
  • Wie halte ich an Breakpoints an?

Aufgaben

  • Löse die oberen Fragen :-)

Error Handling

Inhalt

  • Welche Fehler gibt es?
  • Wie und wann werden sie geworfen?
  • Wie wirft man sie programmatisch?
  • Wie fängt man sie ab?

Aufgaben

  • Fange Fehler aus Promises ab.
  • Schreib einen eigenen Fehler.
  • Versuche in Abhängigkeit des Fehlertyps eine andere Fehlermeldung zu werfen.

Node.js CLI

Inhalt

  • Welche Kommandozeilenparameter gibt es?
  • Wie lade ich Abhängigkeiten vor dem Ausführen?
  • Wie überprüfe ich die Syntax ohne das Programm auszuführen?

Aufgaben

  • Löse die oberen Fragen :-)

Events

Inhalt

  • Was sind Events?
  • Welche feste Typen gibt es?
  • Wie werfe ich sie?
  • Wie reagiere ich auf sie?
  • Wie sorge ich dafür, dass der Listener ganz oben steht oder nur einmal ausgeführt wird?

Aufgaben

  • Erzeuge einen Event und reagiere auf die verschiedenen Typen.
  • Spiele mit den weiteren Methoden.

File System

Inhalt

  • Wie schreibe ich Dateien?
  • Wie lese ich Dateien?
  • Was ist der Unterschied zwischen Synchron, Asynchron?
  • Wie lese und unterscheide ich Verzeichnisse?
  • Wie erkenne ich welche Datei neu oder geändert wurde?

Aufgaben

  • Löse die oberen Fragen :-)

JavaScript Prerequisites

https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Object_prototypes

Inhalt

  • Wie sind Objekte aufgebaut?
  • Wie funktioniert Vererbung?
  • Wie hat sich die Vererbung syntaktisch verändert?
  • Wie funktionieren Callbacks und Closures?

Aufgaben

  • Erzeuge eine Kette von Objekten, die ihre Eigenschaften/Methoden vererben.
  • Erzeuge eine Funktion, die eine Funktion zurückgibt.

Module system

https://nodejs.org/dist/latest-v16.x/docs/api/modules.html https://nodejs.org/dist/latest-v16.x/docs/api/esm.html https://nodejs.org/dist/latest-v16.x/docs/api/module.html https://nodejs.org/dist/latest-v16.x/docs/api/packages.html

Inhalt

  • Was sind Module?
  • Welche Typen gibt es?
  • Wie exportiere ich meine Objekte, Funktionen?

Aufgaben

  • Schreibe eine Funktion, exportiere sie und importiere sie in einer weiteren Datei.

Process/Operating System

https://nodejs.org/dist/latest-v16.x/docs/api/os.html https://nodejs.org/dist/latest-v16.x/docs/api/process.html

Inhalt

  • Wie zeige ich das Betriebssystem an?
  • Wie beende ich den Process?
  • Wie zeige ich Statistiken an?

Aufgaben

  • Löse die oberen Fragen :-)

Package.json

https://docs.npmjs.com/cli/v8/configuring-npm/package-json https://semver.npmjs.com/

Inhalt

  • Was ist Semver und wie funktioniert es?
  • Wie installiere ich welche Version?
  • Was ist der Unterschied zwischen den Zeichen ~,^. >,<, etc.
  • Wie installiere ich nur Major, Minor und/oder Patches?

Aufgaben

  • Spiele mit dem semver-calculator.

Unit Testing

https://jestjs.io/ https://derkuba.de/content/posts/stenciljs/jest-intro/ https://nodejs.org/dist/latest-v16.x/docs/api/assert.html

Inhalt

  • Wie schreibt man Unit-Tests?
  • Wie testet man auf geworfene Fehler?
  • Wie geht man mit Callbacks um ?
  • Wie geht man mit Promises um?

Aufgaben

  • Löse die oberen Fragen :-)

Vorgehen

Ich war im ersten Anlauf schlecht vorbereitet, weil ich nicht wusste was mich erwartet. Aber man hat zwei Versuche für die Prüfung. Um nicht unnötig etwas auswendig zu lernen und Zeit zu verschwenden, bin ich einfach in die erste Prüfung gegangen. Mit den Erfahrungen aus der ersten Prüfung stand einem erfolgreichen Abschluss im zweiten Anlauf nichts im Weg. Dies würde ich auch jedem so raten.

Wenn man bestanden hat bekommt man eine PDF mit folgendem Inhalt:

Dateiauswahl

Bild 1: Mein Zertifikat

Dort ist eine Nummer aufgeführt, die man in einen Service der Linux-Foundation eingeben kann und bestätigt bekommt, dass es noch gültig ist:

Owner: Jacob Pawlik
Certification: OpenJS Node.js Application Developer
Date of Certification Achievement: 2021-11-26
Status: Active

Fazit

Wenn man mit allen Inhalten und Aufgaben was anfangen kann, dann ist man bereit für die Prüfung.

Mit diesem Wissen sollte jedem diese Prüfung gelingen.

Ihr habt Fragen oder Anregungen? Schreibt mir bei Twitter.


Tausend Dank fürs Lesen!

Kuba