Las 25 preguntas principales en entrevistas de Data Analytics en 2026
Las 25 preguntas más frecuentes en entrevistas de data analytics en 2026: SQL, Python, Power BI, estadística y preguntas conductuales con respuestas detalladas y ejemplos de código.

Las entrevistas de data analytics en 2026 evalúan mucho más que la sintaxis SQL o la creación de gráficos. Los equipos de contratación miden la capacidad de los candidatos para extraer significado de conjuntos de datos desordenados, comunicar hallazgos a interlocutores no técnicos y vincular cada métrica con un resultado de negocio concreto. Esta guía cubre las 25 preguntas que aparecen con mayor frecuencia en entrevistas para roles de data analyst en niveles junior, intermedio y senior.
Cada pregunta incluye una respuesta modelo concisa y, cuando es relevante, código SQL o Python ejecutable. Se recomienda escribir las consultas desde cero antes de leer la solución. Los entrevistadores valoran más el proceso de razonamiento que una respuesta memorizada.
Preguntas de SQL para entrevistas de Data Analyst
SQL sigue siendo la habilidad más evaluada en entrevistas de data analytics. Toda empresa con una base de datos relacional espera que los analistas escriban consultas sin asistencia.
1. ¿Cuál es la diferencia entre WHERE y HAVING?
WHERE filtra filas antes de la agregación. HAVING filtra grupos después de la agregación. Confundirlos es uno de los errores más comunes en las pruebas técnicas.
-- monthly_revenue.sql
SELECT
DATE_TRUNC('month', order_date) AS month,
SUM(amount) AS revenue
FROM orders
WHERE status = 'completed' -- filtro a nivel de fila
GROUP BY month
HAVING SUM(amount) > 10000; -- filtro a nivel de grupoWHERE reduce el conjunto de datos antes de que el motor de base de datos ejecute el GROUP BY. HAVING opera sobre el resultado agregado. Usar WHERE siempre que sea posible mejora el rendimiento de la consulta porque reduce el volumen de datos procesados más temprano en el plan de ejecución.
2. Explicar las funciones de ventana con un ejemplo práctico
Las funciones de ventana (window functions) calculan un valor sobre un conjunto de filas relacionadas con la fila actual, sin colapsar el conjunto de resultados. Son esenciales para clasificaciones, totales acumulados y comparaciones entre períodos.
-- user_ranking.sql
SELECT
user_id,
purchase_date,
amount,
ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY purchase_date) AS purchase_rank,
SUM(amount) OVER (PARTITION BY user_id ORDER BY purchase_date) AS running_total,
LAG(amount) OVER (PARTITION BY user_id ORDER BY purchase_date) AS prev_amount
FROM purchases;ROW_NUMBER asigna un rango secuencial por usuario. SUM(...) OVER(...) calcula un total acumulado sin necesidad de un self-join. LAG obtiene el valor de la fila anterior para una comparación directa. Los entrevistadores solicitan frecuentemente calcular el crecimiento mes a mes utilizando exactamente este patrón.
3. Cómo identificar y eliminar registros duplicados
La detección de duplicados es una tarea diaria para analistas que trabajan con logs de eventos, exportaciones de CRM o feeds de datos de terceros.
-- deduplicate_events.sql
WITH ranked AS (
SELECT *,
ROW_NUMBER() OVER (
PARTITION BY user_id, event_type, DATE_TRUNC('minute', created_at)
ORDER BY created_at
) AS rn
FROM events
)
SELECT * FROM ranked WHERE rn = 1;El CTE asigna un número de fila dentro de cada grupo de duplicados. Conservar únicamente rn = 1 devuelve la primera ocurrencia. Este enfoque preserva los datos originales mientras filtra el ruido.
4. Escribir una consulta de retención por cohorte semanal
La retención por cohorte es uno de los análisis más solicitados en equipos de producto y crecimiento. El patrón SQL sigue una estructura consistente en todas las bases de datos.
-- weekly_cohort_retention.sql
WITH cohorts AS (
SELECT
user_id,
DATE_TRUNC('week', MIN(event_date)) AS cohort_week
FROM user_events
GROUP BY user_id
),
activity AS (
SELECT
c.cohort_week,
DATE_TRUNC('week', e.event_date) AS active_week,
COUNT(DISTINCT e.user_id) AS active_users
FROM user_events e
JOIN cohorts c ON c.user_id = e.user_id
GROUP BY c.cohort_week, DATE_TRUNC('week', e.event_date)
)
SELECT
cohort_week,
EXTRACT(WEEK FROM active_week - cohort_week) AS weeks_since_signup,
active_users
FROM activity
ORDER BY cohort_week, weeks_since_signup;El primer CTE identifica la semana de registro de cada usuario. El segundo CTE cuenta los usuarios activos distintos por cohorte y por semana. La consulta final transforma el resultado en una matriz de retención. Los entrevistadores esperan que los candidatos expliquen la interpretación de negocio: una caída pronunciada en la semana 1 señala un problema de onboarding, mientras que una curva plana a partir de la semana 4 sugiere una base de usuarios fieles y estable.
5. ¿Qué es un CTE y cuándo debe reemplazar a una subconsulta?
Una Common Table Expression (CTE) es un conjunto de resultados temporales con nombre definido mediante WITH. Los CTEs mejoran la legibilidad y permiten consultas recursivas. Las subconsultas tienden a producir SQL profundamente anidado que es difícil de depurar. Un CTE es preferible cuando la misma tabla derivada se referencia varias veces en la consulta, o cuando la lógica tiene tres o más pasos de transformación.
Preguntas de Python para análisis de datos
Las preguntas de Python se centran en Pandas, flujos de trabajo de limpieza de datos y la capacidad de explicar el código en términos de negocio. Los entrevistadores buscan soluciones pragmáticas, no abstracciones académicas.
6. Cómo manejar valores faltantes en un DataFrame de Pandas
Los datos faltantes corrompen las agregaciones y las entradas de modelos. El enfoque depende del tipo de columna y del contexto del negocio.
# handle_missing.py
import pandas as pd
import numpy as np
df = pd.read_csv('sales.csv')
# Inspeccionar la extensión de los datos faltantes
print(df.isnull().sum())
print(df.isnull().mean().round(3)) # porcentaje por columna
# Estrategia 1: eliminar filas donde las columnas críticas son nulas
df_clean = df.dropna(subset=['customer_id', 'amount'])
# Estrategia 2: rellenar columnas numéricas con la mediana (robusta a outliers)
df['amount'] = df['amount'].fillna(df['amount'].median())
# Estrategia 3: rellenar columnas categóricas con la moda
df['region'] = df['region'].fillna(df['region'].mode()[0])Eliminar filas funciona cuando la tasa de datos faltantes es inferior al 5 % y la columna es crítica. La imputación por mediana es más segura que la media para distribuciones sesgadas. La imputación por moda es adecuada para columnas categóricas con un valor dominante. Documentar la estrategia de imputación es fundamental para la trazabilidad.
7. Merge, join y concatenate: cuándo usar cada uno
Pandas ofrece múltiples formas de combinar DataFrames. La elección depende de si la operación es por filas o por columnas, y de si se necesita una coincidencia basada en clave.
# combine_dataframes.py
import pandas as pd
orders = pd.read_csv('orders.csv')
customers = pd.read_csv('customers.csv')
# Fusión basada en clave (equivalente a SQL JOIN)
result = orders.merge(customers, on='customer_id', how='left')
# Apilar filas de múltiples fuentes
all_events = pd.concat([events_q1, events_q2], ignore_index=True)
# Agregar columnas lado a lado (requiere el mismo número de filas)
combined = pd.concat([features, labels], axis=1)merge es la opción correcta para uniones basadas en clave. concat con axis=0 por defecto apila filas. concat con axis=1 agrega columnas. Usar how='left' preserva todas las filas del DataFrame izquierdo, lo que equivale a un LEFT JOIN en SQL.
8. Agrupar, agregar y transformar datos de ventas
Las operaciones GroupBy son el equivalente en Pandas del GROUP BY de SQL. Este patrón aparece en prácticamente todas las pruebas técnicas para data analyst.
# sales_analysis.py
import pandas as pd
df = pd.read_csv('transactions.csv', parse_dates=['date'])
# Ingreso mensual por categoría de producto
monthly = (
df.groupby([pd.Grouper(key='date', freq='M'), 'category'])
.agg(revenue=('amount', 'sum'), orders=('order_id', 'nunique'))
.reset_index()
)
# Agregar una columna con la participación de cada categoría en el ingreso mensual total
monthly['share'] = (
monthly.groupby('date')['revenue']
.transform(lambda x: x / x.sum())
.round(4)
)
print(monthly.head(10))agg con agregación con nombre mantiene la legibilidad del resultado. transform difunde un cálculo a nivel de grupo a cada fila, lo que evita un paso de merge separado. Esta combinación cubre la mayoría de las tareas de reportes ad-hoc.
9. Detectar y manejar valores atípicos en un conjunto de datos
La detección de valores atípicos determina si los valores extremos son errores de captura, señales de fraude o casos límite genuinos.
# detect_outliers.py
import pandas as pd
import numpy as np
df = pd.read_csv('transactions.csv')
# Método IQR
Q1 = df['amount'].quantile(0.25)
Q3 = df['amount'].quantile(0.75)
IQR = Q3 - Q1
lower = Q1 - 1.5 * IQR
upper = Q3 + 1.5 * IQR
outliers = df[(df['amount'] < lower) | (df['amount'] > upper)]
print(f'Outliers found: {len(outliers)} ({len(outliers)/len(df)*100:.1f}%)')
# Limitar en vez de eliminar (winsorización)
df['amount_capped'] = df['amount'].clip(lower=lower, upper=upper)El método IQR señala los valores que exceden 1.5 veces el rango intercuartílico. La limitación (winsorización) preserva el conteo de filas mientras acota la influencia de los valores extremos. La eliminación solo es apropiada cuando los valores atípicos representan errores evidentes.
¿Listo para aprobar tus entrevistas de Data Analytics?
Practica con nuestros simuladores interactivos, flashcards y tests técnicos.
Preguntas de estadística y probabilidad
La cultura estadística separa a los data analysts que reportan números de aquellos que los interpretan correctamente. Estas preguntas evalúan la comprensión fundamental.
10. Explicar el p-valor en lenguaje simple
Un p-valor es la probabilidad de observar un resultado al menos tan extremo como el medido, asumiendo que la hipótesis nula es verdadera. Un p-valor de 0.03 no significa que hay un 3 % de probabilidad de que la hipótesis nula sea verdadera. Significa que si la hipótesis nula fuera verdadera, resultados así de extremos aparecerían el 3 % de las veces solo por azar. El umbral (alfa) se establece típicamente en 0.05, pero la elección depende del costo de un falso positivo en el contexto de negocio específico.
11. Cuándo usar la mediana en lugar de la media
La media es sensible a los valores extremos. Los datos de ingresos, montos de transacciones y duraciones de sesión son ejemplos clásicos donde la mediana ofrece una tendencia central más representativa. Un conjunto de datos con unas pocas transacciones empresariales de alto valor puede empujar la media muy por encima de lo que experimenta un cliente típico. Reportar la mediana junto con la media, incluyendo la desviación estándar, proporciona a los stakeholders un panorama completo.
12. ¿Cuál es la diferencia entre correlación y causalidad?
La correlación mide la intensidad y dirección de una relación lineal entre dos variables. La causalidad significa que una variable influye directamente en la otra. Las ventas de helado y los ahogamientos están correlacionados porque ambos aumentan en verano, no porque uno cause el otro. Establecer la causalidad requiere un experimento controlado (prueba A/B) o un marco riguroso de inferencia causal como diferencias en diferencias o variables instrumentales.
13. Explicar errores de tipo I y tipo II con un ejemplo de negocio
Un error de tipo I (falso positivo) ocurre cuando una prueba rechaza incorrectamente la hipótesis nula. Ejemplo: concluir que un nuevo flujo de checkout aumenta la tasa de conversión cuando en realidad no tiene efecto, lo que lleva a un cambio de producto innecesario. Un error de tipo II (falso negativo) ocurre cuando una prueba no detecta un efecto real. Ejemplo: mantener el flujo de checkout anterior porque la prueba no tuvo el tamaño de muestra suficiente para detectar una mejora real del 2 %. Aumentar el tamaño de muestra reduce los errores de tipo II. Reducir el umbral alfa disminuye los errores de tipo I pero incrementa los de tipo II.
Preguntas de Power BI y visualización de datos
Las preguntas de visualización evalúan la capacidad del candidato para elegir el gráfico correcto, construir dashboards mantenibles y comunicar historias de datos a audiencias no técnicas.
14. ¿Qué es DAX y en qué se diferencia de SQL?
DAX (Data Analysis Expressions) es el lenguaje de fórmulas utilizado en Power BI, Analysis Services y Excel Power Pivot. A diferencia de SQL, que opera sobre conjuntos de filas, DAX opera dentro de un contexto de filtro que cambia dinámicamente según los segmentadores, filtros y el contexto de fila. La función CALCULATE en DAX modifica el contexto de filtro antes de evaluar una expresión, un concepto sin equivalente directo en SQL.
15. Explicar la diferencia entre modo Import y DirectQuery
El modo Import carga los datos en el motor en memoria de Power BI (VertiPaq), ofreciendo un rendimiento rápido de consultas pero requiriendo actualizaciones programadas. DirectQuery envía las consultas a la base de datos origen en tiempo real, garantizando la frescura de los datos pero dependiendo del rendimiento del sistema origen. En 2026, Microsoft Fabric introduce el modo Direct Lake, que lee archivos Parquet desde OneLake sin importar ni consultar un endpoint SQL, combinando la velocidad del modo Import con una frescura casi en tiempo real.
16. Cuándo usar un gráfico de barras versus un gráfico de líneas
Los gráficos de barras comparan categorías discretas (ingresos por región, conteo por producto). Los gráficos de líneas muestran tendencias sobre intervalos continuos (usuarios activos diarios, tasa de churn mensual). Usar un gráfico de líneas para datos categóricos implica una tendencia entre categorías no relacionadas, lo que induce a error a la audiencia. Una pregunta de seguimiento común en entrevistas trata sobre los gráficos circulares: deben limitarse a mostrar partes de un todo cuando hay cinco segmentos o menos, ya que el ojo humano tiene dificultad para comparar ángulos con precisión.
17. Cómo optimizar un reporte lento en Power BI
Los reportes lentos generalmente se originan por columnas excesivas en el modelo de datos, medidas DAX evaluadas fila por fila o visualizaciones que consultan millones de filas. La lista de verificación de optimización incluye: eliminar columnas no utilizadas para reducir el tamaño del modelo, reemplazar funciones iteradoras (SUMX, FILTER) por sus equivalentes no iteradores cuando sea posible, reducir el número de visualizaciones por página a menos de 15 y usar tablas de agregación para dimensiones de alta cardinalidad. El Performance Analyzer integrado en Power BI Desktop identifica exactamente cuál visualización o consulta DAX es el cuello de botella.
Preguntas conductuales y estudios de caso
Las habilidades técnicas permiten acceder a la entrevista. Las preguntas conductuales determinan si el candidato recibe la oferta. Cada respuesta debe seguir el marco STAR: Situación, Tarea, Acción, Resultado.
18. Describir una situación donde el análisis de datos cambió una decisión de negocio
Las respuestas sólidas incluyen una métrica específica que cambió, el método de análisis utilizado y el impacto en valor absoluto o porcentaje. Las respuestas débiles describen un dashboard sin conectarlo con un resultado. Ejemplo de estructura: "El análisis de churn en un producto SaaS reveló que los usuarios que no completaban el onboarding en 48 horas tenían una tasa de churn 60 % más alta a los 30 días. El equipo de producto agregó una secuencia de correos automatizados que se activaba a las 24 horas, reduciendo el churn a 30 días en 8 puntos porcentuales."
19. Cómo manejar solicitudes de datos contradictorias de los stakeholders
Esta pregunta evalúa habilidades de priorización y comunicación. El enfoque recomendado: clarificar la pregunta de negocio detrás de cada solicitud, identificar métricas compartidas, proponer un dashboard único que atienda ambas necesidades y documentar las compensaciones de forma transparente. Decir "no" a un stakeholder es aceptable cuando está respaldado por preocupaciones de gobernanza de datos o restricciones de recursos, siempre que se ofrezca una alternativa.
20. Explicar un análisis complejo a una audiencia no técnica
Los entrevistadores suelen pedir a los candidatos que expliquen un concepto como regresión o análisis de cohorte como si hablaran con un gerente de marketing. Las mejores respuestas usan analogías, evitan la jerga técnica y anclan la explicación en un resultado de negocio. "El análisis de cohorte agrupa a los clientes por el mes en que se registraron y hace seguimiento de cuántos siguen activos tres meses después. El gráfico muestra que los registros de enero retuvieron mejor que los de febrero, lo que coincide con los cambios de onboarding implementados a finales de diciembre."
Situación: establecer el contexto. Tarea: definir el objetivo. Acción: describir los pasos específicos realizados. Resultado: cuantificar el impacto. Los entrevistadores penalizan las respuestas vagas que omiten el paso de Resultado.
Preguntas sobre limpieza de datos y ETL
Los problemas de calidad de datos consumen una parte significativa del tiempo de un analista. Estas preguntas evalúan habilidades prácticas de transformación de datos.
21. Cómo validar datos después de la ejecución de un pipeline ETL
Las verificaciones de validación deben cubrir el conteo de filas (origen vs. destino), tasas de nulidad en columnas críticas, integridad referencial entre tablas y cambios en la distribución de valores (detección de cambios silenciosos de esquema). Las verificaciones automatizadas que se ejecutan después de cada ejecución del pipeline previenen que datos erróneos lleguen a los dashboards.
# etl_validation.py
import pandas as pd
def validate_pipeline(source_df: pd.DataFrame, target_df: pd.DataFrame) -> dict:
checks = {}
# Row count match
checks['row_count_match'] = len(source_df) == len(target_df)
# Null rate on critical columns
for col in ['user_id', 'event_date', 'amount']:
null_rate = target_df[col].isnull().mean()
checks[f'{col}_null_rate'] = round(null_rate, 4)
# Revenue reconciliation
source_total = source_df['amount'].sum()
target_total = target_df['amount'].sum()
checks['revenue_diff_pct'] = round(
abs(source_total - target_total) / source_total * 100, 2
)
return checks
results = validate_pipeline(source, target)
for check, value in results.items():
print(f'{check}: {value}')Esta función devuelve un diccionario de resultados de validación que puede alimentar un sistema de alertas. Una diferencia de ingresos superior al 0.01 % debería activar una investigación.
22. ¿Cuál es la diferencia entre datos normalizados y desnormalizados?
Los datos normalizados minimizan la redundancia distribuyendo la información en tablas relacionadas (3NF). Los datos desnormalizados combinan tablas en estructuras más amplias y planas, optimizadas para consultas analíticas de lectura intensiva. Los sistemas OLTP favorecen la normalización para la integridad de los datos. Los data warehouses y herramientas de BI favorecen la desnormalización (esquema en estrella, esquema en copo de nieve) para la velocidad de consulta. Comprender esta compensación es fundamental para diseñar pipelines de datos eficientes.
Preguntas de analítica avanzada
Los roles senior requieren familiaridad con experimentación, pronósticos y estrategia de datos transversal.
23. Cómo diseñar una prueba A/B desde cero
Una prueba A/B requiere cinco componentes: una hipótesis clara ("Cambiar el color del botón CTA de gris a verde incrementará la tasa de clics en un 5 %"), una métrica principal (tasa de clics), un cálculo de tamaño de muestra basado en el tamaño del efecto esperado y la potencia deseada (típicamente 80 %), asignación aleatoria de usuarios a los grupos de control y tratamiento, y una duración de prueba predeterminada que considere la estacionalidad semanal. Ejecutar la prueba durante al menos dos ciclos comerciales completos previene que el sesgo por día de la semana distorsione los resultados.
Revisar los resultados antes de que la prueba alcance significancia estadística infla la tasa de falsos positivos. Es esencial pre-registrar el plan de análisis, el tamaño de muestra y la duración antes de lanzar la prueba.
24. Explicar el análisis de embudo e identificar los puntos de caída críticos
El análisis de embudo rastrea la progresión de los usuarios a través de una secuencia de pasos (por ejemplo: visita a la página de inicio, vista de producto, agregar al carrito, checkout, compra). La optimización de mayor impacto se enfoca en el paso con la mayor caída absoluta, no la mayor caída porcentual. Una caída del 40 % de 1,000 usuarios en vista de producto a 600 en agregar al carrito representa 400 usuarios perdidos. Una caída del 50 % de 100 usuarios en checkout a 50 en compra representa solo 50 usuarios perdidos. Priorizar el primer cuello de botella genera más conversiones totales.
25. Cómo construir un dashboard de KPIs que los stakeholders realmente usen
Los dashboards fallan cuando muestran demasiadas métricas sin jerarquía. Un dashboard de KPIs efectivo sigue la pirámide invertida: una o dos métricas norte en la parte superior (por ejemplo, ingreso recurrente mensual, Net Promoter Score), métricas de soporte en el medio (tasa de conversión, tasa de churn, valor promedio de pedido) y detalles diagnósticos accesibles mediante drill-down. Limitar la vista de primer nivel a siete métricas o menos reduce la carga cognitiva. Agregar anotaciones automatizadas ("Los ingresos cayeron un 12 % el 5 de marzo debido a una falla en la pasarela de pagos") proporciona contexto que los números por sí solos no ofrecen.
¡Empieza a practicar!
Pon a prueba tu conocimiento con nuestros simuladores de entrevista y tests técnicos.
Conclusión
- Las funciones de ventana SQL, los CTEs y las consultas de cohorte aparecen en prácticamente todas las pruebas técnicas de data analyst. Escribirlas de memoria es una expectativa base.
- La competencia en Python Pandas cubre el 80 % de las tareas de análisis ad-hoc. El enfoque debe estar en
merge,groupby,transformy el manejo de valores nulos. - El razonamiento estadístico (p-valores, correlación vs. causalidad, diseño de experimentos) separa a los analistas que reportan números de aquellos que los interpretan correctamente.
- Las preguntas de Power BI y visualización evalúan la selección de gráficos, los fundamentos de DAX y la optimización del rendimiento de dashboards.
- Las respuestas conductuales que siguen el marco STAR e incluyen resultados cuantificados superan a las narrativas vagas.
- Practicar módulos de entrevista de data analytics en SharpSkill para consolidar estos conceptos con ejercicios cronometrados.
- Para preparación complementaria, la guía de entrevistas de Data Science cubre preguntas de machine learning y modelado estadístico que se superponen con roles de data analyst senior.
¡Empieza a practicar!
Pon a prueba tu conocimiento con nuestros simuladores de entrevista y tests técnicos.
Etiquetas
Compartir
Artículos relacionados

Top 25 Preguntas de Entrevista de Data Science en 2026
Las 25 preguntas de entrevista de data science más frecuentes en 2026: estadística, machine learning, ingeniería de características, deep learning, SQL y diseño de sistemas, con ejemplos en Python y respuestas detalladas.

Algoritmos de Machine Learning Explicados: Guia Completa para Entrevistas Tecnicas
Guia completa de algoritmos de machine learning para entrevistas tecnicas. Cubre modelos lineales, arboles de decision, metodos de ensamble, clustering, metricas de evaluacion y regularizacion con scikit-learn.

Entrevista Tecnica de Go: Goroutines, Channels y Concurrencia
Guia completa con las preguntas mas frecuentes sobre goroutines, channels y concurrencia en Go. Incluye ejemplos de codigo listos para produccion, patrones de concurrencia y las respuestas que los entrevistadores esperan en 2026.