Modeling & SQL
La entrevista es un intercambio. No esperamos respuestas perfectas, sino claridad de razonamiento, buenas elecciones y una actitud constructiva. Aquí tienes consejos valiosos para que te vaya bien:
-
Qué esperamos:
En una entrevista de una hora de duración, usted participará en un estudio de caso en vivo sobre SQL y modelado de datos. Queremos conocer su experiencia y ver cómo aplica sus conocimientos en el día a día.
-
Cómo prepararse – Modeling & SQL
- Recuerde la arquitectura de datos: Piense sobre las diferentes etapas del ciclo de vida de los datos, desde la ingesta hasta el consumo final. Considere cómo las herramientas se conectan y los propósitos de cada capa (bronze, silver, gold).
- Piense en escenarios de datos diversos: Considere cómo usted manejaría diferentes tipos de ingesta (APIs, bases de datos relacionales, eventos en tiempo real) y cómo garantizaría la resiliencia y escalabilidad de las soluciones.
- Herramientas y sus aplicaciones: Reflexione sobre las herramientas que usted conoce para transformación y modelado de datos, orquestación y gobernanza. Piense en los pros y contras de cada una y en cómo funcionan internamente.
- Calidad, monitoreo y seguridad: Revise las prácticas esenciales para garantizar la calidad de los datos, identificar y resolver cuellos de botella de rendimiento, y cómo usted abordaría aspectos de seguridad y cumplimiento (compliance) en una arquitectura de datos.
- Comunicación de arquitectura: Esté preparado para explicar sus decisiones técnicas de forma clara y objetiva, inclusive para públicos no técnicos.
- Integración y evolución: Piense en cómo los pipelines de datos pueden integrarse con otras áreas, como Data Science (MLOps), y cómo usted visualiza la evolución de una arquitectura a medio y largo plazo.
- Gestión de costos y resiliencia: Considere cómo usted optimizaría costos en un ambiente de datos y cómo diseñaría sistemas escalables y resilientes a fallas.
- Trade-Offs: Preguntas de diseño de sistema y arquitectura son, por naturaleza, abiertas. Esté listo(a) para discutir múltiples abordajes posibles y sus trade-offs (compensaciones/compromisos) con su entrevistador.
- Evite el exceso de ingeniería: Intentar cubrir todos los casos extremos desde el inicio puede llevar a sistemas muy complejos. Concéntrese en proporcionar soluciones simples, discuta sus limitaciones con el entrevistador y, en seguida, mejórelas conforme la necesidad.
-
📌 Checklist – Modeling & SQL
¿Quiere asegurarse de que no olvidó nada? Use esta lista de verificación para guiar su enfoque:
✅ Repasé las principales funciones de SQL
✅ Consigo hacer preguntas relevantes para recopilar más información.
✅ Conozco los tipos de modelado de datos y sé cuándo usarlos.
✅ Entiendo conceptos de tablas de hechos y dimensiones.
✅ Sé cómo validar si mi modelo cumple con los requisitos de negocio.
✅ Consigo pensar en la flexibilidad y evolución de un modelo. -
📑Materiales de apoyo – Modeling & SQL
- Entrene sus habilidades en SQL y recuerde las principales funciones;
- Entrene con la herramienta utilizada para la entrevista;
- The Data Warehouse Toolkit – Ralph Kimball
- Fundamentals of Data Engineering – Joe Reis and Matt Housley
Coding
La entrevista es un intercambio. No esperamos respuestas perfectas, sino claridad de razonamiento, buenas elecciones y una actitud constructiva. Aquí tienes consejos valiosos para que te vaya bien:
-
Qué esperamos:
En una entrevista de aproximadamente una hora de duración, usted necesitará usar algoritmos y estructuras de datos para resolver uno o más problemas de programación. Con base en su desempeño, usted podrá avanzar a la siguiente etapa.
-
Cómo prepararse – Coding
- Lenguajes de Programación: Esperamos que usted se sienta cómodo con Python. Debe conocer el Diseño Orientado a Objetos y saber cómo probar su código.
- Estructuras de Datos: Busque familiarizarse con arrays, listas enlazadas, pilas, colas, conjuntos (sets), mapas (maps), árboles y grafos. Debe saber cómo usarlos en su lenguaje de programación de elección, así como los algoritmos que combinan bien con estas estructuras.
- Complejidad: Esperamos que usted sea capaz de razonar sobre la complejidad de tiempo y espacio de un algoritmo, y cómo puede mejorarla. También debe estar familiarizado(a) con la notación Big-O ($O(n)$).
- Clasificación (Sorting): Tenga una idea básica de los algoritmos de clasificación comunes, como insertion sort, quicksort y mergesort.
- Recursión: Muchos problemas exigen recursión o pueden ser resueltos más fácilmente con el uso de ella. Esté preparado(a) para utilizarla si la necesidad surge.
- Corrección: Usted usará un IDE online con recursos básicos, como autocompletado de código y resaltado de sintaxis, además de la capacidad de ejecutar y probar su código. ¡Aproveche esos recursos!
-
📌 Checklist – Coding
¿Quiere asegurarse de que no olvidó nada? Use esta lista de verificación para guiar su enfoque:
✅ Estoy cómodo con un lenguaje de programación y sé cómo probar mi código.
✅ Conozco las principales estructuras de datos y sé sus algoritmos.
✅ Consigo razonar sobre la complejidad de tiempo y espacio de un algoritmo.
✅ Repasé los algoritmos de clasificación y recursión.
✅ Sé usar el IDE online y sus recursos básicos. -
System Design
La entrevista es un intercambio. No esperamos respuestas perfectas, sino claridad de razonamiento, buenas elecciones y una actitud constructiva. Aquí tienes consejos valiosos para que te vaya bien:
-
Cómo prepararse – System Design
- Recuerde la arquitectura de datos: Piense sobre las diferentes etapas del ciclo de vida de los datos, desde la ingesta hasta el consumo final. Considere cómo las herramientas se conectan y los propósitos de cada capa (bronze, silver, gold).
- Piense en escenarios de datos diversos: Considere cómo usted manejaría diferentes tipos de ingesta (APIs, bases de datos relacionales, eventos en tiempo real) y cómo garantizaría la resiliencia y escalabilidad de las soluciones.
- Herramientas y sus aplicaciones: Reflexione sobre las herramientas que usted conoce para transformación y modelado de datos, orquestación y gobernanza. Piense en los pros y contras de cada una y en cómo funcionan internamente.
- Calidad, monitoreo y seguridad: Revise las prácticas esenciales para garantizar la calidad de los datos, identificar y resolver cuellos de botella de rendimiento, y cómo usted abordaría aspectos de seguridad y cumplimiento (compliance) en una arquitectura de datos.
- Comunicación de arquitectura: Esté preparado para explicar sus decisiones técnicas de forma clara y objetiva, inclusive para públicos no técnicos.
- Integración y evolución: Piense en cómo los pipelines de datos pueden integrarse con otras áreas, como Data Science (MLOps), y cómo usted visualiza la evolución de una arquitectura a medio y largo plazo.
- Gestión de costos y resiliencia: Considere cómo usted optimizaría costos en un ambiente de datos y cómo diseñaría sistemas escalables y resilientes a fallas.
- Trade-Offs: Preguntas de diseño de sistema y arquitectura son, por naturaleza, abiertas. Esté listo(a) para discutir múltiples abordajes posibles y sus trade-offs (compensaciones/compromisos) con su entrevistador.
- Evite el exceso de ingeniería: Intentar cubrir todos los casos extremos desde el inicio puede llevar a sistemas muy complejos. Concéntrese en proporcionar soluciones simples, discuta sus limitaciones con el entrevistador y, en seguida, mejórelas conforme la necesidad.
-
📌 Checklist – System Design
¿Quiere asegurarse de que no olvidó nada? Use esta lista de verificación para guiar su enfoque:
✅ Estoy listo para hablar sobre proyectos anteriores y arquitectura de datos.
✅ Sé explicar el ciclo de vida de los datos (ingesta hasta el consumo final).
✅ Consigo discutir herramientas y sus aplicaciones (pros y contras).
✅ Soy capaz de discutir trade-offs entre diferentes decisiones técnicas.
✅Entiendo sobre calidad, monitoreo y seguridad de datos.
✅ Consigo explicar decisiones técnicas de forma clara, inclusive para no técnicos.
✅Pensé en cómo los pipelines de datos pueden integrarse con otras áreas.
✅ Practiqué crear diagramas en herramientas como FigJam. -
📑Materiales de apoyo – System Desing
- Conozca sobre cómo hacemos las cosas por aquí
- Herramienta para probar la construcción de diagramas
- Designing Data-Intensive Applications – Martin Kleppmann
- Fundamentals of Data Engineering – Joe Reis and Matt Housley