# REST-API-Design (Go) > REST-Prinzipien, Versionierung, Paginierung, Filterung, HATEOAS, Statuscodes, OpenAPI/Swagger - 20 Interview-Fragen - Mid-Level - [Interview-Fragen: Go](https://sharpskill.dev/de/technologies/go/interviewfragen.md) ## 1. Was ist das grundlegende Prinzip von REST? **Antwort** REST basiert auf dem Prinzip, Ressourcen darzustellen, die über eindeutige URIs zugänglich sind. Jede Ressource (Benutzer, Produkt, Bestellung) hat eine URI und kann über die HTTP-Standardverben (GET, POST, PUT, DELETE) manipuliert werden. Dieses ressourcenorientierte Paradigma ermöglicht eine skalierbare und entkoppelte Architektur, bei der der Server keinen Client-Sitzungszustand speichert. ## 2. Welche HTTP-Methode sollte für eine idempotente vollständige Aktualisierung einer Ressource verwendet werden? **Antwort** PUT ist idempotent und ersetzt die Ressource vollständig. Der mehrfache Aufruf von PUT mit denselben Daten liefert dasselbe Ergebnis wie ein einzelner Aufruf. Im Gegensatz dazu ist POST nicht idempotent (würde mehrere Ressourcen erstellen), PATCH führt Teilaktualisierungen durch und DELETE entfernt die Ressource. Die Idempotenz von PUT garantiert die Wiederholungssicherheit bei Netzwerkfehlern. ## 3. Welcher HTTP-Code sollte nach der erfolgreichen Erstellung einer neuen Ressource zurückgegeben werden? **Antwort** Der Code 201 Created zeigt an, dass eine Ressource erfolgreich erstellt wurde. Er wird von einem Location-Header begleitet, der auf die URI der neuen Ressource verweist. Der Code 200 OK ist für eine Erstellung zu generisch, 204 No Content wird verwendet, wenn es keinen Antworttext gibt, und 202 Accepted signalisiert eine noch nicht abgeschlossene asynchrone Verarbeitung. ## 17 weitere Fragen verfügbar - Welcher wesentliche Unterschied unterscheidet eine REST-API von einer RPC-API? - Was bedeutet das Statelessness-Prinzip in REST? Kostenlos registrieren: https://sharpskill.dev/de/login ## Weitere Go-Interviewthemen - [Go-Grundlagen](https://sharpskill.dev/de/technologies/go/interviewfragen/go-basics.md): 25 Fragen, Junior - [Go-Datenstrukturen](https://sharpskill.dev/de/technologies/go/interviewfragen/go-data-structures.md): 20 Fragen, Junior - [Go-Interfaces](https://sharpskill.dev/de/technologies/go/interviewfragen/go-interfaces.md): 18 Fragen, Junior - [Fehlerbehandlung](https://sharpskill.dev/de/technologies/go/interviewfragen/error-handling.md): 20 Fragen, Junior - [Goroutines-Grundlagen](https://sharpskill.dev/de/technologies/go/interviewfragen/goroutines-basics.md): 20 Fragen, Junior - [Channels](https://sharpskill.dev/de/technologies/go/interviewfragen/channels.md): 22 Fragen, Junior - [Go Modules](https://sharpskill.dev/de/technologies/go/interviewfragen/go-modules.md): 18 Fragen, Mid-Level - [HTTP-Server](https://sharpskill.dev/de/technologies/go/interviewfragen/http-server.md): 24 Fragen, Mid-Level - [HTTP-Client](https://sharpskill.dev/de/technologies/go/interviewfragen/http-client.md): 18 Fragen, Mid-Level - [JSON-Kodierung](https://sharpskill.dev/de/technologies/go/interviewfragen/json-encoding.md): 20 Fragen, Mid-Level - [Database/SQL](https://sharpskill.dev/de/technologies/go/interviewfragen/database-sql.md): 22 Fragen, Mid-Level - [context-Paket](https://sharpskill.dev/de/technologies/go/interviewfragen/context-package.md): 20 Fragen, Mid-Level - [Testing](https://sharpskill.dev/de/technologies/go/interviewfragen/testing.md): 22 Fragen, Mid-Level - [Concurrency-Patterns](https://sharpskill.dev/de/technologies/go/interviewfragen/concurrency-patterns.md): 24 Fragen, Mid-Level - [Synchronisationsprimitive](https://sharpskill.dev/de/technologies/go/interviewfragen/sync-primitives.md): 22 Fragen, Mid-Level - [Go-Web-Frameworks](https://sharpskill.dev/de/technologies/go/interviewfragen/go-web-frameworks.md): 20 Fragen, Mid-Level - [gRPC](https://sharpskill.dev/de/technologies/go/interviewfragen/grpc.md): 22 Fragen, Mid-Level - [Reflection](https://sharpskill.dev/de/technologies/go/interviewfragen/reflection.md): 20 Fragen, Senior - [Speicherverwaltung](https://sharpskill.dev/de/technologies/go/interviewfragen/memory-management.md): 24 Fragen, Senior - [Performance-Optimierung](https://sharpskill.dev/de/technologies/go/interviewfragen/performance-optimization.md): 22 Fragen, Senior - [Generics](https://sharpskill.dev/de/technologies/go/interviewfragen/generics.md): 20 Fragen, Senior - [Go Design Patterns](https://sharpskill.dev/de/technologies/go/interviewfragen/design-patterns.md): 24 Fragen, Senior - [Microservices](https://sharpskill.dev/de/technologies/go/interviewfragen/microservices.md): 24 Fragen, Senior - [Sicherheit und Authentifizierung](https://sharpskill.dev/de/technologies/go/interviewfragen/security-authentication.md): 24 Fragen, Senior - [Docker & Containerization](https://sharpskill.dev/de/technologies/go/interviewfragen/docker-containerization.md): 20 Fragen, Senior - [Kubernetes Basics](https://sharpskill.dev/de/technologies/go/interviewfragen/kubernetes-basics.md): 22 Fragen, Senior - [Fortgeschrittenes Go](https://sharpskill.dev/de/technologies/go/interviewfragen/advanced-go.md): 20 Fragen, Senior - [CLI-Entwicklung](https://sharpskill.dev/de/technologies/go/interviewfragen/cli-development.md): 20 Fragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/de/technologies/go/interviewfragen/rest-api-design