# Diseño de API REST (Go) > Principios REST, versionado, paginación, filtrado, HATEOAS, códigos de estado, OpenAPI/Swagger - 20 preguntas de entrevista - Mid-Level - [Preguntas de entrevista: Go](https://sharpskill.dev/es/technologies/go/preguntas-entrevista.md) ## 1. ¿Cuál es el principio fundamental de REST? **Respuesta** REST se basa en el principio de representar recursos accesibles a través de URIs únicas. Cada recurso (usuario, producto, pedido) tiene una URI y puede manipularse mediante los verbos HTTP estándar (GET, POST, PUT, DELETE). Este paradigma orientado a recursos permite una arquitectura escalable y desacoplada donde el servidor no almacena el estado de la sesión del cliente. ## 2. ¿Qué método HTTP usar para una operación idempotente de actualización completa de un recurso? **Respuesta** PUT es idempotente y reemplaza completamente el recurso. Llamar a PUT varias veces con los mismos datos produce el mismo resultado que una sola llamada. En cambio, POST no es idempotente (crearía varios recursos), PATCH realiza actualizaciones parciales y DELETE elimina el recurso. La idempotencia de PUT garantiza la seguridad de los reintentos en caso de errores de red. ## 3. ¿Qué código HTTP devolver tras la creación exitosa de un nuevo recurso? **Respuesta** El código 201 Created indica que un recurso se ha creado con éxito. Va acompañado de un header Location que apunta a la URI del nuevo recurso. El código 200 OK es demasiado genérico para una creación, 204 No Content se usa cuando no hay cuerpo de respuesta, y 202 Accepted señala un procesamiento asíncrono aún no completado. ## 17 preguntas más disponibles - ¿Qué diferencia importante distingue una API REST de una API RPC? - ¿Qué significa el principio de statelessness en REST? Regístrate gratis: https://sharpskill.dev/es/login ## Otros temas de entrevista Go - [Fundamentos de Go](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/go-basics.md): 25 preguntas, Junior - [Estructuras de datos en Go](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/go-data-structures.md): 20 preguntas, Junior - [Interfaces en Go](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/go-interfaces.md): 18 preguntas, Junior - [Manejo de errores](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/error-handling.md): 20 preguntas, Junior - [Goroutines básicas](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/goroutines-basics.md): 20 preguntas, Junior - [Channels](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/channels.md): 22 preguntas, Junior - [Go Modules](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/go-modules.md): 18 preguntas, Mid-Level - [Servidor HTTP](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/http-server.md): 24 preguntas, Mid-Level - [Cliente HTTP](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/http-client.md): 18 preguntas, Mid-Level - [Codificación JSON](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/json-encoding.md): 20 preguntas, Mid-Level - [Database/SQL](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/database-sql.md): 22 preguntas, Mid-Level - [Paquete context](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/context-package.md): 20 preguntas, Mid-Level - [Testing](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/testing.md): 22 preguntas, Mid-Level - [Patrones de concurrencia](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/concurrency-patterns.md): 24 preguntas, Mid-Level - [Primitivas de sincronización](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/sync-primitives.md): 22 preguntas, Mid-Level - [Frameworks web de Go](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/go-web-frameworks.md): 20 preguntas, Mid-Level - [gRPC](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/grpc.md): 22 preguntas, Mid-Level - [Reflection](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/reflection.md): 20 preguntas, Senior - [Gestión de memoria](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/memory-management.md): 24 preguntas, Senior - [Optimización del rendimiento](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/performance-optimization.md): 22 preguntas, Senior - [Generics](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/generics.md): 20 preguntas, Senior - [Go Design Patterns](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/design-patterns.md): 24 preguntas, Senior - [Microservices](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/microservices.md): 24 preguntas, Senior - [Seguridad y autenticación](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/security-authentication.md): 24 preguntas, Senior - [Docker & Containerization](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/docker-containerization.md): 20 preguntas, Senior - [Kubernetes Basics](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/kubernetes-basics.md): 22 preguntas, Senior - [Go Avanzado](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/advanced-go.md): 20 preguntas, Senior - [Desarrollo de CLI](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/cli-development.md): 20 preguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/es/technologies/go/preguntas-entrevista/rest-api-design