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