Preguntas de entrevista para ingeniero junior de Machine Learning

Milad Bonakdar
Autor
Prepárate para entrevistas junior de ML con preguntas sobre Python, evaluación de modelos, fuga de datos, despliegue, monitoreo y fundamentos de MLOps.
Preguntas de entrevista para ingeniero junior de Machine Learning
En una entrevista para un puesto junior de Machine Learning, debes poder explicar cómo escribes Python fiable, entrenas y evalúas modelos, evitas la fuga de datos, preparas modelos para producción y monitoreas predicciones después del despliegue. Una buena respuesta muestra el algoritmo, las suposiciones sobre los datos, la métrica elegida y los compromisos de producción.
Usa esta guía para practicar preguntas habituales en roles iniciales de ingeniería de ML: programación en Python, algoritmos clásicos, validación, datos desbalanceados, APIs de inferencia, Docker, monitoreo y fundamentos de CI/CD.
Python y Programación (5 Preguntas)
1. ¿Cómo manejas grandes conjuntos de datos que no caben en la memoria?
Respuesta: Varias técnicas manejan datos más grandes que la RAM disponible:
- Procesamiento por lotes: Procesa los datos en fragmentos
- Generadores: Entrega datos bajo demanda
- Dask/Ray: Frameworks de computación distribuida
- Consultas a la base de datos: Carga solo los datos necesarios
- Archivos asignados a la memoria: Accede al disco como si estuviera en la memoria
- Transmisión de datos: Procesa los datos a medida que llegan
Rareza: Muy Común Dificultad: Media
2. Explica los decoradores en Python y da un caso de uso de ML.
Respuesta: Los decoradores modifican o mejoran las funciones sin cambiar su código.
- Casos de uso en ML:
- Medición del tiempo de ejecución de la función
- Registro de predicciones
- Almacenamiento en caché de los resultados
- Validación de entradas
Rareza: Común Dificultad: Media
3. ¿Cuál es la diferencia entre @staticmethod y @classmethod?
Respuesta: Ambos definen métodos que no requieren una instancia.
- @staticmethod: No tiene acceso a la clase o a la instancia
- @classmethod: Recibe la clase como primer argumento
Rareza: Media Dificultad: Media
4. ¿Cómo manejas las excepciones en las tuberías de ML?
Respuesta: Un manejo adecuado de los errores evita los fallos en la tubería y ayuda a la depuración.
Rareza: Común Dificultad: Media
5. ¿Qué son los generadores de Python y por qué son útiles en ML?
Respuesta: Los generadores producen valores uno a la vez, ahorrando memoria.
- Beneficios:
- Eficiencia de memoria
- Evaluación perezosa
- Secuencias infinitas
- Casos de uso de ML:
- Carga de datos
- Procesamiento por lotes
- Aumento de datos
Rareza: Común Dificultad: Media
Algoritmos y Teoría de ML (5 Preguntas)
6. Explica la diferencia entre bagging y boosting.
Respuesta: Ambos son métodos de conjunto, pero funcionan de manera diferente:
- Bagging (Bootstrap Aggregating):
- Entrenamiento paralelo en subconjuntos aleatorios
- Reduce la varianza
- Ejemplo: Random Forest
- Boosting:
- Entrenamiento secuencial, cada modelo corrige los errores anteriores
- Reduce el sesgo
- Ejemplos: AdaBoost, Gradient Boosting, XGBoost
Rareza: Muy Común Dificultad: Media
7. ¿Cómo manejas los conjuntos de datos desequilibrados?
Respuesta: Los datos desequilibrados pueden sesgar los modelos hacia la clase mayoritaria.
- Técnicas:
- Remuestreo: SMOTE, submuestreo
- Pesos de clase: Penaliza la clasificación errónea
- Métodos de conjunto: Random Forest equilibrado
- Evaluación: Usar F1, precisión, recall (no exactitud)
- Ajuste del umbral: Optimizar el umbral de decisión
Rareza: Muy Común Dificultad: Media
8. ¿Qué es la validación cruzada y por qué es importante?
Respuesta: La validación cruzada evalúa el rendimiento del modelo de forma más fiable que una única división de entrenamiento-prueba.
- Tipos:
- K-Fold: Dividir en k folds
- Stratified K-Fold: Conserva la distribución de la clase
- Time Series Split: Respeta el orden temporal
- Beneficios:
- Estimación del rendimiento más robusta
- Utiliza todos los datos para el entrenamiento y la validación
- Detecta el sobreajuste
Rareza: Muy Común Dificultad: Fácil
9. Explica precisión, recall y F1-score.
Respuesta: Métricas de clasificación para evaluar el rendimiento del modelo:
- Precisión: De los positivos predichos, cuántos son correctos
- Fórmula: TP / (TP + FP)
- Usar cuando: Los falsos positivos son costosos
- Recall: De los positivos reales, cuántos se encontraron
- Fórmula: TP / (TP + FN)
- Usar cuando: Los falsos negativos son costosos
- F1-Score: Media armónica de la precisión y el recall
- Fórmula: 2 × (Precisión × Recall) / (Precisión + Recall)
- Usar cuando: Se necesita un equilibrio entre la precisión y el recall
Rareza: Muy Común Dificultad: Fácil
10. ¿Qué es la regularización y cuándo la usarías?
Respuesta: La regularización previene el sobreajuste penalizando la complejidad del modelo.
- Tipos:
- L1 (Lasso): Añade el valor absoluto de los coeficientes
- L2 (Ridge): Añade los coeficientes al cuadrado
- Elastic Net: Combina L1 y L2
- Cuándo usar:
- Alta varianza (sobreajuste)
- Muchas características
- Multicolinealidad
Rareza: Muy Común Dificultad: Media
Entrenamiento e Implementación de Modelos (5 Preguntas)
11. ¿Cómo guardas y cargas modelos en producción?
Respuesta: La serialización de modelos permite la implementación y la reutilización.
Rareza: Muy Común Dificultad: Fácil
12. ¿Cómo creas una API REST para el servicio de modelos?
Respuesta: Las API REST hacen que los modelos sean accesibles a las aplicaciones.
Rareza: Muy Común Dificultad: Media
13. ¿Qué es Docker y por qué es útil para la implementación de ML?
Respuesta: Los contenedores Docker empaquetan las aplicaciones con todas las dependencias.
- Beneficios:
- Reproducibilidad
- Consistencia entre entornos
- Fácil implementación
- Aislamiento
Rareza: Común Dificultad: Media
14. ¿Cómo supervisas el rendimiento del modelo en producción?
Respuesta: La supervisión detecta la degradación del modelo y garantiza la fiabilidad.
- Qué supervisar:
- Métricas de predicción: Exactitud, latencia
- Deriva de datos: Cambios en la distribución de las entradas
- Deriva del modelo: Degradación del rendimiento
- Métricas del sistema: CPU, memoria, errores
Rareza: Común Dificultad: Media
15. ¿Qué es CI/CD para el aprendizaje automático?
Respuesta: CI/CD automatiza las pruebas y la implementación de los modelos de ML.
- Integración Continua:
- Pruebas automatizadas
- Comprobaciones de la calidad del código
- Validación del modelo
- Implementación Continua:
- Implementación automatizada
- Capacidades de reversión
- Pruebas A/B


