← Alle Themen

Interviewfragen zu Node.js mit Antworten

Event Loop und Asynchronität, Module, Streams und Buffer, Dateisystem und HTTP, Express und Fastify, Sicherheit, Worker Threads und Skalierung von Node.js-Diensten.

225 Fragen fürs Vorstellungsgespräch zu Node.js mit Antworten und Erklärungen: Level Junior, Middle und Senior. Beispielfragen, Online-Tests und Programmieraufgaben.

Fragen nach Level

Beispielfragen

Ein paar Fragen aus jedem Level mit richtiger Antwort und Erklärung.

Node.js · Junior

  1. Was ist Node.js?
    Antwort zeigen

    Richtige Antwort: Eine JavaScript-Laufzeit, gebaut auf der Engine V8

    Node.js nimmt die Engine V8 aus Chrome und ergänzt APIs für Dateisystem, Netzwerk, Prozesse und mehr. Man nutzt es für Server, CLIs, Build-Werkzeuge und Skripte.

  2. Welche JavaScript-Engine nutzt Node.js?
    Antwort zeigen

    Richtige Antwort: V8

    V8 ist die Engine von Google, die auch Chrome nutzt. SpiderMonkey treibt Firefox an und JavaScriptCore Safari. Andere Laufzeiten wie Bun nutzen JavaScriptCore.

  3. Welches Modell nutzt Node.js, um viele Verbindungen gleichzeitig zu bedienen?
    Antwort zeigen

    Richtige Antwort: Eine Event Loop in einem Thread mit nicht blockierendem I/O

    JavaScript läuft in einem Hauptthread. I/O wie Dateien lesen oder Netzwerkaufrufe wird an das System und libuv abgegeben, und der Callback läuft später, sodass ein Prozess Tausende Verbindungen bedienen kann.

  4. Was davon ist in Node.js standardmäßig NICHT verfügbar?
    Antwort zeigen

    Richtige Antwort: document und das DOM

    In Node.js gibt es keine Seite, also weder document noch window. Stattdessen bietet Node.js Module wie fs, http und process. Timer und console gibt es in beiden Umgebungen.

Alle 75 Fragen mit Antworten →

Node.js · Middle

  1. Welche Liste zeigt die Hauptphasen der Event Loop von Node.js in der richtigen Reihenfolge?
    Antwort zeigen

    Richtige Antwort: timers → pending callbacks → poll → check → close callbacks

    Timers führt Callbacks von setTimeout/setInterval aus, poll wartet auf I/O-Callbacks und führt sie aus, check führt setImmediate aus, close die close-Events. Einen Render-Schritt gibt es nicht: das ist ein Browserkonzept.

  2. Warum können rekursive Aufrufe von process.nextTick gefährlich sein?
    Antwort zeigen

    Richtige Antwort: Die Warteschlange wird erst ganz geleert, endlose Ticks lassen also I/O verhungern

    Dasselbe gilt für eine endlose Kette von Microtasks. setImmediate lässt die Event Loop zwischen den Iterationen I/O verarbeiten.

  3. Was bearbeitet der Thread-Pool von libuv standardmäßig?
    Antwort zeigen

    Richtige Antwort: Dateisystemarbeit, dns.lookup, Teile von crypto und zlib

    Netzwerk-Sockets nutzen die asynchronen Mechanismen des Betriebssystems (epoll, kqueue, IOCP) und brauchen den Pool nicht. Der Pool hat standardmäßig 4 Threads, einstellbar mit UV_THREADPOOL_SIZE.

  4. Ein Request-Handler führt 2 Sekunden lang eine CPU-lastige Schleife aus. Was passiert mit anderen Anfragen?
    Antwort zeigen

    Richtige Antwort: Sie warten, da die Event Loop nichts anderes bearbeiten kann

    Verlagere schwere CPU-Arbeit in worker_threads, einen eigenen Dienst oder eine Job-Queue, oder teile sie in kleine Stücke mit setImmediate dazwischen.

Alle 75 Fragen mit Antworten →

Node.js · Senior

  1. Wie ist der Heap von V8 für die Garbage Collection organisiert?
    Antwort zeigen

    Richtige Antwort: In eine junge und eine alte Generation

    Die meisten Objekte sterben jung, häufige günstige Scavenges räumen sie also ab. Überlebende Objekte wandern in die alte Generation, deren Sammlungen seltener und teurer sind, wenn auch meist nebenläufig und inkrementell.

  2. Ein Container hat 2 GB Speicher, aber der Node.js-Prozess stürzt bei etwa 1,4 GB mit „JavaScript heap out of memory“ ab. Was sollte man prüfen?
    Antwort zeigen

    Richtige Antwort: Das Old-Space-Limit von V8: --max-old-space-size

    Neuere Node.js-Versionen bemessen den Heap nach dem Speicherlimit des Containers, aber der Heap ist nicht der ganze Speicher: Buffer, nativer Code und Thread-Stacks liegen außerhalb. Lass einen Puffer.

  3. Welches Muster ist eine klassische Ursache für ein Speicherleck in einem Node.js-Server?
    Antwort zeigen

    Richtige Antwort: Ein Map-Cache auf Modulebene, der nie geleert wird

    Alles, was von einem Objekt auf Modulebene erreichbar ist, lebt für immer. Nutze einen begrenzten LRU-Cache mit TTL, eine WeakMap mit Objekten als Schlüssel oder einen externen Cache wie Redis.

  4. Wie findet man, was in einem Node.js-Prozess leakt?
    Antwort zeigen

    Richtige Antwort: Mehrere über die Zeit aufgenommene Heap-Snapshots vergleichen

    Die Vergleichsansicht zeigt Objekte, die zwischen Snapshots alloziert wurden, und Retainer-Pfade zeigen, was sie am Leben hält. --heapsnapshot-near-heap-limit kann direkt vor einem Absturz einen Snapshot aufnehmen.

Alle 75 Fragen mit Antworten →

Kombinierte Tests mit diesem Thema

Fragen aus mehreren Themen auf einmal, wie im Vorstellungsgespräch für eine konkrete Stelle.

Programmieraufgaben

Schreib die Lösung direkt im Browser, und Tests prüfen sie sofort. Klassiker aus Vorstellungsgesprächen zu JavaScript (debounce, deepClone, Promise.all, LRU-Cache), zu TypeScript (Generics, Narrowing und Utility Types, geprüft von einem echten Compiler), Backend-Logik in Node.js (Middleware, Rate Limits, Job-Queues), SQL-Abfragen in echtem PostgreSQL und zu React: Komponenten und Hooks wie eine Aufgabenliste, Tabs, useDebounce und useInterval.

Aufgaben öffnen →