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