wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

1 Teoría: Métodos y Buenas Prácticas Fundamentales

Total questions: 25

Worksheet time: 13mins

Name
Class
Date
1.

Necesitas actualizar parcialmente el email de un usuario sin tocar otros campos. ¿Qué combinación ruta+método es más adecuada?

a)

PATCH /users/:userId con cuerpo parcial JSON

b)

PUT /users/:userId con todos los campos vacíos

c)

POST /users/:userId enviando solo el email

d)

GET /users/:userId pasando email por query

2.

Tu equipo sube un fichero grande y confidencial al servidor. ¿Qué método deberías proponer y por qué?

a)

POST porque envía datos extensos y puede cifrarlos

b)

GET porque el navegador lo usa por defecto

c)

PATCH porque cambia solo algunos bytes del fichero

d)

DELETE porque elimina datos temporales tras subir

3.

Debes leer un listado de usuarios filtrando por país sin modificar nada. ¿Cuál es la mejor petición?

a)

GET /users?country=ES

b)

POST /users -d { "country": "ES" }

c)

GET /users/countries/ES

d)

GET /countries/:countryId/users

4.

Te piden escoger entre PUT y PATCH para una API móvil con ancho de banda limitado cuando solo cambian dos campos. ¿Qué justificaría tu elección?

a)

PATCH porque minimiza payload y riesgos de sobrescritura

b)

PUT porque obliga a enviar la representación completa

c)

PUT porque evita problemas de idempotencia

d)

PATCH porque realiza lecturas de recursos

5.

Tienes un middleware de errores en una API. ¿Cuál es la principal ventaja de centralizar el manejo de errores en ese punto único?

a)

Evitar duplicar lógica y asegurar respuestas coherentes

b)

Reducir la latencia en todas las rutas de negocio

c)

Permitir que cada controlador defina su propio formato

d)

Eliminar la necesidad de códigos de estado HTTP

6.

Debes definir un formato estándar de error. ¿Qué conjunto mínimo aporta mayor utilidad diagnóstica y consistencia?

a)

code, error, message con descripciones claras

b)

timestamp, userAgent y locale del cliente

c)

stacktrace completo del servidor remoto

d)

endpoint interno y variables de entorno sensibes

7.

Tu API ofrece filtrado por parámetros. ¿Cuál diseño de query string facilita combinar múltiples criterios sin romper compatibilidad?

a)

Campos por parámetro con valores exactos o rangos

b)

Un único parámetro filter con JSON anidado

c)

Cabeceras personalizadas con claves opacas

d)

Body en GET con estructura multipart form

8.

Necesitas ordenar resultados por fecha. ¿Qué convención reduce ambigüedad y favorece clientes diversos?

a)

Usar sort=fecha y order=1 o -1

b)

Enviar un booleano asc=true o false

c)

Deducir el orden según la zona horaria

d)

Codificar el orden en el path dinámico

9.

Tu endpoint devuelve muchos registros. Debes elegir paginado para minimizar coste del servidor y cursar saltos arbitrarios. ¿Qué técnica eliges y por qué?

a)

Offset y limit por su simplicidad y saltos directos

b)

Cursor basado en tokens por su aleatoriedad

c)

Paginado por páginas por su estilo humano

d)

Streaming continuo por su control total del cliente

10.

Un cliente reclama discrepancias al reordenar y paginar simultáneamente. ¿Qué práctica mitiga resultados inconsistentes entre páginas?

a)

Ordenar por un campo estable e indexado

b)

Desactivar el cache del navegador siempre

c)

Incrementar el tamaño máximo de página

d)

Forzar orden aleatorio en cada consulta

11.

Un error 404 se produce por ruta inexistente. ¿Qué respuesta estandarizada mejora la depuración sin filtrar detalles internos?

a)

code:404, error:Not Found, message:Path not found

b)

stack:full trace, env:prod, debug:true

c)

sql:error relation missing, schema name

d)

path:/srv/app, reason:file system missing

12.

Quieres guiar a clientes por los siguientes pasos de navegación en recursos paginados. ¿Qué estándar añade enlaces relacionados en la propia respuesta?

a)

HATEOAS con hipervínculos de navegación

b)

OAuth con scopes y permisos

c)

CORS con orígenes permitidos

d)

ETag con validación condicional

13.

