Frontend-Systemdesign im Interview: Vom vagen Prompt zum klaren Plan

Ein deutscher Leitfaden für überzeugende Antworten in Frontend-Systemdesign-Interviews.
Frontend-Systemdesign-Interviews wirken oft überwältigend. Bei „Entwirf ein gemeinsames Aufgabenboard“ denkt man sofort an React, WebSockets, Caching, APIs und Performance. Der bessere Start ist einfacher: Erst klären, was Nutzer erreichen müssen; danach Technik auswählen.
Beim Produkt beginnen, nicht bei Bibliotheken
Fragen Sie: Können Nutzer Aufgaben erstellen, bearbeiten und verschieben? Ist das Board geteilt? Müssen Änderungen sofort sichtbar sein? Gehören Anhänge oder Offline-Arbeit zum Umfang?
Nennen Sie eine Annahme: Ich entwerfe ein Web-Aufgabenboard für angemeldete Teammitglieder. Sie sehen Spalten, erstellen und verschieben Aufgaben und erhalten Änderungen anderer Personen, solange das Board geöffnet ist. Anhänge und Offline-Bearbeitung sind nicht Teil des Umfangs.
So wird aus „Entwirf Jira“ ein lösbares Problem.
Funktionale Anforderungen und Qualitätsanforderungen
Funktionale Anforderungen beschreiben Verhalten: Board ansehen, Aufgabe verschieben, filtern und Änderungen sehen. Latenz, Barrierefreiheit, Zuverlässigkeit und Skalierung sind Qualitätsanforderungen; sie beeinflussen die Architektur.
Beim Verschieben einer Aufgabe reagiert die Oberfläche sofort, der Client sendet die Mutation, der Server bestätigt den kanonischen Zustand und andere Nutzer erhalten ein Ereignis. Bei Fehlern wird zurückgesetzt und eine verständliche Meldung gezeigt.
Datenmodell und API aus Flüssen ableiten
Der Client benötigt eine Aufgaben-ID, Spalte, Position und Version. Ein Update-Vertrag enthält etwa columnId, position und version. Der Server liefert die endgültige Aufgabe mit neuer Version zurück. Bei parallelen Änderungen nennen Sie eine Regel, etwa Last-Write-Wins oder Ablehnung einer veralteten Version mit Aktualisierung.
State nach Eigentümer und Lebensdauer wählen
Menüs, Drag-Vorschau und Formularwerte sind lokaler UI-State. Filter und ausgewähltes Board gehören in die URL. Serverdaten wie Boards und Aufgaben gehören in einen Query-Cache. Echtzeitereignisse aktualisieren oder invalidieren die betroffene Cache-Entität statt eine zweite dauerhafte Kopie zu erzeugen.
Realtime und optimistische Updates
Bei gelegentlichen Updates reicht Polling. Für serverseitige Einweg-Updates passen Server-Sent Events. Presence, Tippen oder bidirektionale Zusammenarbeit können WebSockets rechtfertigen. Beginnen Sie mit der erforderlichen Aktualität, nicht mit dem Namen der Technologie.
Für optimistische Updates speichern Sie einen Snapshot, aktualisieren die UI lokal, senden die Mutation und stellen den Snapshot bei Fehlern wieder her. Ein gutes Design erklärt den Fehlerpfad genauso wie den Erfolgsfall.
Frontend-Risiken nicht vergessen
- Lange Listen virtualisieren.
- Drag-and-drop per Tastatur und Screenreader zugänglich machen.
- Lade-, Leer-, Berechtigungs- und Wiederholungszustände zeigen.
- Stabile IDs statt Array-Indizes verwenden.
- Langsame Interaktionen und fehlgeschlagene Mutationen beobachten, ohne sensible Inhalte zu loggen.
Antwortvorlage
- Nutzer, Plattform und wichtige Flüsse klären.
- Umfang und Ausschlüsse nennen.
- Funktionale Anforderungen auflisten.
- Nutzerflüsse beschreiben.
- Datenmodell und API ableiten.
- State nach Eigentümer und Lebensdauer trennen.
- Performance, Barrierefreiheit, Zuverlässigkeit und Sicherheit behandeln.
- Trade-offs und nächste Schritte erklären.
Fazit
Frontend-Systemdesign ist kein Wettbewerb der Bibliotheken. Beginnen Sie mit dem Ziel des Nutzers. Danach sind State, API, Rendering und Realtime-Entscheidungen nachvollziehbar begründet.
Empfohlene Artikel

YOLO-Objekterkennung: Ein vollständiger Praxisleitfaden für Entwickler
Ein durchgängiger Entwicklerleitfaden zu YOLO: Grundlagen, Datenqualität, Training, Evaluation, Echtzeit-Inferenz, Produktion, Performance und Sicherheit.

Deep Learning verständlich erklärt: Der vollständige Praxisleitfaden für Entwickler
Ein praxisnaher Entwicklerleitfaden: von Neuronen, Gradientenabstieg und Datenaufteilung bis zu CNNs, Transformern, Produktion, Monitoring und Interviewfragen.

Build-Timeout vs. API-Timeout: Warum ein 700-Sekunden-Fetch nicht in einen 600-Sekunden-Build passt
Ein API-Aufruf mit 700 Sekunden Laufzeit kann in einer 600-Sekunden-Build-Umgebung nicht zuverlässig enden. So findest du das echte Deadline-Limit, setzt Budgets und verlegst lange Arbeit aus dem Deployment.
Kommentare
0 KommentareNoch keine freigegebenen Kommentare sichtbar. Neue Antworten können moderiert werden.