Interviewfragen zum API-Design mit Antworten
REST-Ressourcen und HTTP-Semantik, Statuscodes, Fehler, Paginierung und Filter, Versionierung, Idempotenz, Caching, Authentifizierung, OpenAPI, GraphQL, gRPC, Webhooks und Echtzeit-APIs.
225 Fragen fürs Vorstellungsgespräch zum API-Design mit Antworten und Erklärungen: Level Junior, Middle und Senior. Beispielfragen, Online-Tests und Programmieraufgaben.
- REST
- HTTP
- OpenAPI
- GraphQL
- Webhooks
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.
API-Design · Junior
- Was ist praktisch gesehen eine REST-API?
Antwort zeigen
Richtige Antwort: Eine HTTP-API, die um Ressourcen herum gebaut ist
REST ist ein von Roy Fielding beschriebener Architekturstil. Die meisten „REST-APIs“ folgen seinen Hauptideen: Ressourcen, einheitliche Schnittstelle, Zustandslosigkeit und Cachebarkeit.
- Welches URL-Design folgt den üblichen REST-Konventionen?
Antwort zeigen
Richtige Antwort:
GET /users/42/ordersURLs benennen Ressourcen (Substantive, meist im Plural); die HTTP-Methode sagt, was zu tun ist. Verben in Pfaden sind RPC-Stil.
- Was bedeutet „zustandslos“ für eine REST-API?
Antwort zeigen
Richtige Antwort: Jede Anfrage trägt alles, was der Server braucht
Zustandslosigkeit macht horizontales Skalieren leicht: jede Instanz kann jede Anfrage bearbeiten.
- Welche HTTP-Methode sollte eine neue Ressource in einer Collection anlegen, etwa eine neue Bestellung?
Antwort zeigen
Richtige Antwort:
POST /ordersDer Server vergibt die ID und antwortet meist mit
201 Createdund einemLocation-Header, der auf die neue Ressource zeigt.
API-Design · Middle
- Wie würdest du „Bestellung stornieren“ in einer REST-API modellieren?
Antwort zeigen
Richtige Antwort: Als Zustandsänderung per
PATCHoder eigene AktionStornieren behält die Bestellung meist für die Historie und kann Geschäftsregeln haben. Eine eigene Aktion macht diese Regeln explizit; GET darf nie Zustand ändern.
- Wann sollte eine Beziehung eine eigene Ressource sein, etwa
/users/42/memberships?Antwort zeigen
Richtige Antwort: Wenn sie eigene Daten oder einen eigenen Lebenszyklus hat
Eine Mitgliedschaft als Ressource zu behandeln gibt natürliche Operationen zum Anlegen, Ändern und Löschen.
- Wie sieht JSON Patch (RFC 6902) aus?
Antwort zeigen
Richtige Antwort: Eine Liste von Operationen mit
op/path/valueOperationen sind add, remove, replace, move, copy und test. Es ist präzise bei Arrays, aber für Clients komplexer.
- Wie kann eine REST-API Clients verwandte Ressourcen in einer Anfrage laden lassen?
Antwort zeigen
Richtige Antwort: Mit einem Parameter wie
?include=author,commentsErweiterung vermeidet geschwätzige Clients und hält Standardantworten klein. Begrenze, wie tief und wie viele Beziehungen eingebunden werden dürfen.
API-Design · Senior
- Wie wählt man für ein neues System zwischen REST, GraphQL und gRPC?
Antwort zeigen
Richtige Antwort: Nach Verbrauchern und Rahmenbedingungen, nicht nach Mode
Viele Systeme mischen sie: gRPC zwischen Diensten, ein GraphQL- oder REST-BFF für Clients und REST für öffentliche Partner.
- Was ist eine Denkweise „API als Produkt“?
Antwort zeigen
Richtige Antwort: Die Verbraucher der API als Kunden behandeln
Interne APIs profitieren auch: andere Teams sind Kunden, deren Produktivität von deinem Design abhängt.
- Warum API-Governance (Styleguide, Reviews, Linting) in einer Organisation mit vielen Teams einführen?
Antwort zeigen
Richtige Antwort: Damit alle APIs wie eine einheitliche Plattform wirken
Automatisiere, was geht (Spectral-Regeln, Prüfungen auf brechende Änderungen), und halte menschliche Reviews für Modellierungsentscheidungen.
- Wie wirken Hyrums Gesetz und „sei konservativ in dem, was du sendest“ bei der Weiterentwicklung einer API zusammen?
Antwort zeigen
Richtige Antwort: Wenig offenlegen und Garantien explizit dokumentieren
Selbst der Text von Fehlermeldungen, Standardsortierungen oder das Antwort-Timing können etwas werden, worauf Clients sich verlassen.
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 →