Desarrollador Full-stack: pregunta de entrevista

¿Cómo mantienes alineados los contratos frontend y backend?

Mantén los contratos alineados con un esquema versionado como OpenAPI, genera o valida clientes, añade pruebas de contrato de consumidor y proveedor y despliega cambios compatibles antes de retirar campos antiguos.

Respuesta directa

Qué debe cubrir una buena respuesta

Cómo funciona

El contrato es un único artefacto, normalmente un esquema OpenAPI o GraphQL, propiedad del backend y versionado en el repositorio, del que el frontend genera sus tipos de cliente para que renombrar un campo falle en compilación y no en una sesión de usuario. Las pruebas de contrato dirigidas por el consumidor registran lo que usa cada frontend y corren contra el proveedor en CI, así que el backend no puede quitar ni cambiar esos campos sin romper la build. Los cambios se despliegan en orden expandir y luego contraer: añadir el campo nuevo, migrar consumidores y eliminar el viejo cuando su uso llega a cero.

Ejemplo

La app web genera tipos TypeScript desde openapi.json en cada build; cuando el backend renombró customer_name a customerName, la build del frontend falló de inmediato en lugar de mostrar nombres vacíos en producción. Una prueba Pact de la app móvil afirma que GET /orders devuelve status y total, así que un PR del backend que elimina total hace fallar el job de verificación del proveedor.

Errores frecuentes

  • Escribir a mano tipos del frontend que se desvían de las respuestas reales.
  • Desplegar un cambio incompatible del backend y el del frontend en el mismo momento y depender de que ambos salgan bien.
  • Tratar el servidor simulado como el contrato y no verificarlo nunca contra el proveedor real.

Una estructura útil para responder

Responde desde tu propia experiencia.

No memorices un guion: usa solo ejemplos que puedas explicar con honestidad en preguntas posteriores.

Practica esta respuesta con MiraHint

Abre el espacio de trabajo de escritorio y ensaya una respuesta clara con tus propias palabras.

Descargar MiraHint
Preguntas de entrevista para Desarrollador Full-stack