Interviewfragen zum API-Design (Junior) mit Antworten
75 Fragen fürs Vorstellungsgespräch zum API-Design (Junior) mit richtigen Antworten, Erklärungen und Links zur Dokumentation.
Diesen Test machen- 1.Was ist praktisch gesehen eine REST-API?
- 2.Welches URL-Design folgt den üblichen REST-Konventionen?
- 3.Was bedeutet „zustandslos“ für eine REST-API?
- 4.Welche HTTP-Methode sollte eine neue Ressource in einer Collection anlegen, etwa eine neue Bestellung?
- 5.Was ist der Unterschied zwischen
PUTundPATCH? - 6.Welche HTTP-Methoden sind „sicher“?
- 7.Welche Methoden sind laut HTTP-Semantik idempotent?
- 8.Was sollte
DELETE /orders/42liefern, wenn die Bestellung gelöscht wurde und nichts zurückzugeben ist? - 9.Was enthält der
Location-Header in einer Antwort201 Created? - 10.Warum sollten Ressourcennamen in URLs meist Substantive im Plural sein, etwa
/users? - 11.Was bedeutet
400 Bad Request? - 12.Was ist der Unterschied zwischen
401 Unauthorizedund403 Forbidden? - 13.Welcher Statuscode passt zu „E-Mail ist bereits registriert“ beim Anlegen eines Nutzers?
- 14.Was sagt
429 Too Many Requestsdem Client? - 15.Wann sollte eine API
5xx-Codes liefern? - 16.Was bedeutet
503 Service Unavailablemeist? - 17.Warum ist
200 OKmit{ "error": "not found" }eine schlechte Praxis? - 18.Was bedeutet
404 Not FoundfürGET /orders/999? - 19.Was sagt der Request-Header
Content-Type: application/jsondem Server? - 20.Wofür ist der Header
Acceptda? - 21.Wie sollten Datum und Uhrzeit in einer JSON-API dargestellt werden?
- 22.Warum liefert eine API große numerische IDs eventuell als Strings in JSON?
- 23.Welchen Stil für Feldnamen sollte eine JSON-API nutzen?
- 24.Wohin gehören Filter- und Sortieroptionen in einer REST-Anfrage?
- 25.Was enthält ein guter Fehler-Antwortbody?
- 26.Was ist RFC 9457 (Problem Details)?
- 27.Warum sollten Listen-Endpunkte paginiert sein?
- 28.Was ist der Unterschied zwischen Offset- und Cursor-Paginierung?
- 29.Warum sollte ein Paginierungs-Cursor für Clients opak sein?
- 30.Wie kann eine API Clients mitteilen, dass es weitere Seiten gibt?
- 31.Wie wird ein Bearer-Token üblicherweise an eine API gesendet?
- 32.Warum dürfen APIs nur über HTTPS ausgeliefert werden?
- 33.Wofür nutzt man einen API-Schlüssel typischerweise?
- 34.Worum geht es bei OAuth 2.0 vor allem?
- 35.Was steuert CORS?
- 36.Warum sollte eine API alle Eingaben validieren, auch wenn der offizielle Client das schon tut?
- 37.Was ist OpenAPI?
- 38.Was ist der Vorteil eines „Design-First“-Ansatzes für APIs?
- 39.Warum sollte eine API einen Styleguide haben?
- 40.Wofür nutzt man JSON Schema in APIs?
- 41.Welche Änderung an einer bestehenden API-Antwort ist meist rückwärtskompatibel?
- 42.Was ist ein üblicher Weg, eine REST-API zu versionieren?
- 43.Warum sollten Clients unbekannte Felder in Antworten ignorieren?
- 44.Wie sollte eine API ankündigen, dass ein Endpunkt entfernt wird?
- 45.Welche Antworten können HTTP-Caches am sichersten speichern?
- 46.Was ist ein
ETag? - 47.Warum komprimiert eine API eventuell ihre Antworten?
- 48.Was ist GraphQL?
- 49.Was ist ein Webhook?
- 50.Wofür nutzt man gRPC typischerweise?
- 51.Was ist der Unterschied zwischen APIs im REST- und im RPC-Stil?
- 52.Wann passen Server-Sent Events besser als Polling?
- 53.Was liefert
HEAD /files/report.pdf? - 54.Warum werden CORS-Preflight-Anfragen mit
OPTIONSgesendet? - 55.Wie sollte man verschachtelte Ressourcen in URLs nutzen?
- 56.Was ist ein sinnvolles Maximum für den Parameter
limiteines Listen-Endpunkts? - 57.Warum nutzt eine API eventuell einen Request-ID-Header wie
X-Request-Id? - 58.Welches Werkzeug nutzt man häufig, um API-Anfragen von Hand auszuprobieren?
- 59.Was bedeutet „Over-Fetching“?
- 60.Was bedeutet „Under-Fetching“ (oder geschwätzige API)?
- 61.Sollte eine API interne Datenbank-IDs und Tabellenstruktur direkt offenlegen?
- 62.Wie sollten boolesche Flags in API-Payloads benannt werden?
- 63.Warum sind Enums in API-Antworten heikel zu erweitern?
- 64.Was sollte eine
GET-Anfrage nie tun? - 65.Was bedeutet
Retry-After: 120in einer Antwort? - 66.Was ist das Richardson Maturity Model?
- 67.Was ist HATEOAS?
- 68.Ein Nutzer klickt doppelt auf „Bezahlen“, und der Client sendet
POST /paymentszweimal. Was ist das Risiko und eine übliche Lösung? - 69.Was bedeutet
202 Accepted? - 70.Wie kann ein Client eine mit
202 Acceptedgestartete lange Operation verfolgen? - 71.Wann ist es in Ordnung, eine Ressource mit
PUTanzulegen? - 72.Warum liefern viele APIs für Listen
{ "data": [...] }statt eines nackten JSON-Arrays? - 73.Was geben Header wie
RateLimit-Remaining(oderX-RateLimit-Remaining) Clients? - 74.Wie kann ein Client in einer REST-API mehrere Nutzer per ID in einer Anfrage holen?
- 75.Was ist ein üblicher Name eines Query-Parameters für Freitextsuche in einer Collection?