Interview-Vorbereitung

Fragen im JavaScript-Vorstellungsgespräch mit Antworten

20 Fragen, die einem Junior-Frontend-Entwickler am häufigsten gestellt werden. Antworten in einfacher Sprache, keine auswendig gelernten Lehrbuchsätze.

❓ 20 Fragen 🎯 Niveau: Junior 🔄 Aktualisiert: 2026

📘 Sprachgrundlagen

1. Was ist der Unterschied zwischen var, let und const?
var hat Function Scope und kann aus einem Block „entkommen"; let und const haben Block Scope, nur innerhalb ihres eigenen Blocks { } sichtbar. let kann neu zugewiesen werden, const nicht. Heute wird var kaum noch verwendet.
2. Was ist der Unterschied zwischen == und ===?
== vergleicht Werte mit Typumwandlung ("5" == 5 → true), === vergleicht ohne Umwandlung, inklusive Typ ("5" === 5 → false). In der Praxis wird fast immer === verwendet.
3. Was ist der Unterschied zwischen null und undefined?
undefined ist der Standardwert, wenn einer Variable nichts zugewiesen wurde. null ist ein Wert, den ein Entwickler bewusst zuweist, um explizit „das hier ist leer" zu sagen.
4. Welche Datentypen gibt es in JavaScript?
Primitive: string, number, boolean, undefined, null, symbol, bigint. Und ein nicht-primitiver Typ — object (der Arrays und Funktionen einschließt).
5. Was ist Hoisting?
Ein Mechanismus, bei dem Deklarationen von Variablen (var) und Funktionen an den Anfang ihres Scopes verschoben werden, bevor der Code ausgeführt wird. let und const werden auch gehisst, fallen aber in die „temporal dead zone" — man kann nicht vor ihrer Deklaration auf sie zugreifen.
6. Was ist eine Closure?
Eine Funktion, die sich Variablen einer äußeren Funktion „merkt", auch nachdem diese fertig ausgeführt wurde. Ein klassisches Beispiel ist eine Zählerfunktion, die ihren Zustand zwischen Aufrufen speichert.

🗂️ Arrays und Objekte

7. Was ist der Unterschied zwischen map und forEach?
forEach durchläuft einfach ein Array und gibt nichts zurück. map durchläuft auch ein Array, gibt aber ein neues Array mit dem Ergebnis der Funktion für jedes Element zurück.
8. Wie prüfst du, ob eine Variable ein Array ist?
Mit Array.isArray(wert). Der Operator typeof gibt für ein Array "object" zurück, taugt also dafür nicht.
9. Wie kopierst du ein Objekt oder ein Array?
Für eine flache Kopie: der Spread-Operator {...obj} oder [...arr]. Für eine tiefe Kopie verschachtelter Objekte nutzt man oft structuredClone(obj) oder JSON.parse(JSON.stringify(obj)).
10. Wie entfernst du ein Element aus einem Array?
Mit splice(index, 1) — verändert das ursprüngliche Array. Oder mit filter, wenn du ein neues Array brauchst, ohne das Original zu verändern: arr.filter(item => item !== wert).
11. Was macht die Methode reduce?
Sie reduziert ein Array auf einen einzelnen Wert, indem sie jedes Element durchläuft und ein Ergebnis akkumuliert. Wird oft zum Summieren verwendet: arr.reduce((sum, n) => sum + n, 0).

🖥️ Das DOM und Events

12. Wie wählst du ein Element auf der Seite aus?
Am häufigsten document.querySelector(".klasse") für ein Element und document.querySelectorAll(".klasse") für mehrere. Es gibt auch getElementById.
13. Was ist der Unterschied zwischen addEventListener und onclick?
onclick erlaubt nur einen Handler — ein neuer ersetzt den alten. addEventListener erlaubt beliebig viele Handler für dasselbe Event, und flexibleres Entfernen.
14. Was ist Event Bubbling?
Wenn ein Event auf einem verschachtelten Element auftritt, „blubbert" es danach durch alle Elternelemente nach oben. Das ermöglicht Event-Delegation: einen einzigen Handler am Elternelement statt vieler an den Kindern.
15. Wie verhinderst du das Standardverhalten eines Events?
Durch Aufruf von event.preventDefault() im Handler — zum Beispiel, damit ein Formular beim Absenden die Seite nicht neu lädt.

⏳ Asynchroner Code

16. Was ist ein Promise?
Ein Objekt, das das Ergebnis einer asynchronen Operation repräsentiert — es kann sich in einem von drei Zuständen befinden: pending (ausstehend), fulfilled (erfüllt) oder rejected (abgelehnt).
17. Wie funktionieren async/await?
Es ist „Syntactic Sugar" über Promises: eine Funktion wird als async markiert, und darin „wartet" await auf das Ergebnis eines Promise, ohne den Rest des Seiten-Codes zu blockieren. Der Code sieht aus und liest sich wie synchroner Code.
18. Was ist der Unterschied zwischen setTimeout und setInterval?
setTimeout führt Code einmal nach einer festgelegten Verzögerung aus. setInterval wiederholt die Ausführung in einem angegebenen Intervall, bis es mit clearInterval gestoppt wird.

💬 Allgemeine Fragen

19. Was ist this in JavaScript?
Ein Verweis auf das Objekt, in dessen Kontext eine Funktion ausgeführt wird. Der Wert von this hängt davon ab, wie die Funktion aufgerufen wurde. Arrow-Funktionen haben kein eigenes this — sie übernehmen es vom umgebenden Code.
20. Wie findest du normalerweise die Ursache eines Bugs in deinem Code?
Eine gute Antwort: Ich lese die Fehlermeldung in der Konsole, setze console.log an verdächtigen Stellen oder nutze Breakpoints in den DevTools, grenze das Problem auf eine bestimmte Zeile ein, prüfe die Werte der Variablen bei jedem Schritt.

Was als Nächstes kommt

Bereitest du dich auf dein erstes Vorstellungsgespräch vor?

Der JavaScript-Kurs deckt nicht nur diese Themen ab, sondern echte praktische Probleme — danach fällt das Beantworten solcher Fragen natürlich, nicht auswendig gelernt.