# REST API-ontwerp (Go) > REST-principes, versioning, paginatie, filtering, HATEOAS, statuscodes, OpenAPI/Swagger - 20 gespreksvragen - Mid-Level - [Gespreksvragen: Go](https://sharpskill.dev/nl/technologies/go/sollicitatievragen.md) ## 1. Wat is het fundamentele principe van REST? **Antwoord** REST is gebaseerd op het principe van het representeren van resources die toegankelijk zijn via unieke URI's. Elke resource (gebruiker, product, bestelling) heeft een URI en kan worden gemanipuleerd via de standaard HTTP-werkwoorden (GET, POST, PUT, DELETE). Dit resource-georiënteerde paradigma maakt een schaalbare en ontkoppelde architectuur mogelijk waarbij de server geen sessiestatus van de client opslaat. ## 2. Welke HTTP-methode moet worden gebruikt voor een idempotente volledige update van een resource? **Antwoord** PUT is idempotent en vervangt de resource volledig. PUT meerdere keren aanroepen met dezelfde gegevens levert hetzelfde resultaat op als één aanroep. POST is daarentegen niet idempotent (zou meerdere resources aanmaken), PATCH voert gedeeltelijke updates uit en DELETE verwijdert de resource. De idempotentie van PUT garandeert retry-veiligheid bij netwerkfouten. ## 3. Welke HTTP-code moet worden teruggegeven na het succesvol aanmaken van een nieuwe resource? **Antwoord** De code 201 Created geeft aan dat een resource succesvol is aangemaakt. Deze gaat vergezeld van een Location-header die naar de URI van de nieuwe resource verwijst. De code 200 OK is te generiek voor een creatie, 204 No Content wordt gebruikt wanneer er geen response body is, en 202 Accepted signaleert een nog niet voltooide asynchrone verwerking. ## Nog 17 vragen beschikbaar - Welk belangrijk verschil onderscheidt een REST API van een RPC API? - Wat betekent het statelessness-principe in REST? Meld je gratis aan: https://sharpskill.dev/nl/login ## Andere Go-sollicitatieonderwerpen - [Go-basis](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-basics.md): 25 vragen, Junior - [Go-datastructuren](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-data-structures.md): 20 vragen, Junior - [Go-interfaces](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-interfaces.md): 18 vragen, Junior - [Foutafhandeling](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/error-handling.md): 20 vragen, Junior - [Goroutines-basis](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/goroutines-basics.md): 20 vragen, Junior - [Channels](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/channels.md): 22 vragen, Junior - [Go Modules](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-modules.md): 18 vragen, Mid-Level - [HTTP-server](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/http-server.md): 24 vragen, Mid-Level - [HTTP-client](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/http-client.md): 18 vragen, Mid-Level - [JSON-codering](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/json-encoding.md): 20 vragen, Mid-Level - [Database/SQL](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/database-sql.md): 22 vragen, Mid-Level - [context-pakket](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/context-package.md): 20 vragen, Mid-Level - [Testing](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/testing.md): 22 vragen, Mid-Level - [Concurrency-patronen](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/concurrency-patterns.md): 24 vragen, Mid-Level - [Synchronisatieprimitieven](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/sync-primitives.md): 22 vragen, Mid-Level - [Go-webframeworks](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-web-frameworks.md): 20 vragen, Mid-Level - [gRPC](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/grpc.md): 22 vragen, Mid-Level - [Reflection](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/reflection.md): 20 vragen, Senior - [Geheugenbeheer](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/memory-management.md): 24 vragen, Senior - [Prestatie-optimalisatie](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/performance-optimization.md): 22 vragen, Senior - [Generics](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/generics.md): 20 vragen, Senior - [Go Design Patterns](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/design-patterns.md): 24 vragen, Senior - [Microservices](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/microservices.md): 24 vragen, Senior - [Beveiliging en authenticatie](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/security-authentication.md): 24 vragen, Senior - [Docker & Containerization](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/docker-containerization.md): 20 vragen, Senior - [Kubernetes Basics](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/kubernetes-basics.md): 22 vragen, Senior - [Geavanceerd Go](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/advanced-go.md): 20 vragen, Senior - [CLI-ontwikkeling](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/cli-development.md): 20 vragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/nl/technologies/go/sollicitatievragen/rest-api-design