Al implementar filtrado, un equipo propone devolver todos los datos y filtrar en el cliente. ¿Cuál es el principal problema de esa propuesta?

a)

Aumenta transferencia y carga del servidor

b)

Mejora el rendimiento y la caché pública

c)

Reduce la consistencia del esquema de errores

d)

Evita la necesidad de parámetros de consulta

14.

Debes impedir que un token robado se use indefinidamente. ¿Qué diseño aumenta la seguridad sin cambiar credenciales?

a)

Tokens sin expiración para evitar cortes

b)

Tokens con expiración y refresco controlado

c)

Contraseñas en cada cabecera de petición

d)

Firmas de respuesta sin verificación

15.

Tienes que diseñar un microservicio que almacene usuarios en memoria para pruebas. ¿Qué decisión minimiza coste de arranque y facilita pruebas rápidas sin base de datos?

a)

Precargar algunos usuarios en el arranque con loaders

b)

Implementar un clúster Redis para cache distribuida

c)

Usar un ORM conectado a PostgreSQL desde inicio

d)

Cargar usuarios aleatorios desde una API pública

16.

En una revisión de código detectas que el endpoint devuelve 200 OK cuando un recurso no existe. ¿Qué cambio propones para un uso correcto de códigos HTTP?

a)

Devolver 404 Not Found cuando el id no existe

b)

Mantener 200 OK pero incluir un campo error

c)

Usar 204 No Content para cualquier error

d)

Cambiar a 301 Moved Permanently con redirección

17.

Un endpoint GET /usuarios/{id} devuelve 500 al recibir un id inexistente. ¿Qué plan propones?

a)

Validar entrada y devolver 404 con mensaje claro

b)

Capturar error y seguir devolviendo 500 genérico

c)

Convertir GET en POST para evitar errores

d)

Retornar 204 sin cuerpo en todos los casos

18.

En una auditoría, debes evidenciar uso correcto de códigos HTTP. ¿Qué mapa decisión aplicas ante creación exitosa?

a)

Responder 201 Created con Location del recurso

b)

Responder 200 OK sin cabeceras adicionales

c)

Responder 202 Accepted sin seguimiento

d)

Responder 409 Conflict con cuerpo vacío

19.

Para comparar rendimiento entre REST y GraphQL en tu caso, ¿qué experimento diseñas?

a)

Pruebas con métricas de latencia y payload real

b)

Encuesta al equipo sobre preferencias personales

c)

Revisión de memes en redes de desarrolladores

d)

Lectura de documentación sin medir escenarios

20.

Diseñas manejo de errores uniforme. ¿Qué respuesta recomendar al enviar JSON con detalles?

a)

Estructura con code, message y trace opcional

b)

Solo enviar el stack completo siempre

c)

Responder texto plano sin campos consistentes

d)

Usar HTML con estilos incrustados

21.

Tu README debe explicar cómo ejecutar tests. ¿Qué instrucción mínima incluyes?

a)

Comando npm test y requisitos previos

b)

Historia del estándar HTTP completa

c)

Biografía del autor del repositorio

d)

Listado de todos los commits del año

22.

Para escoger GraphQL, ¿qué contexto lo justifica mejor en una app cliente pesada?

a)

Necesidad de obtener múltiples recursos en una consulta

b)

Deseo de reemplazar HTTP por WebRTC

c)

Obligación de evitar cualquier esquema tipado

d)

Imposibilidad de usar autenticación

23.

En Node.js, integras validación de entrada. ¿Qué librería o enfoque respalda calidad sin sobreacoplar?

a)

Schemas con Joi o Zod en capa de borde

b)

Validar dentro de consultas SQL directamente

c)

Confiar en que el cliente envía datos limpios

d)

Reescribir validación en cada controlador

24.

Al diseñar una API REST, ¿qué método HTTP es más adecuado para eliminar un recurso específico?

a)

GET /resource/{id}/remove

b)

PATCH /resource/{id}

c)

POST /resource/{id}/delete

d)

DELETE /resource/{id}

25.

Al diseñar una API RESTful, ¿cuál es la convención recomendada para nombrar los recursos?

a)

Usar sustantivos en plural para representar colecciones

b)

Usar verbos para describir acciones sobre los recursos

c)

Usar nombres de clases en mayúsculas

d)

Usar abreviaturas para reducir la longitud de las URLs