# Design d'API REST (Go) > REST principles, versioning, pagination, filtering, HATEOAS, status codes, OpenAPI/Swagger - 20 questions d'entretien - Confirmé - [Questions d'entretien: Go](https://sharpskill.dev/fr/technologies/go/questions-entretien.md) ## 1. Quel est le principe fondamental de REST ? **Réponse** REST repose sur le principe de représentation de ressources accessibles via des URIs uniques. Chaque ressource (utilisateur, produit, commande) possède une URI et peut être manipulée via les verbes HTTP standards (GET, POST, PUT, DELETE). Ce paradigme orienté ressources permet une architecture scalable et découplée où le serveur ne stocke pas d'état de session client. ## 2. Quelle méthode HTTP utiliser pour une opération idempotente de mise à jour complète d'une ressource ? **Réponse** PUT est idempotent et remplace intégralement la ressource. Appeler PUT plusieurs fois avec les mêmes données produit le même résultat qu'un seul appel. En revanche, POST n'est pas idempotent (créerait plusieurs ressources), PATCH fait des mises à jour partielles, et DELETE supprime la ressource. L'idempotence de PUT garantit la sécurité des retries en cas d'erreur réseau. ## 3. Quel code HTTP retourner après la création réussie d'une nouvelle ressource ? **Réponse** Le code 201 Created indique qu'une ressource a été créée avec succès. Il est accompagné d'un header Location pointant vers l'URI de la nouvelle ressource. Le code 200 OK est trop générique pour une création, 204 No Content s'utilise quand il n'y a pas de corps de réponse, et 202 Accepted signale un traitement asynchrone non encore terminé. ## 17 questions supplémentaires disponibles - Quelle différence majeure distingue une API REST d'une API RPC ? - Que signifie le principe de statelessness dans REST ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien Go - [Les bases de Go](https://sharpskill.dev/fr/technologies/go/questions-entretien/go-basics.md): 25 questions, Junior - [Structures de données Go](https://sharpskill.dev/fr/technologies/go/questions-entretien/go-data-structures.md): 20 questions, Junior - [Interfaces Go](https://sharpskill.dev/fr/technologies/go/questions-entretien/go-interfaces.md): 18 questions, Junior - [Gestion des erreurs](https://sharpskill.dev/fr/technologies/go/questions-entretien/error-handling.md): 20 questions, Junior - [Goroutines basiques](https://sharpskill.dev/fr/technologies/go/questions-entretien/goroutines-basics.md): 20 questions, Junior - [Channels](https://sharpskill.dev/fr/technologies/go/questions-entretien/channels.md): 22 questions, Junior - [Go Modules](https://sharpskill.dev/fr/technologies/go/questions-entretien/go-modules.md): 18 questions, Confirmé - [Serveur HTTP](https://sharpskill.dev/fr/technologies/go/questions-entretien/http-server.md): 24 questions, Confirmé - [Client HTTP](https://sharpskill.dev/fr/technologies/go/questions-entretien/http-client.md): 18 questions, Confirmé - [Encodage JSON](https://sharpskill.dev/fr/technologies/go/questions-entretien/json-encoding.md): 20 questions, Confirmé - [Database/SQL](https://sharpskill.dev/fr/technologies/go/questions-entretien/database-sql.md): 22 questions, Confirmé - [Package context](https://sharpskill.dev/fr/technologies/go/questions-entretien/context-package.md): 20 questions, Confirmé - [Testing](https://sharpskill.dev/fr/technologies/go/questions-entretien/testing.md): 22 questions, Confirmé - [Patterns de concurrence](https://sharpskill.dev/fr/technologies/go/questions-entretien/concurrency-patterns.md): 24 questions, Confirmé - [Primitives de synchronisation](https://sharpskill.dev/fr/technologies/go/questions-entretien/sync-primitives.md): 22 questions, Confirmé - [Frameworks web Go](https://sharpskill.dev/fr/technologies/go/questions-entretien/go-web-frameworks.md): 20 questions, Confirmé - [gRPC](https://sharpskill.dev/fr/technologies/go/questions-entretien/grpc.md): 22 questions, Confirmé - [Reflection](https://sharpskill.dev/fr/technologies/go/questions-entretien/reflection.md): 20 questions, Senior - [Gestion mémoire](https://sharpskill.dev/fr/technologies/go/questions-entretien/memory-management.md): 24 questions, Senior - [Optimisation des performances](https://sharpskill.dev/fr/technologies/go/questions-entretien/performance-optimization.md): 22 questions, Senior - [Generics](https://sharpskill.dev/fr/technologies/go/questions-entretien/generics.md): 20 questions, Senior - [Design Patterns Go](https://sharpskill.dev/fr/technologies/go/questions-entretien/design-patterns.md): 24 questions, Senior - [Microservices](https://sharpskill.dev/fr/technologies/go/questions-entretien/microservices.md): 24 questions, Senior - [Sécurité & Authentication](https://sharpskill.dev/fr/technologies/go/questions-entretien/security-authentication.md): 24 questions, Senior - [Docker & Containerization](https://sharpskill.dev/fr/technologies/go/questions-entretien/docker-containerization.md): 20 questions, Senior - [Kubernetes Basics](https://sharpskill.dev/fr/technologies/go/questions-entretien/kubernetes-basics.md): 22 questions, Senior - [Go Avancé](https://sharpskill.dev/fr/technologies/go/questions-entretien/advanced-go.md): 20 questions, Senior - [Développement CLI](https://sharpskill.dev/fr/technologies/go/questions-entretien/cli-development.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/go/questions-entretien/rest-api-design