Pregunta de entrevista para Ingeniero de datos

Necesitas rellenar dos años de histórico después de arreglar un bug de transformación. ¿Cómo lo abordas?

Qué evalúa el entrevistador, cómo estructurar tu respuesta y un ejemplo hablado que puedes adaptar.

Respuesta rápida

Rellena primero en un destino aparte, valida contra la tabla existente y luego intercambia. Procesa por trozos por partición en lugar de un único job enorme, ejecútalos con concurrencia acotada para no ahogar las cargas de producción, y haz cada trozo idempotente para poder reintentar en el sitio. Sigue el progreso de forma explícita, y cuenta con que los atributos de dimensión y los datos de origen pueden haber cambiado desde entonces.

Por qué lo preguntan los entrevistadores

Los rellenos históricos son un rito de paso y una forma habitual de provocar un segundo incidente. Los entrevistadores quieren trozos, aislamiento de recursos respecto a producción y validación antes del intercambio. También están tanteando si reconoces que recalcular el histórico no siempre es reproducible, porque dimensiones, tipos de cambio y registros de origen pueden haber cambiado por debajo.

Cómo estructurar tu respuesta

  • Escribe en una tabla sombra para que producción quede intacta.
  • Trocea por partición y acota la concurrencia para proteger las cargas en vivo.
  • Haz cada trozo idempotente y reintentable de forma independiente.
  • Valida reconciliando contra agregados que ya se sepan buenos.
  • Intercambia de forma atómica y guarda la tabla antigua durante una ventana de rollback.

Ejemplo de respuesta

Ejemplo hablado, en primera persona

Nunca relleno en el sitio. Construyo en una tabla sombra, valido y luego intercambio con un rename atómico o moviendo el puntero de una vista, guardando la antigua una semana por si alguien detecta una discrepancia. La ejecución en sí se trocea por partición, normalmente mensual o semanal según el volumen, con quizá cuatro corriendo a la vez, porque la forma más rápida de provocar un segundo incidente es saturar el warehouse y reventar todos los jobs programados a la vez. También lo ejecuto en un warehouse o grupo de recursos aparte cuando la plataforma lo permite. La validación es la parte que la gente hace con prisas. Elijo un puñado de agregados en los que finanzas ya confía, ingresos por mes por ejemplo, y comparo lo viejo con lo nuevo, esperando diferencias solo donde aplicaba el bug. Si cambia un mes que no debería, el arreglo está mal. La otra cosa que señalo pronto es que el histórico no siempre es reproducible: si la dimensión es de tipo 1 y se sobrescribió, recalcular el pasado te da los atributos de hoy, no los históricos.

¿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 funciona

Preguntas de seguimiento que puedes esperar

  • ¿Cómo evitas que un relleno histórico ahogue tus cargas de producción?
  • ¿Y si el sistema origen ya no conserva los datos crudos?
  • ¿Cómo comunicarías a los interesados un cambio en los números históricos?

Más preguntas para Ingeniero de datos

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

Ensaya las preguntas difíciles antes de que te las hagan

Practica con un copiloto en vivo y entra preparado. Un Session Pass de $29 te lleva a través de la entrevista sin suscripción y sin ataduras.

Consigue GhostPilot