Frontend-Entwickler:in
Strukturierte Interviewfragen für Frontend-Entwickler:in — mit dem Signal, auf das eine starke Antwort jeweils hinweist.
VerhaltensbezogenTechnische Entscheidungsfindung Beschreiben Sie die schwierigste Frontend-Entscheidung Ihrer letzten Position (Framework-Migration, State-Management-Wahl, Performance-Refactor). Warum war sie schwierig und wie haben Sie sie getroffen?
Worauf eine starke Antwort hinweistFähigkeit, eine Entscheidung unter Unsicherheit zu strukturieren: Identifikation der Bedingungen (Browser-Support, Team-Skill, bestehende Codebase), expliziter Abwägungen, Konsultation der betroffenen Personen (Design, Backend, PM), nachträgliche Validierung mit Daten (Bundle-Size, Lighthouse, Fehlerquote). Bonus: die:der Kandidat:in erwähnt, im Verlauf die Meinung geändert oder die Entscheidung dokumentiert zu haben. Wer rückblickend eine offensichtliche Entscheidung beschreibt, hat selten ernsthaft abgewogen.
VerhaltensbezogenDebugging und Investigation Erzählen Sie mir von einem UI-Bug oder einer Performance-Regression in Produktion, die Sie behoben haben. Was war das Symptom, wie haben Sie diagnostiziert und wie lange hat es gedauert?
Worauf eine starke Antwort hinweistStrukturierte Debug-Methode: Reproduktion im Browser (DevTools, Performance-Tab, Network-Tab), Identifikation der betroffenen Geräte oder Browser, durch Experiment validierte Hypothesen. Ehrlichkeit zur Dauer (ein echter Production-Frontend-Bug ist selten in unter 30 Min. erledigt, vor allem bei Browser-Inkompatibilitäten). Bonus: die:der Kandidat:in nennt die Grundursache und den systemischen Fix, nicht nur den Hotfix. Antworten wie „Ich habe einen Workaround mit CSS gebaut“ ohne Diagnose deuten auf schwache Investigationsfähigkeit.
VerhaltensbezogenLernfähigkeit und Demut Beschreiben Sie einen Moment, in dem Sie eine Komponente refactorn oder umschreiben mussten, die Sie selbst wenige Monate zuvor gebaut hatten. Was war in der Zwischenzeit passiert?
Worauf eine starke Antwort hinweistTechnische Demut und Lernfähigkeit. Bonus: die:der Kandidat:in benennt, was sie:er heute von Anfang an anders machen würde (etwa Komposition statt Vererbung, Hooks-Extraktion, klarere Props-Verträge). Wer noch nie eigene Komponenten wirklich refactorn musste, hat entweder nichts in echte Produktion versendet oder das Produkt nie über längere Zeit weiterentwickelt.
SituativTechnischer Mut Sie entdecken in einer Code-Review eine Accessibility-Lücke (fehlende ARIA-Labels, nicht erreichbarer Fokus, fehlende Tastatur-Bedienung) in einem PR einer Senior-Kollegin oder eines Senior-Kollegen. Wie reagieren Sie?
Worauf eine starke Antwort hinweistFähigkeit, eine technische Schwäche aufzuzeigen, ohne zu blockieren: sachlicher Kommentar im PR (hier ist das Risiko für Nutzer:innen mit Tastatur oder Screenreader, hier mein Lösungsvorschlag), Lösungsangebot, Eskalation an Tech Lead, falls der PR trotz Kommentar gemergt wird. Wer es laufen lässt, weil das Profil senior ist, oder wer Accessibility als nice-to-have behandelt, zeigt mangelnden technischen Mut und Lücken im Frontend-Verständnis.
SituativKommunikation mit Produkt Ein:e Product Manager:in verlangt ein Frontend-Feature (komplexer Filter mit 10 Dimensionen), das nach Ihrer Einschätzung 3 Wochen dauert. Die PM-Person will es in einer Woche. Wie reagieren Sie?
Worauf eine starke Antwort hinweistKlärung des Bedarfs vor der Timeline-Verhandlung (eventuell lassen sich die kritischen Filter-Dimensionen in einer Woche liefern, der Rest in V2). Optionen anbieten: MVP in einer Woche plus V2 in zwei Wochen, expliziter Scope-Cut, kompromissfähige UI-Variante mit weniger Edge Cases. Antworten wie „Ich schaffe das in einer Woche, wenn ich am Wochenende arbeite“ sind ein Warnsignal (mangelnde Selbstführung).
SituativPragmatismus und Priorisierung Sie kommen in ein Frontend mit erheblicher technischer Schuld: keine TypeScript-Typen, Komponenten mit 800 Zeilen, kein Design-System, kein klares Test-Setup. Wie sieht Ihr 60-Tage-Plan aus?
Worauf eine starke Antwort hinweistZuerst Diagnose: nicht alles gleichzeitig reparieren wollen. Priorisierung nach Risiko und Wirkung (typisch: zuerst TypeScript in neuen Komponenten erzwingen und kritische Bestandskomponenten typisieren, dann die 8-12 meistgenutzten Komponenten konsolidieren, dann ein leichtgewichtiges Test-Setup für die kritischen Flows). Abstimmung mit Team und Tech Lead vor jeder Maßnahme. Wer sich direkt in einen vollständigen Rewrite stürzt oder sofort ein Design-System nach Material UI ausruft, zeigt mangelnden Pragmatismus.
CaseSystem-Design Design: Wir wollen in unsere Anwendung eine wiederverwendbare Tabelle mit Sortierung, Filterung, Pagination und konfigurierbaren Spalten ergänzen. Wie entwerfen Sie die Komponente?
Worauf eine starke Antwort hinweistKlärung vor dem Vorschlag (erwartete Zeilenanzahl, Datenquelle, Server- vs. Client-Sortierung, Accessibility-Anforderungen, Wiederverwendung an wie vielen Stellen). Kohärente Architektur: Komposition vs. Konfigurations-Props, klare Slot- oder Render-Prop-API, Virtualisierung ab welcher Zeilenmenge, Tastatur-Navigation, ARIA-Rollen für Tabellen. Bonus: Anerkennung der Unsicherheitszonen (Ich würde einen POC mit React-Aria oder TanStack Table machen, bevor ich entscheide, was wir selbst bauen). Wer ohne Klärung sofort in den Code springt, zeigt eine Design-Schwäche.
CaseDebugging und Investigation Debug: Auf Mobilgeräten in Safari unter iOS reagiert die App nach 30 Sekunden Nutzung träge. In Chrome auf Desktop ist nichts auffällig. Wie gehen Sie vor?
Worauf eine starke Antwort hinweistStrukturierte Methode: (1) Reproduktion auf echtem Gerät oder über Browserstack, nicht nur im Desktop-DevTools-Emulator, (2) Profiling mit Safari Web Inspector über USB-Debugging, (3) Hypothesen ordnen (Memory Leak in einer Listener-Anbindung, exzessive Re-Renders, schwere Animationen, Layout-Thrashing, große Bilder ohne Lazy-Loading), (4) Metriken vergleichen (CPU, Memory, Long Tasks, FPS). Wer sofort auf „wird wohl Safari sein“ springt, ohne zu investigieren, hat einen Bias und unterschätzt iOS-spezifische Eigenheiten (z. B. WebKit-Speicherverwaltung).
CaseOptimierung Performance: Eine Seite Ihrer Anwendung erreicht in Lighthouse Mobile einen Performance-Score von 35 und 6 Sekunden LCP. Sie haben zwei Wochen Zeit, Score über 80 und LCP unter 2,5 Sekunden zu bringen. Aktionsplan?
Worauf eine starke Antwort hinweistVor dem Optimieren messen: Lighthouse, WebPageTest, Chrome DevTools Performance-Tab, RUM-Daten falls vorhanden. Bottleneck identifizieren (Render-blocking JS oder CSS, große ungeoptimierte Bilder, kein Code-Splitting, schwere Drittanbieter-Skripte, ungenutztes JavaScript, fehlende Caching-Header). Nach Aufwand mal Wirkung priorisieren: typischerweise zuerst Bildoptimierung und Code-Splitting, dann Drittanbieter-Skripte einschränken, dann Server-Response-Time. Antworten wie „Ich baue Server-Side-Rendering ein“ ohne Diagnose deuten auf vorzeitige Optimierung. Bonus: erkennen, dass LCP-Probleme meist bei Bildern, Web-Fonts oder einem späten Hydrate-Schritt liegen.
FachlichCode-Qualität Wie ist Ihre Test-Strategie im Frontend? Beschreiben Sie Ihr letztes Projekt: wie viele Tests, welche Typen (Unit, Komponenten, Integration, E2E), welche Coverage und was haben Sie wirklich gemessen?
Worauf eine starke Antwort hinweistVerständnis der Frontend-Test-Pyramide (viele Unit-Tests auf Hooks und Utilities, Komponenten-Tests mit Testing Library auf Verhalten statt Implementation, wenige E2E in Playwright oder Cypress auf den kritischen Flows). Unterscheidung zwischen Coverage und Nutzen (90 % Coverage auf Präsentations-Komponenten zählt weniger als 60 % auf einem Checkout-Flow). Bonus: die:der Kandidat:in nennt einen Fall, in dem ein Test eine reale Regression verhindert hat. Wer Snapshot-Tests als zentrale Strategie nennt oder einfach „100 % Coverage“ ohne Differenzierung antwortet, zeigt schwaches Urteilsvermögen.
FachlichFrontend-Fundament Was ist der Unterschied zwischen useEffect, useLayoutEffect und einem state-getriebenen Render in React? Wann setzen Sie welches Werkzeug ein? (Oder das Vue-Äquivalent.)
Worauf eine starke Antwort hinweistuseEffect: läuft nach Commit, asynchron zum Browser-Paint, geeignet für Datenabruf, Logging, Subscriptions. useLayoutEffect: läuft synchron nach Commit, vor dem Paint, geeignet für Messungen und imperativen DOM-Zugriff, der Layout-Flicker vermeiden muss. State-getriebenes Rendern bevorzugen, wenn die Information aus Props oder State ableitbar ist (kein Effekt nötig). Wer die drei Mechanismen nicht trennen kann, baut typische Frontend-Anti-Patterns ein: doppelte Renders, Flicker, Race Conditions in Effekten. Vue-äquivalent: watchEffect vs. computed vs. lifecycle hooks.
FachlichPragmatismus und Priorisierung Sie kommen in eine schlecht organisierte React- oder Vue-Codebase: Komponenten mit 500 Zeilen, Props-Drilling über 5 Ebenen, keine Trennung von Logik und Darstellung, gemischte Styling-Ansätze. Aktionsplan in 60 Tagen, ohne alles zu brechen?
Worauf eine starke Antwort hinweistSchrittweises Vorgehen: (1) kritische Komponenten und wiederkehrende Patterns kartieren, (2) zuerst Hooks oder Composables und Business-Logik extrahieren (großer Hebel, geringes Risiko), (3) große Komponenten entlang fachlicher Grenzen zerlegen, nicht entlang technischer Schemata, (4) State-Manager nur dort einführen, wo Props-Drilling tatsächlich wehtut (Context oder Pinia im KMU, Redux oder Zustand ab größerem Volumen), (5) Styling-Strategie vereinheitlichen ohne Big-Bang-Migration. Wer sofort alles auf React Server Components oder Nuxt 4 umstellen will, zeigt fehlenden Pragmatismus.
WerteCoachability Wie nehmen Sie eine kritische Code-Review zu Frontend-Code auf, von dem Sie überzeugt waren, dass er gut ist?
Worauf eine starke Antwort hinweistOffenheit: Fähigkeit, Code vom persönlichen Ego zu trennen. Bonus: die:der Kandidat:in nennt einen Fall, in dem sie:er durch eine Review tatsächlich umgedacht hat (etwa bei Accessibility-Hinweisen, die zunächst unwichtig erschienen). Wer beschreibt, der:dem Reviewer:in die eigene Logik erklärt zu haben, anstatt zuzuhören, zeigt eine Schwäche in der Coachability; im KMU mit kleinem Frontend-Team ist das ein hartes K.o.-Signal.
WerteAccessibility und Qualität Welche Rolle spielt Accessibility in Ihrer täglichen Arbeit? Beschreiben Sie konkret, was Sie bei der letzten Komponente, die Sie gebaut haben, geprüft oder umgesetzt haben.
Worauf eine starke Antwort hinweistAktive Accessibility-Haltung: semantisches HTML als Standard, Tastatur-Navigation getestet, Fokus-Reihenfolge und sichtbarer Fokus geprüft, ARIA-Rollen nur wo nötig, Kontraste validiert, Screenreader-Test mindestens einmalig pro nicht-trivialer Komponente. Bonus: die:der Kandidat:in nennt ein konkretes Tool (axe, Lighthouse, VoiceOver, NVDA) und einen Fall, in dem ein Accessibility-Audit eine echte Nutzungsverbesserung gebracht hat. Wer Accessibility als Aufgabe am Projektende behandelt oder pauschal an QA delegiert, zeigt eine Lücke, die im KMU teuer wird (Klagen unter BFSG ab Mitte 2025 sind real).
WerteTeamspiel Produkt und Design Wie arbeiten Sie mit Designer:innen und Product Manager:innen zusammen? Beschreiben Sie eine Situation, in der Sie einem Design-Briefing widersprochen haben.
Worauf eine starke Antwort hinweistPartnerschaftliche Haltung: konstruktives Hinterfragen auf Basis von Machbarkeit, Performance- oder Accessibility-Risiko, Alternativvorschläge mit Skizze oder Prototyp. Bonus: die:der Kandidat:in nennt einen Fall, in dem sie:er das ursprüngliche Briefing nach Austausch akzeptiert hat (keine systematische Opposition). Wer Designer:innen als „verstehen die Technik nicht“ oder PMs als „reden zu viel“ beschreibt, zeigt Schwäche im Teamspiel, die im KMU mit kleinem Produktteam besonders teuer wird.
Evaluations-Playbook
Die Rolle der Frontend-Entwickler:in zeigt sich über fünf Evaluations-Stufen. Die Praxisaufgabe (Stufe 3) ist die aussagekräftigste Stufe: Frontend lässt sich zwei Stunden lang theoretisch besprechen, ohne zu zeigen, ob jemand wirklich State-Management, Accessibility und Performance im Tagesgeschäft beherrscht. Halten Sie die Übung kurz (2-3 Stunden) und nah am Tagesgeschäft.
Stufe 1: Lebenslauf- und Portfolio-Lektüre
Lesen Sie Lebenslauf, GitHub und (falls vorhanden) persönliche Website parallel. Achten Sie auf Stack-Konsistenz (ein Profil mit 5 Jahren React, das jetzt Vue lernt, ist plausibler als ein Wechsler zwischen sieben Frameworks), Stabilität (mindestens 18-24 Monate auf vorherigen Positionen) und Spezialisierungs-Signale: Beiträge zu Design-Systemen, Konferenzbeiträge zu Performance, Accessibility-Audits, sichtbare Open-Source-Pflege. Der Abschluss zählt weniger als die letzten 3-5 Jahre Praxis: ein:e Autodidakt:in mit 5 Jahren solider Produktionserfahrung zählt mehr als ein:e Top-Uni-Absolvent:in mit 2 Jahren verlängertem Praktikum. Negativ-Signal: ausschließlich Tutorial-Klon-Repos ohne reale Produktnutzung.
Stufe 2: Phone Screen (30 Min.)
Nur drei Fragen: (1) Beschreiben Sie das jüngste Frontend-Projekt, auf das Sie am stolzesten sind; was war Ihr konkreter Beitrag und welche Nutzungs-Wirkung hatte es?, (2) Welche technische Entscheidung haben Sie kürzlich getroffen, an der Sie noch zweifeln? (Demut und Reflexion), (3) Warum suchen Sie jetzt einen Wechsel? Ergebnis: Go/No-Go in 5 Min. Debrief. Vermeiden Sie an dieser Stelle Trivia-Fragen zu Framework-APIs; suchen Sie das ungefilterte Frontend-Denken.
Stufe 3: Technisches Interview (60-90 Min.)
Pair-Programming oder Code-Review auf einer begrenzten Aufgabe (45-60 Min.), gefolgt von 15-30 Min. Q&A zu Architektur, State-Management und konkreten Entscheidungen. Typische Aufgabe: eine Komponente um eine Funktion erweitern (mit Tests und Accessibility-Anforderungen), einen Performance-Hotspot in einer bestehenden Komponente identifizieren oder ein UI-Bug-Reproduktionsfall debuggen. Bewerten Sie die Fähigkeit, laut zu denken, Klärungsfragen zu stellen, Tests zu schreiben und auf Accessibility und Performance zu achten. Vermeiden Sie rein akademische Algorithmen ohne Bezug zum Alltag.
Stufe 4: System-Design-Übung Frontend (60 Min.)
Architektur-Diskussion zu einem konkreten Frontend-Fall: Wie würden Sie [eine komplexe UI-Komponente, ein Multi-Step-Flow, eine offline-fähige Anwendung, einen wiederverwendbaren Tabellen-Baustein] entwerfen? Bewerten Sie die Fähigkeit, Bedingungen vor dem Vorschlag zu klären (Browser-Support, Lokalisierung, Accessibility-Level, erwartetes Datenvolumen), zwischen Einfachheit und Wiederverwendbarkeit abzuwägen, das Zusammenspiel mit Design-System und Backend zu erklären und Unsicherheitszonen zu erkennen. Diese Stufe ist die prädiktivste für eine:n Frontend-Entwickler:in, die:der im KMU eigenständig technische Entscheidungen treffen muss.
Stufe 5: Referenzen (strukturierte Überprüfung)
Rufen Sie zwei Referenzen an: eine:n ehemalige:n Tech Lead oder direkte:n Vorgesetzte:n und eine:n ehemalige:n Frontend- oder Design-Kolleg:in. Stellen Sie beiden dieselben 4 Fragen: Worin ist sie:er am stärksten (UI-Qualität, Performance, Accessibility, Design-System, Tests)? Worin würden Sie eine ergänzende Person einstellen? Würden Sie sie:ihn morgen wieder einstellen, warum? Ein Beispiel einer schwierigen technischen Entscheidung in Eigenverantwortung? Die 4. Frage liefert das eigentliche Autonomie-Signal.
Woran Sie eine hervorragende Besetzung erkennen
| Kompetenz | Unter Anforderung | Auf Niveau | Über Anforderung |
|---|---|---|---|
| Frontend-Solidität | Stolpert über Fundamente (Box-Modell, Event-Loop, Render-Zyklus des gewählten Frameworks, asynchrone Datenflüsse). Sucht Lösungen durch Versuch und Irrtum ohne klares mentales Modell. Tut sich schwer mit dem Wechsel auf ein neues Framework. | Beherrscht den aktuellen Stack eigenständig (React oder Vue mit TypeScript, gängiges Build-Tooling, Standard-State-Pattern). Kann ein neues Framework in 2-4 Wochen lernen. Versteht die Fundamente gut genug, um bei Bedarf tief zu debuggen. | Referenzperson für den Stack im Team und in der Lage, innerhalb weniger Wochen auf einen neuen Stack umzusteigen. Antizipiert klassische Fallen (Re-Render-Stürme, Hydration-Mismatches, Memory Leaks in Subscriptions). Baut nützliche, nicht verfrühte Abstraktionen und kennt die Grenzen der eigenen Framework-Wahl. |
| Performance, Accessibility und Qualität | Versendet ohne Lighthouse- oder Accessibility-Prüfung. Lädt schwere Bibliotheken ohne Code-Splitting, ignoriert Tastatur-Navigation und Screenreader-Support. Coverage ist Selbstzweck statt Sicherheitsnetz. | Routine-Checks im Workflow: Lighthouse pro Feature, Accessibility-Smoketests (axe oder Lighthouse-Audit, Tastatur-Test), gezielte Tests auf kritische Flows. Kennt die häufigsten Anti-Pattern (riesige Bilder ohne next-gen-Format, Render-blocking Web-Fonts, fehlende ARIA-Rollen) und vermeidet sie. | Aktive Verteidigung von Performance- und Accessibility-Bars im Team. Etabliert Budgets (Bundle-Size, LCP, INP) und Audit-Routinen. Schult Kolleg:innen mit konkreten Beispielen und Tooling-Setup. Kann nein sagen zu einer Designvorlage, die ohne Workaround nicht erreichbar oder performant baubar ist. |
| Design-System und Komposition | Keine klare Komponenten-Strategie; jede neue Seite führt neue Patterns ein. Kopiert Markup und Styles statt zu komponieren. Übergaben mit Pixel-Pushers-Mentalität ohne Verständnis für Tokens und Varianten. | Strukturiert Komponenten passend zur Teamgröße: Tokens für Farben, Spacing und Typografie, klare Trennung zwischen Primitive und produktspezifischen Komponenten, sauber typisierte Props-Verträge. Übergaben mit dokumentierten Edge Cases (Leerzustand, Fehlerzustand, Lade-Zustand, Responsive). | Referenz im Team für Design-System-Pflege: dokumentierte Konventionen, Versionierungs-Pattern, enge Zusammenarbeit mit Designer:innen an gemeinsamen Tokens, Abstimmung mit Storybook oder vergleichbarem Tooling. Kann nein sagen zu Designs, die das System destabilisieren, ohne dogmatisch zu werden. |
| Autonomie und Findigkeit | Blockiert sich stundenlang auf einem unbekannten Thema, ohne um Hilfe zu bitten, oder fragt bei jedem Hindernis sofort. Keine strukturierte Debug-Strategie. Liest Bibliotheks-Quellcode nie. | Kann auf bekannten Themen eigenständig diagnostizieren; fragt nach vorheriger Untersuchung um Hilfe (Zusammenfassung des Problems, Hypothesen, was bereits versucht wurde). Liest bei Bedarf Source einer eingesetzten Bibliothek. | Hohe Findigkeit auf unbekannten Themen: liest den Quellcode der Abhängigkeiten, instrumentiert den Browser (Performance-Tab, Memory-Snapshots, Coverage-Tool), isoliert Grundursachen auch in Drittanbieter-Code. Dokumentiert die Erkenntnisse für das Team. |
| Kommunikation und Teamspiel | Erklärt die eigene Arbeit Nicht-Techniker:innen schlecht. Defensive Haltung in Reviews und Critique-Sessions. Arbeitet im Silo, teilt wenig Kontext. Systematische Opposition gegenüber Designer:innen oder PMs. | Kann die eigene Arbeit gegenüber Design, PM oder Geschäftsführung in klarer Sprache erklären. Nimmt Reviews konstruktiv auf. Teilt Kontext in Team-Reviews und 1:1. Kann eine technische Einschränkung mit Skizze oder Prototyp belegen. | Brücke zwischen Frontend, Design, Backend und Produkt. Moderiert technische Debriefs und Design-Übergaben, macht Abwägungen verständlich, verhandelt Timelines transparent. Referenz im Team für übergreifende Kommunikation. |
30/60/90-Tage-Plan
Bis Tag 30
- Vollständiges Setup der lokalen Entwicklungsumgebung und Deployment eines (auch trivialen) PR in Produktion validiert
- Lesen und Verständnis des Codes der 3 fachlich kritischsten Frontend-Module sowie der Design-System-Bibliothek
- Erstes dokumentiertes 1:1 mit der:dem Tech Lead und mit einer:einem Designer:in zu Konventionen, identifizierter Schuld und Prioritäten
- Erster substantieller PR (UI-Bug-Fix oder kleine Komponente) mit Tests und Accessibility-Check reviewt und gemerged
Bis Tag 60
- Lieferung eines vollständigen Frontend-Features von Anfang bis Ende (Komponente, Tests, Accessibility, Performance-Check, Deployment) in Eigenverantwortung
- Erste PR-Review eines Kollegen oder einer Kollegin mit strukturiertem Feedback zu Code-Qualität, Accessibility und Performance, nicht nur Approve-Klick
- Erste eigenständige Übergabe-Session mit Design für eine nicht-triviale Komponente moderiert
- Dokumentation eines kürzlich bearbeiteten Patterns im Design-System verfasst oder aktualisiert
Bis Tag 90
- Regelmäßige Lieferung (1-2 PRs pro Woche) mit in der Review bestätigter Qualität in Code, Accessibility und Performance
- Erste technische Entscheidung in Eigenverantwortung zu einem mehrdeutigen Thema (Library-Wahl, Refactor einer Hauptkomponente, neues Pattern im Design-System)
- Informelles Mentoring eines Junior- oder neuen Profils (Pair-Programming, pädagogische Reviews zu Accessibility oder Performance)
- Formales Bilanzgespräch mit der:dem Tech Lead: Ramp-Phase validiert, Entwicklungsplan auf 1-2 Schwerpunkte (etwa tiefere Performance-Praxis, Aufbau eines Komponenten-Patterns, Mentoring-Verantwortung)