Primero comprueba si de verdad tiene que romper: añadir campos y aceptar parámetros opcionales es compatible hacia atrás si los clientes ignoran los campos desconocidos. Si de verdad rompe, versiona de forma explícita, normalmente con un prefijo de ruta para las versiones mayores, mantén ambas versiones en paralelo contra un único modelo interno, publica un calendario de deprecación con cabeceras y métricas por versión, y elimina la antigua solo cuando su tráfico sea prácticamente cero.
Por qué lo preguntan los entrevistadores
Es una pregunta de criterio sobre compatibilidad hacia atrás y disciplina operativa. El entrevistador quiere oír que evitas los cambios incompatibles cuando puedes, que sabes definir qué cuenta como incompatible y que de verdad has retirado un endpoint, lo que exige saber quién lo llama. Las respuestas que se quedan en poner v2 en la URL se saltan la parte difícil, que es la migración y la eliminación.
Cómo estructurar tu respuesta
- Separa los cambios aditivos de los que rompen de verdad.
- Elige un mecanismo de versionado y justifícalo brevemente.
- Describe cómo conviven ambas versiones sin duplicar lógica.
- Expón el proceso de deprecación y eliminación con datos.
Ejemplo de respuesta
Mi primer movimiento es comprobar si hace falta romper. Añadir un campo, añadir un parámetro opcional, añadir un valor de enum si los clientes toleran lo desconocido, todo eso sale sin subir de versión. Romper significa quitar o renombrar un campo, endurecer la validación o cambiar el significado de un valor existente. Cuando de verdad rompe, uso una versión mayor en la ruta, porque se ve en los logs y es fácil de razonar para los clientes, y mantengo la versión antigua como una capa fina de traducción sobre el mismo modelo interno para no mantener dos implementaciones. Después viene lo que de verdad lleva tiempo: instrumentar peticiones por versión y por cliente, publicar una fecha de retirada en una cabecera de respuesta y en la documentación, y contactar directamente con quienes más llaman. En la última que hice, el tráfico a v1 bajó a un puñado de peticiones al día desde dos integraciones, hablamos con ellos y fue seguro eliminarla tres meses después. Sin métricas por cliente nunca llegas a borrar nada.
¿Tienes esta entrevista a la vuelta de la esquina? GhostPilot escucha tu llamada en vivo, detecta la pregunta en cuanto la hacen y pone una respuesta estructurada en tu pantalla en tiempo real. Pruébalo en tu próxima entrevista de práctica, o coge un Session Pass de $29, sin suscripción, para la de verdad.
Mira cómo funcionaPreguntas de seguimiento que puedes esperar
- ¿Qué cambios consideras seguros sin subir de versión?
- ¿Cómo versionas eventos o payloads de mensajes en vez de HTTP?
- ¿Qué haces con un cliente grande que se niega a migrar?
Más preguntas para Desarrollador backend
Tu entrevistador hará su propia versión de esta. Pega la descripción real del puesto en el Question Predictor gratuito y obtén las 20 preguntas que ese puesto tiene más probabilidades de hacerte, con lo que cada una busca en realidad.
Predecir mis preguntas