Usa el patrón strangler: pon una fachada delante de la capacidad, construye el servicio nuevo detrás y mueve el tráfico de forma incremental con un feature flag mientras el monolito sigue siendo el respaldo. Divide los datos al final, normalmente con escritura doble y relleno histórico hasta que el nuevo almacén sea la fuente de verdad, y mantén una fase de verificación donde ambos caminos corren y se comparan los resultados antes de borrar el código antiguo.
Por qué lo preguntan los entrevistadores
Esto pone a prueba el criterio de migración, que es la mayor parte del trabajo de un backend sénior. El entrevistador quiere pasos incrementales con vuelta atrás en cada etapa, conciencia de que dividir los datos es más difícil que dividir el código, y una definición de terminado que incluya borrar el camino antiguo. Quien describe una reescritura y un fin de semana de corte te está contando cómo ocurrió el incidente.
Cómo estructurar tu respuesta
- Empieza por una costura: enruta las llamadas por una fachada o interfaz.
- Mueve el tráfico de forma incremental detrás de un flag, con vuelta atrás barata.
- Trata la división de datos de forma explícita con escritura doble y relleno.
- Define el final como el camino antiguo eliminado, con verificación antes.
Ejemplo de respuesta
Lo primero sería crear una costura. Incluso dentro del monolito, todos los que llaman a esa capacidad pasan por una única interfaz, lo que muchas veces es un refactor que merece la pena por sí solo porque deja ver lo enredada que está de verdad la frontera. Después el servicio nuevo implementa el mismo contrato, y la fachada enruta un pequeño porcentaje de tráfico hacia él detrás de un flag, empezando por llamadas de solo lectura donde una respuesta equivocada sale barata. Lo dejo un tiempo en modo sombra, mandando la misma petición a los dos y comparando respuestas, porque eso pilla los casos límite que nadie documentó. Los datos son la parte difícil: escribo en los dos sitios, relleno el histórico, reconcilio y solo entonces hago que el nuevo almacén sea la fuente de verdad, con el monolito leyendo del servicio en vez de de las tablas compartidas. Cada paso tiene una vuelta atrás que es cambiar un flag. Y la migración no está terminada hasta que el código antiguo y sus tablas están borrados; he visto migraciones strangler atascarse al noventa por ciento y dejar dos sistemas que mantener durante años, que es peor que cualquiera de las dos opciones por separado.
¿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
- ¿Cómo gestionarías una transacción que cruzaba la frontera antigua?
- ¿Cómo comparas resultados en modo sombra sin duplicar efectos secundarios?
- ¿Qué te haría parar y revertir la migración entera?
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