# Preguntas de Entrevista Data Analyst Italia 2026: SQL, Python y Analytics > Las preguntas de entrevista para data analyst en Italia 2026 abarcan SQL, Python pandas y análisis de negocios. Esta guía presenta 30 preguntas técnicas con respuestas detalladas y ejemplos de código. - Published: 2026-08-26 - Updated: 2026-08-26 - Author: Anthony Fillion-Maillet - Reading time: 5 min --- Las entrevistas para data analyst en Italia durante 2026 se centran principalmente en el dominio de SQL, la manipulación de datos con Python y la capacidad de traducir problemas de negocio en soluciones analíticas. Con más de 600 posiciones abiertas en Milán, Roma y Bolonia, empresas como Prometeia, Bending Spoons y ABB esperan que los candidatos demuestren profundidad técnica y comprensión del negocio. > **Especificidades del mercado italiano** > > Los empleadores italianos priorizan habilidades en SQL y Power BI. El dominio de Python con pandas diferencia a los candidatos, especialmente en empresas tecnológicas de Milán. Los salarios de entrada varían entre €28,000 y €39,000, con roles senior alcanzando €80,000+. ## Preguntas SQL que aparecen en cada entrevista de Data Analyst SQL sigue siendo la base de las entrevistas de data analyst en Italia. Los responsables de contratación en empresas como Italgas y Philip Morris evalúan a los candidatos en JOINs, agregaciones y window functions. Estas preguntas determinan si un candidato puede extraer insights significativos de bases de datos relacionales. ### Pregunta 1: Explicar la diferencia entre INNER JOIN y LEFT JOIN con un ejemplo práctico **Respuesta esperada:** INNER JOIN retorna únicamente las filas donde existen coincidencias en ambas tablas. LEFT JOIN retorna todas las filas de la tabla izquierda más las filas coincidentes de la tabla derecha, con valores NULL donde no existe coincidencia. ```sql -- orders_analysis.sql -- Encontrar todos los clientes y sus pedidos (incluyendo clientes sin pedidos) SELECT c.customer_id, c.customer_name, o.order_id, o.order_total FROM customers c LEFT JOIN orders o ON c.customer_id = o.customer_id; -- Resultado: Los clientes sin pedidos aparecen con order_id y order_total NULL -- INNER JOIN excluiría completamente a esos clientes ``` Los entrevistadores buscan candidatos que comprendan cuándo aparecen los valores NULL y puedan explicar el contexto de negocio para elegir un tipo de join sobre otro. ### Pregunta 2: Escribir una consulta para encontrar el segundo salario más alto en una tabla Esta pregunta evalúa el conocimiento de subconsultas, DISTINCT y limitación de resultados. Existen múltiples enfoques válidos. ```sql -- salary_analysis.sql -- Enfoque 1: Usando subconsulta con MAX SELECT MAX(salary) AS second_highest FROM employees WHERE salary < (SELECT MAX(salary) FROM employees); -- Enfoque 2: Usando la window function DENSE_RANK SELECT salary AS second_highest FROM ( SELECT salary, DENSE_RANK() OVER (ORDER BY salary DESC) AS rank FROM employees ) ranked WHERE rank = 2; ``` El enfoque con window function maneja correctamente los empates. Si tres empleados comparten el salario más alto, DENSE_RANK aún retorna el verdadero segundo valor más alto. Usar ROW_NUMBER daría resultados diferentes, lo cual demuestra comprensión de las [funciones de ventana SQL](/technologies/data-analytics/interview-questions/sql-window-functions). ### Pregunta 3: ¿Cómo identificar y manejar registros duplicados? **Respuesta esperada:** Usar GROUP BY con HAVING COUNT(*) > 1 para identificar duplicados. El enfoque depende de la regla de negocio: mantener el primer registro, el más reciente, o fusionar la información. ```sql -- duplicate_detection.sql -- Encontrar direcciones de email duplicadas SELECT email, COUNT(*) AS occurrence_count FROM users GROUP BY email HAVING COUNT(*) > 1; -- Mantener solo el primer registro para cada email DELETE FROM users WHERE id NOT IN ( SELECT MIN(id) FROM users GROUP BY email ); ``` ### Pregunta 4: Explicar las CTE y cuándo usarlas en lugar de subconsultas Las Common Table Expressions mejoran la legibilidad de las consultas y permiten consultas recursivas. Los entrevistadores italianos frecuentemente piden a los candidatos que reestructuren una subconsulta compleja en una CTE. ```sql -- revenue_analysis.sql -- CTE para cálculo de ingresos mensuales WITH monthly_revenue AS ( SELECT DATE_TRUNC('month', order_date) AS month, SUM(order_total) AS revenue FROM orders WHERE order_date >= '2025-01-01' GROUP BY DATE_TRUNC('month', order_date) ), revenue_growth AS ( SELECT month, revenue, LAG(revenue) OVER (ORDER BY month) AS prev_month_revenue, revenue - LAG(revenue) OVER (ORDER BY month) AS growth FROM monthly_revenue ) SELECT * FROM revenue_growth WHERE growth > 0; ``` Las CTE son reutilizables dentro de la misma consulta, a diferencia de las subconsultas que deben repetirse. Esto importa para consultas analíticas complejas comunes en roles de data analyst. ### Pregunta 5: ¿Cuál es la diferencia entre WHERE y HAVING? **Respuesta esperada:** WHERE filtra filas antes de la agregación; HAVING filtra grupos después de la agregación. WHERE no puede referenciar funciones de agregación; HAVING sí puede. ```sql -- sales_filter.sql -- WHERE filtra filas individuales SELECT region, SUM(sales) AS total_sales FROM transactions WHERE transaction_date >= '2026-01-01' -- Filtrar filas primero GROUP BY region HAVING SUM(sales) > 100000; -- Luego filtrar grupos agregados ``` ## Preguntas de Python y Pandas para roles de Data Analyst Las empresas tecnológicas de Milán, particularmente Bending Spoons y Amazon Italy, esperan dominio de Python. Estas preguntas evalúan habilidades de manipulación de datos con pandas y visualización básica. ### Pregunta 6: ¿Cómo manejar valores faltantes en un DataFrame de pandas? **Respuesta esperada:** El enfoque depende del tipo de datos y el contexto de negocio. Las opciones incluyen eliminar filas, rellenar con media/mediana/moda, forward-fill para series temporales, o interpolación. ```python # missing_values.py import pandas as pd import numpy as np df = pd.DataFrame({ 'date': pd.date_range('2026-01-01', periods=5), 'sales': [100, np.nan, 150, np.nan, 200], 'category': ['A', 'B', np.nan, 'A', 'B'] }) # Verificar valores faltantes por columna print(df.isnull().sum()) # Rellenar numéricos con mediana (robusto a outliers) df['sales'] = df['sales'].fillna(df['sales'].median()) # Rellenar categóricos con moda df['category'] = df['category'].fillna(df['category'].mode()[0]) # Para series temporales: forward fill df['sales_ffill'] = df['sales'].ffill() ``` Los entrevistadores evalúan si los candidatos comprenden que eliminar filas ciegamente pierde información, y que la estrategia de relleno debe alinearse con el objetivo analítico. ### Pregunta 7: Explicar la diferencia entre merge, join y concat en pandas **Respuesta esperada:** `merge()` combina DataFrames en columnas o índices (joins estilo SQL). `join()` es un método conveniente para joins basados en índice. `concat()` apila DataFrames vertical u horizontalmente sin coincidir. ```python # dataframe_combining.py import pandas as pd orders = pd.DataFrame({'order_id': [1, 2], 'customer_id': [101, 102]}) customers = pd.DataFrame({'customer_id': [101, 103], 'name': ['Alice', 'Bob']}) # merge: join estilo SQL en columna merged = pd.merge(orders, customers, on='customer_id', how='left') # concat: apilar DataFrames df1 = pd.DataFrame({'A': [1, 2]}) df2 = pd.DataFrame({'A': [3, 4]}) stacked = pd.concat([df1, df2], ignore_index=True) ``` ### Pregunta 8: ¿Cómo realizar una operación group-by con múltiples agregaciones? ```python # groupby_aggregation.py import pandas as pd df = pd.DataFrame({ 'region': ['North', 'North', 'South', 'South'], 'product': ['A', 'B', 'A', 'B'], 'sales': [100, 150, 200, 50], 'quantity': [10, 15, 20, 5] }) # Múltiples agregaciones con columnas nombradas result = df.groupby('region').agg( total_sales=('sales', 'sum'), avg_sales=('sales', 'mean'), total_quantity=('quantity', 'sum'), transaction_count=('sales', 'count') ).reset_index() ``` Esta sintaxis (agregación nombrada) se convirtió en el estándar en pandas 1.0+ y sigue vigente en [pandas 3.0](/blog/data-analytics/pandas-3-new-apis-breaking-changes-interview). Los entrevistadores esperan que los candidatos la usen en lugar del enfoque anterior basado en diccionarios. ### Pregunta 9: Escribir código para calcular la tasa de crecimiento mes a mes ```python # mom_growth.py import pandas as pd df = pd.DataFrame({ 'month': pd.date_range('2026-01-01', periods=6, freq='MS'), 'revenue': [10000, 12000, 11500, 14000, 15500, 16000] }) # Calcular cambio porcentual df['mom_growth'] = df['revenue'].pct_change() * 100 # Alternativa: cálculo manual para mayor claridad df['prev_revenue'] = df['revenue'].shift(1) df['growth_manual'] = ((df['revenue'] - df['prev_revenue']) / df['prev_revenue']) * 100 ``` ### Pregunta 10: ¿Cómo pivotar datos en pandas? ```python # pivot_example.py import pandas as pd df = pd.DataFrame({ 'date': ['2026-01', '2026-01', '2026-02', '2026-02'], 'region': ['North', 'South', 'North', 'South'], 'sales': [100, 150, 120, 180] }) # Pivot: filas=date, columnas=region, valores=sales pivot_table = df.pivot(index='date', columns='region', values='sales') # pivot_table para agregación cuando existen duplicados agg_pivot = pd.pivot_table(df, values='sales', index='date', columns='region', aggfunc='sum') ``` ## Preguntas de Analytics de Negocios y Resolución de Problemas Las empresas italianas, especialmente en finanzas (Prometeia) y manufactura (ABB), evalúan el pensamiento analítico más allá del código puro. Estas preguntas determinan cómo los candidatos formulan problemas y comunican hallazgos. ### Pregunta 11: ¿Cómo medir el éxito de una campaña de marketing? **Respuesta esperada:** Definir KPIs antes del lanzamiento de la campaña. Las métricas comunes incluyen tasa de conversión, costo por adquisición (CPA), retorno sobre gasto publicitario (ROAS), y valor de vida del cliente (CLV). Comparar contra un grupo de control o línea base histórica. Una respuesta sólida incluye: - Métricas base antes del lanzamiento de la campaña - Elección del modelo de atribución (first-touch, last-touch, multi-touch) - Pruebas de significancia estadística para resultados - Segmentación por canal, audiencia o geografía ### Pregunta 12: Un product manager reporta que los ingresos cayeron 15% este mes. ¿Cómo investigar? **Respuesta esperada:** Descomponer el problema sistemáticamente: 1. **Verificar los datos**: Buscar problemas de calidad de datos, registros faltantes, o retraso en reportes 2. **Análisis por segmentos**: Desglosar por producto, región, segmento de cliente, canal 3. **Aislar la variable**: Determinar si el volumen bajó, el precio cambió, o el mix se modificó 4. **Factores externos**: Verificar estacionalidad, acciones de competidores, eventos económicos 5. **Correlacionar con otras métricas**: Tráfico del sitio web, tasa de conversión, abandono de carrito ### Pregunta 13: Explicar A/B testing y cuándo no debería usarse **Respuesta esperada:** El A/B testing compara dos variantes (control vs. tratamiento) para medir impacto causal. Requiere asignación aleatoria, tamaño de muestra suficiente, y una métrica de interés única. El A/B testing no debería usarse cuando: - El tamaño de muestra es insuficiente para poder estadístico - El cambio afecta a todos los usuarios (infraestructura, precios) - Existen efectos de red (funcionalidades sociales donde usuarios se influencian mutuamente) - Preocupaciones éticas impiden retener un cambio beneficioso ### Pregunta 14: ¿Cómo explicar la significancia estadística a un stakeholder no técnico? **Respuesta esperada:** La significancia estadística significa que la diferencia observada es improbable que haya ocurrido por azar. Un p-value por debajo de 0.05 indica menos del 5% de probabilidad de que el resultado ocurrió aleatoriamente. Analogía: lanzar una moneda 10 veces y obtener 7 caras podría ser azar. Obtener 95 caras de 100 lanzamientos es estadísticamente significativo porque el azar solo no puede explicarlo. ### Pregunta 15: ¿Cuál es la diferencia entre correlación y causalidad? **Respuesta esperada:** La correlación mide cómo dos variables se mueven juntas. La causalidad significa que una variable influencia directamente a la otra. Las ventas de helados y los ahogamientos se correlacionan (ambos aumentan en verano), pero el helado no causa ahogamientos. Establecer causalidad requiere: - Precedencia temporal (la causa precede al efecto) - Correlación - Eliminación de variables confusoras (experimento controlado aleatorizado) ## Preguntas de Evaluación de Habilidades Técnicas Estas preguntas evalúan el dominio de herramientas específicas esperado en el mercado italiano. ### Pregunta 16: Comparar Power BI y Tableau para analytics empresarial Las empresas italianas, particularmente en banca y servicios públicos, usan intensivamente Power BI debido a la integración con el ecosistema Microsoft. Diferencias clave: | Aspecto | Power BI | Tableau | |---------|----------|--------| | Costo | Menor (incluido en Office 365) | Licencia más alta | | Curva de aprendizaje | Más fácil para usuarios de Excel | Más pronunciada, más potente | | Preparación de datos | Power Query integrado | Prep requiere herramienta separada | | Visualización | Buena, mejorando | Mejor en su clase | | Adopción empresarial | Mayor en Italia | Común en multinacionales | ### Pregunta 17: ¿Qué es DAX y proporcionar un ejemplo de medida? **Respuesta esperada:** DAX (Data Analysis Expressions) es el lenguaje de fórmulas de Power BI para cálculos. Las medidas calculan valores dinámicamente basados en el contexto de filtro. ``` // Medida de crecimiento Year-over-Year en DAX YoY Growth % = VAR CurrentYearSales = SUM(Sales[Amount]) VAR PreviousYearSales = CALCULATE( SUM(Sales[Amount]), DATEADD(Calendar[Date], -1, YEAR) ) RETURN DIVIDE(CurrentYearSales - PreviousYearSales, PreviousYearSales, 0) ``` ### Pregunta 18: Explicar ETL y su importancia en analytics **Respuesta esperada:** ETL significa Extract, Transform, Load. Los datos se mueven de sistemas fuente (ERP, CRM, logs web) a través de transformación (limpieza, agregación, joins) hacia un data warehouse para análisis. Las alternativas modernas incluyen ELT (cargar datos crudos primero, transformar en el warehouse) y herramientas como [dbt](/blog/data-analytics/dbt-data-analysts-modeling-testing-interview-2026) que separan la lógica de transformación de la orquestación. ### Pregunta 19: ¿Cuáles son las diferencias entre sistemas OLTP y OLAP? | Aspecto | OLTP | OLAP | |---------|------|------| | Propósito | Procesamiento de transacciones | Consultas analíticas | | Modelo de datos | Normalizado (3NF) | Desnormalizado (star/snowflake) | | Tipo de consulta | Simple, frecuente | Compleja, agregada | | Volumen de datos por consulta | Pequeño | Grande | | Ejemplos | Entrada de pedidos, banca | Data warehouse, reportes BI | ### Pregunta 20: ¿Cómo optimizar una consulta SQL lenta? **Respuesta esperada:** Seguir un enfoque sistemático: 1. **Analizar el plan de ejecución**: Identificar full table scans, índices faltantes 2. **Agregar índices apropiados**: En columnas en WHERE, JOIN, ORDER BY 3. **Reescribir patrones ineficientes**: Reemplazar subconsultas correlacionadas con JOINs 4. **Limitar datos temprano**: Filtrar antes de unir tablas grandes 5. **Usar hints con moderación**: Solo cuando el optimizador toma malas decisiones ```sql -- query_optimization.sql -- Antes: subconsulta correlacionada (lenta) SELECT * FROM orders o WHERE o.total > (SELECT AVG(total) FROM orders WHERE customer_id = o.customer_id); -- Después: window function (más rápida) SELECT * FROM ( SELECT *, AVG(total) OVER (PARTITION BY customer_id) AS avg_total FROM orders ) sub WHERE total > avg_total; ``` ## Preguntas Conductuales y Basadas en Escenarios Los entrevistadores italianos evalúan el ajuste cultural y las habilidades de comunicación además de la capacidad técnica. ### Pregunta 21: Describir una situación donde el análisis contradijo las expectativas de los stakeholders **Estructura de respuesta sólida:** - Situación: qué creían los stakeholders - Análisis: qué mostraban realmente los datos - Comunicación: cómo se presentaron los hallazgos diplomáticamente - Resultado: qué decisión se tomó y su impacto Comportamientos clave que buscan los entrevistadores: honestidad intelectual, comunicación diplomática, y defensa de conclusiones basadas en datos. ### Pregunta 22: ¿Cómo priorizar múltiples solicitudes de datos urgentes? **Respuesta esperada:** - Evaluar el impacto de negocio de cada solicitud - Clarificar plazos y negociar donde sea posible - Identificar quick wins vs. análisis profundos - Comunicar plazos realistas proactivamente - Escalar restricciones de recursos a la gerencia ### Pregunta 23: ¿Cómo asegurar la calidad de datos en los análisis? **Respuesta esperada:** - Validar datos fuente antes del análisis (verificaciones de nulos, rangos, integridad referencial) - Documentar supuestos explícitamente - Cruzar múltiples fuentes de datos - Implementar verificaciones automatizadas de calidad de datos - Revisar outliers manualmente antes de excluirlos ### Pregunta 24: Describir el enfoque para aprender una nueva herramienta o tecnología **Respuesta esperada:** - Comenzar con documentación oficial y tutoriales - Construir un pequeño proyecto para aplicar conceptos - Unirse a comunidades (Reddit, Stack Overflow, meetups locales) - Enseñar a otros para consolidar el entendimiento ## Preguntas Específicas de la Industria para el Mercado Italiano ### Pregunta 25: ¿Qué regulaciones afectan el analytics de datos en Italia? **Respuesta esperada:** GDPR es la regulación principal. Requisitos clave: - Consentimiento explícito para procesamiento de datos personales - Derecho al olvido (solicitudes de eliminación de datos) - Minimización de datos (recolectar solo datos necesarios) - Evaluaciones de impacto de privacidad para procesamiento de alto riesgo Específicos del sector: Banca italiana (regulaciones del Banco de Italia), salud (equivalente italiano de HIPAA), sector público (CAD y directrices AGID). ### Pregunta 26: ¿Cómo manejar PII en datasets analíticos? **Respuesta esperada:** - Pseudonimización: reemplazar identificadores con tokens - Agregación: reportar a nivel de grupo, no individual - Enmascaramiento de datos: ocultar porciones sensibles (email: a***@gmail.com) - Controles de acceso: permisos basados en roles para datos sensibles - Políticas de retención: eliminar datos cuando ya no son necesarios ### Pregunta 27: ¿Qué experiencia tiene con plataformas de datos en la nube? Las empresas italianas usan cada vez más plataformas cloud. Comunes en el mercado: - [Google BigQuery](/technologies/data-analytics/interview-questions/bigquery-advanced) (Google Cloud) - Amazon Redshift (AWS) - Azure Synapse (integración ecosistema Microsoft) - Snowflake (cloud-agnóstico) ### Pregunta 28: ¿Cómo comunicar hallazgos analíticos a ejecutivos? **Respuesta esperada:** - Liderar con la recomendación, no la metodología - Usar visualizaciones que ejecutivos puedan interpretar en segundos - Cuantificar impacto de negocio (ingresos, costos, riesgos) - Anticipar preguntas y preparar slides de respaldo - Evitar jerga; traducir términos técnicos ### Pregunta 29: ¿Qué métricas rastrear para un negocio e-commerce? **Respuesta esperada:** - **Adquisición**: fuentes de tráfico, costo por adquisición - **Comportamiento**: tasa de rebote, páginas por sesión, tiempo en sitio - **Conversión**: tasa de conversión por etapa del funnel, abandono de carrito - **Retención**: tasa de recompra, valor de vida del cliente - **Ingresos**: valor promedio de pedido, ingreso por visitante ### Pregunta 30: ¿Cómo mantenerse actualizado con las tendencias en data analytics? **Respuesta esperada:** - Seguir publicaciones de la industria: Towards Data Science, Analytics Vidhya - Participar en competencias Kaggle - Asistir a conferencias: PyData, meetups locales de data science en Milán o Roma - Leer documentación de nuevas versiones de herramientas - Experimentar con nuevas tecnologías en proyectos personales ## Estrategia de Preparación para Entrevistas de Data Analyst en Italia 2026 - **Dominio de SQL**: Practicar en [problemas de LeetCode Database](https://leetcode.com/problemset/database/) y StrataScratch. Las empresas italianas evalúan fuertemente JOINs, window functions y CTEs - **Dominio de Python**: Completar ejercicios de pandas en [Kaggle](https://www.kaggle.com/learn/pandas). Enfocarse en limpieza de datos y agregación - **Familiaridad con herramientas**: Las habilidades en Power BI son muy valoradas en empresas italianas. Tableau es común en multinacionales - **Contexto de negocio**: Preparar ejemplos de trabajo previo que demuestren traducción de preguntas de negocio a enfoques analíticos - **Idioma italiano**: Aunque muchas empresas tech operan en inglés, la fluidez en italiano mejora oportunidades en industrias tradicionales (banca, manufactura, servicios públicos) --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/es/blog/data-analytics/data-analyst-interview-questions-italy-2026