Interviewfragen zu Svelte mit Antworten
Svelte 5 und Runes ($state, $derived, $effect, $props), Templates und Snippets, Reaktivität ohne virtuelles DOM, SvelteKit: Routing, load, Form Actions und SSR.
226 Fragen fürs Vorstellungsgespräch zu Svelte mit Antworten und Erklärungen: Level Junior, Middle und Senior. Beispielfragen, Online-Tests und Programmieraufgaben.
- Runes
- Reactivity
- Snippets
- SvelteKit
- SSR
Fragen nach Level
Junior
Grundbegriffe und Syntax · 50 Fragen
Middle
Praxis, Feinheiten und Optimierung · 50 Fragen
Senior
Architektur, Interna, Randfälle · 50 Fragen
Beispielfragen
Ein paar Fragen aus jedem Level mit richtiger Antwort und Erklärung.
Svelte · Junior
- Was ist Svelte?
Antwort zeigen
Richtige Antwort: Ein UI-Framework, das Komponenten in direkte DOM-Updates kompiliert
Svelte erledigt den Großteil seiner Arbeit beim Build. Die Ausgabe ist kleiner, schlanker Code, der genau die DOM-Knoten ändert, die von geändertem State abhängen, ohne virtuelles DOM.
- Was ist SvelteKit?
Antwort zeigen
Richtige Antwort: Das offizielle App-Framework für Svelte, gebaut auf Vite
Svelte ist die Komponentenschicht; SvelteKit ergänzt, was eine vollständige App braucht, ähnlich wie Next.js für React oder Nuxt für Vue.
- Wie legt man ein neues SvelteKit-Projekt empfohlen an?
Antwort zeigen
Richtige Antwort:
npx sv create my-appsvist die offizielle Svelte-CLI. Sie legt das Projekt an und kann Integrationen wie TypeScript, ESLint, Vitest oder Playwright hinzufügen. - Was kann eine
.svelte-Datei enthalten?Antwort zeigen
Richtige Antwort: Einen
<script>-Block, Markup und einen<style>-Block, alles optionalEine Komponente kann mehrere Elemente auf oberster Ebene haben. Es gibt auch
<script module>, das einmal beim Auswerten des Moduls läuft statt für jede Instanz.
Svelte · Middle
- Was ist der Unterschied zwischen
$effectund$effect.pre?Antwort zeigen
Richtige Antwort:
$effect.preläuft vor DOM-Updates,$effectdanach$effect.preersetztbeforeUpdateaus Svelte 4, und$effectersetztafterUpdate. - Warum aktualisiert
items.set(k, v)die UI nicht, wennitemseine einfacheMapin$stateist?Antwort zeigen
Richtige Antwort:
$stateproxyt keineMap;SvelteMapnutzensvelte/reactivityhat auchSvelteSet,SvelteDate,SvelteURL,SvelteURLSearchParamsundMediaQuery. Ihre Werte werden nicht tief reaktiv gemacht. - Wobei hilft
$inspect.trace()?Antwort zeigen
Richtige Antwort: Es loggt, welche Abhängigkeit den erneuten Lauf auslöste
Nützlich, wenn sich etwas zu oft oder gar nicht aktualisiert. Wie
$inspecttut es in Produktion nichts. - Was ist ein Vorteil von Snippets gegenüber Slots aus Svelte 4?
Antwort zeigen
Richtige Antwort: Sie sind Werte: man kann sie übergeben, typisieren und wiederverwenden
Snippets auf oberster Ebene lassen sich sogar in
<script>referenzieren und aus<script module>exportieren, wenn sie keinen Komponenten-State nutzen.
Svelte · Senior
- Welches Modell nutzt die Reaktivität von Svelte 5 unter der Haube?
Antwort zeigen
Richtige Antwort: Signals: Lesen registriert Abhängigkeiten, Schreiben plant betroffene Effects ein
Template-Ausdrücke sind ebenfalls Effects. Runes sind die Syntax über dieser Laufzeit; Svelte 4 stützte sich stattdessen darauf, dass der Compiler Zuweisungen instrumentiert.
- Warum ist Svelte 5 von der vom Compiler instrumentierten
let-Reaktivität zu Runes gewechselt?Antwort zeigen
Richtige Antwort: Die alte Reaktivität ging nur auf oberster Ebene; Runes sind überall explizit
Bei
$:-Anweisungen wurden Abhängigkeiten statisch und nur beim Kompilieren bestimmt; Runes verfolgen sie zur Laufzeit, auch über Funktionsaufrufe hinweg. - Wie werden
$derived-Werte ausgewertet?Antwort zeigen
Richtige Antwort: Lazy und memoisiert: neu berechnet beim Lesen nach einer Änderung
Svelte nutzt Push-Pull-Reaktivität: Änderungen markieren Abhängige als dirty (Push), Werte werden beim Lesen neu berechnet (Pull). Gleiche Ergebnisse werden nicht weitergegeben.
- Was kosten tiefe
$state-Proxys, und wie steuert man das?Antwort zeigen
Richtige Antwort: Lesezugriffe laufen über einen Proxy; für große Daten
$state.rawnutzenNutze
$statenur für Werte, die Effects, abgeleitete Werte oder das Template antreiben. Nicht reaktive Daten können in normalen Variablen bleiben.
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 →