Interviewfragen zu JavaScript (Senior) mit Antworten
75 Fragen fürs Vorstellungsgespräch zu JavaScript (Senior) mit richtigen Antworten, Erklärungen und Links zur Dokumentation.
Diesen Test machen- 1.Wie verarbeitet die Event Loop im Browser Aufgaben?
- 2.Was passiert mit der Seite?
- 3.Läuft die Executor-Funktion von
new Promise(executor)synchron? - 4.Warum wird das Promise unten nie abgelehnt?
- 5.Wie verfolgt man im Browser global unbehandelte Ablehnungen von Promises?
- 6.Was macht
for await...of? - 7.Wofür ist ein asynchroner Generator praktisch?
- 8.Wofür wird
Proxyverwendet? - 9.Unter welcher Bedingung entfernt der Garbage Collector ein Objekt garantiert?
- 10.Welches Szenario führt in einer SPA typischerweise zu einem Speicherleck?
- 11.Warum soll man mit
WeakRefundFinalizationRegistryvorsichtig sein? - 12.Was fehlt Code in einem Web Worker?
- 13.Warum übergibt man einem Worker ein
ArrayBufferals Transferable:postMessage(buf, [buf])? - 14.Was kann ein Service Worker?
- 15.Wie unterscheiden sich Server-Sent Events von WebSocket?
- 16.Was muss man in einem
message-Handler prüfen, wenn man perpostMessagemit einem iframe spricht? - 17.Wie setzt man das Observer-Pattern mit Browser-APIs um, ohne Bibliotheken?
- 18.Warum ist
ResizeObserverfür eine Komponente besser als ein Handler fürwindow.resize? - 19.Was macht ein Tagged Template?
- 20.In welcher Reihenfolge liefert
Object.keysdie Schlüssel von{ b: 1, 2: 1, a: 1, 1: 1 }? - 21.Wie friert man ein Objekt tief ein?
- 22.Wie serialisiert man ein Objekt mit zirkulären Referenzen nach JSON?
- 23.Wie begrenzt man die Zahl gleichzeitiger Requests beim Laden von 100 URLs?
- 24.Was ist exponentielles Backoff beim Wiederholen von Requests?
- 25.Warum ist es wichtig, in einer Debounce-Umsetzung
thisund die Argumente zu erhalten? - 26.Warum kann es Code in V8 verlangsamen, Eigenschaften in unterschiedlicher Reihenfolge hinzuzufügen?
- 27.Wie vermeidet man das Blockieren der UI bei der Verarbeitung von 100.000 Einträgen im Hauptthread?
- 28.Warum ist
performance.now()zum Messen der Laufzeit besser alsDate.now()? - 29.Was liefert
new Date(2025, 1, 1).getMonth(), und welcher Monat ist das? - 30.Was passiert bei
10n + 1? - 31.Warum liefert
9007199254740993 === 9007199254740992true? - 32.Was ist ReDoS?
- 33.Was ist gefährlich an einer Deep-Merge-Funktion, die auf JSON vom Nutzer angewendet wird?
- 34.Warum verbieten Sicherheitsrichtlinien meist
evalundnew Function? - 35.Was kann bei einer zirkulären Abhängigkeit zwischen ES-Modulen passieren?
- 36.Wie wirkt sich
awaitauf oberster Ebene eines Moduls auf die Module aus, die es importieren? - 37.Was bringt
Promise.withResolvers()(ES2024)? - 38.Was liefert
new Set([1, 2, 3]).intersection(new Set([2, 3, 4]))? - 39.Was macht
Object.groupBy(users, u => u.role)? - 40.Wofür ist
MutationObservernützlich? - 41.Wo speichert man große strukturierte Daten auf dem Client (z. B. einen Offline-Cache)?
- 42.Wie synchronisiert man Daten zwischen Tabs derselben Website?
- 43.Warum sollte man Instanzen von
Intl.NumberFormatcachen? - 44.Wie baut man einen Query-String aus einem Parameterobjekt richtig?
- 45.Was liefert der Ausdruck?
- 46.Was liefert
[1, 2, 3, 4].findLast(n => n % 2 === 1)? - 47.Wozu übergibt man
Errordie Optioncause? - 48.Was ist die Temporal Dead Zone bei Standardparametern?
- 49.Wofür ist
globalThisnützlich? - 50.Warum sollte man keine
async-Funktion als Executor innew Promise(async (resolve) => ...)übergeben? - 51.Wie bricht man ein
fetchnach 5 Sekunden ab oder wenn der Nutzer die Seite verlässt, je nachdem, was zuerst kommt? - 52.Was bringen Iterator-Helfer wie
map.values().filter(...).take(3)? - 53.Welches Problem löst
Promise.try(fn)? - 54.Was liefert diese Regex?
- 55.Womit lehnt
Promise.anyab, wenn alle Promises abgelehnt werden? - 56.Was muss eine Seite tun, um
SharedArrayBufferzu nutzen? - 57.Wann ist
requestIdleCallbackangebracht? - 58.Warum kann ein Bundler einen ungenutzten Export einer Bibliothek nicht per Tree-Shaking entfernen?
- 59.Warum kann dieser Code die Seite einfrieren, obwohl er Promises nutzt?
- 60.Was liefert
Object.is(-0, 0), und wozu gibt es das? - 61.Was steuert
Symbol.toPrimitive? - 62.Was ergibt
[] + {}? - 63.Warum nutzt man
Reflect.get(target, key, receiver)in einemget-Trap einesProxy? - 64.Warum nutzen Scheduler (z. B. der von React)
MessageChannelstattsetTimeout(fn, 0)? - 65.Wie erlauben CSP-Nonces bestimmte Inline-Skripte?
- 66.Was erzwingen Trusted Types?
- 67.Wie hilft
SameSite=Laxbei einem Session-Cookie gegen CSRF? - 68.Wovor schützt das Attribut
integrityan einem<script>von einem CDN? - 69.Wofür nutzt man
new URL("./worker.js", import.meta.url)? - 70.Was ermöglicht
<script type="importmap">? - 71.Wie sortiert man Namen für eine bestimmte Sprache richtig?
- 72.Warum nutzt man
Intl.PluralRulesfür Meldungen wie „5 Dateien“? - 73.Wie speichert und überträgt man Datumswerte robust?
- 74.Was macht eine Methode
toJSONan einem Objekt? - 75.Ist
Array.prototype.sortin modernen Engines stabil?