
Diseño de API REST
Principios REST, versionado, paginación, filtrado, HATEOAS, códigos de estado, OpenAPI/Swagger
1¿Cuál es el principio fundamental de REST?
¿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?
¿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?
¿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.
¿Qué diferencia importante distingue una API REST de una API RPC?
¿Qué significa el principio de statelessness en REST?
+17 preguntas de entrevista
Otros temas de entrevista Go
Fundamentos de Go
Estructuras de datos en Go
Interfaces en Go
Manejo de errores
Goroutines básicas
Channels
Go Modules
Servidor HTTP
Cliente HTTP
Codificación JSON
Database/SQL
Paquete context
Testing
Patrones de concurrencia
Primitivas de sincronización
Frameworks web de Go
gRPC
Reflection
Gestión de memoria
Optimización del rendimiento
Generics
Go Design Patterns
Microservices
Seguridad y autenticación
Docker & Containerization
Kubernetes Basics
Go Avanzado
Desarrollo de CLI
Domina Go para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis