Domande Colloquio Data Analyst Italia 2026: SQL, Python e Analytics
Guida completa alle domande colloquio data analyst in Italia 2026. Query SQL, analisi dati Python, Business Analytics e domande specifiche per il mercato italiano.

I colloqui per data analyst in Italia nel 2026 si concentrano fortemente sulla competenza SQL, sulla manipolazione dati con Python e sulla capacità di tradurre problemi aziendali in soluzioni analitiche. Con oltre 600 posizioni aperte a Milano, Roma e Bologna, aziende come Prometeia, Bending Spoons e ABB si aspettano che i candidati dimostrino sia profondità tecnica che acume aziendale.
I datori di lavoro italiani danno priorità alle competenze SQL e Power BI. La conoscenza di Python con pandas distingue i candidati, specialmente nelle aziende tech di Milano. Gli stipendi entry-level vanno da 28.000€ a 39.000€, con ruoli senior che raggiungono oltre 80.000€.
Domande SQL Presenti in Ogni Colloquio Data Analyst
SQL rimane il fondamento dei colloqui per data analyst in Italia. I responsabili delle assunzioni in aziende come Italgas e Philip Morris testano i candidati su JOINs, aggregazioni e window functions. Queste domande valutano se un candidato può estrarre insight significativi da database relazionali.
Domanda 1: Spiega la differenza tra INNER JOIN e LEFT JOIN con un esempio pratico
Risposta attesa: INNER JOIN restituisce solo le righe dove esistono corrispondenze in entrambe le tabelle. LEFT JOIN restituisce tutte le righe della tabella sinistra più le righe corrispondenti della tabella destra, con valori NULL dove non esiste corrispondenza.
-- orders_analysis.sql
-- Trova tutti i clienti e i loro ordini (inclusi clienti senza ordini)
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;
-- Risultato: Clienti senza ordini appaiono con NULL order_id e order_total
-- INNER JOIN escluderebbe completamente quei clientiGli intervistatori cercano candidati che comprendano quando appaiono i valori NULL e sappiano spiegare il contesto aziendale per la scelta di un tipo di join rispetto ad un altro.
Domanda 2: Scrivi una query per trovare il secondo stipendio più alto in una tabella
Questa domanda testa la conoscenza di subquery, DISTINCT e limitazione dei risultati. Esistono molteplici approcci validi.
-- salary_analysis.sql
-- Approccio 1: Usando subquery con MAX
SELECT MAX(salary) AS second_highest
FROM employees
WHERE salary < (SELECT MAX(salary) FROM employees);
-- Approccio 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;L'approccio con window function gestisce correttamente i pareggi. Se tre dipendenti condividono lo stipendio più alto, DENSE_RANK restituisce comunque il valore effettivo del secondo più alto. Usare ROW_NUMBER produrrebbe risultati diversi.
Domanda 3: Come identifichi e gestisci i record duplicati?
Risposta attesa: Usa GROUP BY con HAVING COUNT(*) > 1 per identificare i duplicati. L'approccio dipende dalla regola aziendale: mantenere il primo record, il più recente o unire le informazioni.
-- duplicate_detection.sql
-- Trova indirizzi email duplicati
SELECT email, COUNT(*) AS occurrence_count
FROM users
GROUP BY email
HAVING COUNT(*) > 1;
-- Mantieni solo il record più vecchio per ogni email
DELETE FROM users
WHERE id NOT IN (
SELECT MIN(id)
FROM users
GROUP BY email
);Domanda 4: Spiega le CTE e quando usarle al posto delle subquery
Le Common Table Expressions migliorano la leggibilità delle query e permettono query ricorsive. Gli intervistatori italiani spesso chiedono ai candidati di ristrutturare una subquery complessa in CTE.
-- revenue_analysis.sql
-- CTE per calcolo fatturato mensile
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;Le CTE sono riutilizzabili all'interno della stessa query, a differenza delle subquery che devono essere ripetute. Questo è importante per query analitiche complesse comuni nei ruoli di data analyst.
Domanda 5: Qual è la differenza tra WHERE e HAVING?
Risposta attesa: WHERE filtra le righe prima dell'aggregazione; HAVING filtra i gruppi dopo l'aggregazione. WHERE non può riferirsi a funzioni aggregate; HAVING può.
-- sales_filter.sql
-- WHERE filtra singole righe
SELECT region, SUM(sales) AS total_sales
FROM transactions
WHERE transaction_date >= '2026-01-01' -- Filtra righe prima
GROUP BY region
HAVING SUM(sales) > 100000; -- Poi filtra gruppi aggregatiPronto a superare i tuoi colloqui su Data Analytics?
Pratica con i nostri simulatori interattivi, flashcards e test tecnici.
Domande Python e Pandas per Ruoli Data Analyst
Le aziende tech a Milano, in particolare Bending Spoons e Amazon Italia, si aspettano competenza in Python. Queste domande valutano le capacità di manipolazione dati con pandas e visualizzazione di base.
Domanda 6: Come gestisci i valori mancanti in un DataFrame pandas?
Risposta attesa: L'approccio dipende dal tipo di dato e dal contesto aziendale. Le opzioni includono eliminare righe, riempire con media/mediana/moda, forward-fill per serie temporali o usare interpolazione.
# 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']
})
# Controlla valori mancanti per colonna
print(df.isnull().sum())
# Riempi numerici con mediana (robusto agli outlier)
df['sales'] = df['sales'].fillna(df['sales'].median())
# Riempi categorici con moda
df['category'] = df['category'].fillna(df['category'].mode()[0])
# Per serie temporali: forward fill
df['sales_ffill'] = df['sales'].ffill()Gli intervistatori valutano se i candidati comprendono che eliminare righe alla cieca perde informazioni e che la strategia di riempimento deve allinearsi con l'obiettivo analitico.
Domanda 7: Spiega la differenza tra merge, join e concat in pandas
Risposta attesa: merge() combina DataFrame su colonne o indici (join tipo SQL). join() è un metodo comodo per join basati su indice. concat() impila DataFrame verticalmente o orizzontalmente senza corrispondenza.
# 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 tipo SQL su colonna
merged = pd.merge(orders, customers, on='customer_id', how='left')
# concat: impila DataFrame
df1 = pd.DataFrame({'A': [1, 2]})
df2 = pd.DataFrame({'A': [3, 4]})
stacked = pd.concat([df1, df2], ignore_index=True)Domanda 8: Come esegui un'operazione group-by con aggregazioni multiple?
# 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]
})
# Aggregazioni multiple con colonne nominate
result = df.groupby('region').agg(
total_sales=('sales', 'sum'),
avg_sales=('sales', 'mean'),
total_quantity=('quantity', 'sum'),
transaction_count=('sales', 'count')
).reset_index()Questa sintassi (aggregazione nominata) è diventata standard in pandas 1.0+ e rimane attuale in pandas 3.0. Gli intervistatori si aspettano che i candidati la usino invece dell'approccio basato su dizionario più vecchio.
Domanda 9: Scrivi codice per calcolare il tasso di crescita mese su mese
# 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]
})
# Calcola variazione percentuale
df['mom_growth'] = df['revenue'].pct_change() * 100
# Alternativa: calcolo manuale per chiarezza
df['prev_revenue'] = df['revenue'].shift(1)
df['growth_manual'] = ((df['revenue'] - df['prev_revenue']) / df['prev_revenue']) * 100Domanda 10: Come esegui il pivot dei dati in pandas?
# 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: rows=date, columns=region, values=sales
pivot_table = df.pivot(index='date', columns='region', values='sales')
# pivot_table per aggregazione quando esistono duplicati
agg_pivot = pd.pivot_table(df, values='sales', index='date',
columns='region', aggfunc='sum')Domande Business Analytics e Problem-Solving
Le aziende italiane, specialmente nella finanza (Prometeia) e manifattura (ABB), testano il pensiero analitico oltre la pura programmazione. Queste domande valutano come i candidati strutturano i problemi e comunicano le scoperte.
Domanda 11: Come misureresti il successo di una campagna marketing?
Risposta attesa: Definire i KPI prima dell'inizio della campagna. Metriche comuni includono tasso di conversione, costo per acquisizione (CPA), return on ad spend (ROAS) e customer lifetime value (CLV). Confrontare con un gruppo di controllo o baseline storica.
Una risposta forte include:
- Metriche baseline prima del lancio della campagna
- Scelta del modello di attribuzione (first-touch, last-touch, multi-touch)
- Test di significatività statistica per i risultati
- Segmentazione per canale, audience o geografia
Domanda 12: Un product manager segnala che il fatturato è sceso del 15% questo mese. Come indaghi?
Risposta attesa: Decomporre il problema sistematicamente:
- Verificare i dati: Controllare problemi di qualità dati, record mancanti o ritardi nel reporting
- Analisi per segmento: Scomporre per prodotto, regione, segmento cliente, canale
- Isolare la variabile: Determinare se il volume è calato, il prezzo è cambiato o il mix si è spostato
- Fattori esterni: Verificare stagionalità, azioni dei competitor, eventi economici
- Correlare con altre metriche: Traffico sito web, tasso di conversione, abbandono carrello
Domanda 13: Spiega l'A/B testing e quando non dovrebbe essere usato
Risposta attesa: L'A/B testing confronta due varianti (controllo vs. trattamento) per misurare l'impatto causale. Richiede assegnazione casuale, dimensione del campione sufficiente e una singola metrica di interesse.
L'A/B testing non dovrebbe essere usato quando:
- La dimensione del campione è insufficiente per la potenza statistica
- Il cambiamento riguarda tutti gli utenti (infrastruttura, pricing)
- Esistono effetti rete (funzionalità social dove gli utenti si influenzano a vicenda)
- Preoccupazioni etiche impediscono di trattenere un cambiamento benefico
Domanda 14: Come spieghi la significatività statistica a uno stakeholder non tecnico?
Risposta attesa: La significatività statistica significa che la differenza osservata è improbabile che sia avvenuta per caso. Un p-value inferiore a 0.05 indica meno del 5% di probabilità che il risultato sia avvenuto casualmente.
Analogia: lanciare una moneta 10 volte e ottenere 7 teste potrebbe essere caso. Ottenere 95 teste su 100 lanci è statisticamente significativo perché il solo caso non può spiegarlo.
Domanda 15: Qual è la differenza tra correlazione e causalità?
Risposta attesa: La correlazione misura come due variabili si muovono insieme. La causalità significa che una variabile influenza direttamente l'altra. Le vendite di gelato e gli annegamenti correlano (entrambi aumentano in estate), ma il gelato non causa annegamenti.
Stabilire la causalità richiede:
- Precedenza temporale (la causa precede l'effetto)
- Correlazione
- Eliminazione delle variabili confondenti (esperimento controllato randomizzato)
Domande di Valutazione Competenze Tecniche
Queste domande testano competenze specifiche su strumenti attese nel mercato italiano.
Domanda 16: Confronta Power BI e Tableau per analytics enterprise
Le aziende italiane, particolarmente nel banking e utilities, usano molto Power BI per l'integrazione con l'ecosistema Microsoft. Differenze chiave:
| Aspetto | Power BI | Tableau |
|---|---|---|
| Costo | Più basso (incluso Office 365) | Licenze più costose |
| Curva apprendimento | Più facile per utenti Excel | Più ripida, più potente |
| Preparazione dati | Power Query integrato | Prep richiede tool separato |
| Visualizzazione | Buona, in miglioramento | Best-in-class |
| Adozione enterprise | Più alta in Italia | Comune in multinazionali |
Domanda 17: Cos'è DAX e fornisci un esempio di measure
Risposta attesa: DAX (Data Analysis Expressions) è il linguaggio formula di Power BI per i calcoli. Le measure calcolano valori dinamicamente basandosi sul contesto filtro.
// Measure crescita anno su anno in 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)Domanda 18: Spiega ETL e la sua importanza nell'analytics
Risposta attesa: ETL sta per Extract, Transform, Load. I dati si muovono dai sistemi sorgente (ERP, CRM, log web) attraverso la trasformazione (pulizia, aggregazione, join) in un data warehouse per l'analisi.
Alternative moderne includono ELT (caricare prima i dati grezzi, trasformare nel warehouse) e strumenti come dbt che separano la logica di trasformazione dall'orchestrazione.
Domanda 19: Quali sono le differenze tra sistemi OLTP e OLAP?
| Aspetto | OLTP | OLAP |
|---|---|---|
| Scopo | Elaborazione transazioni | Query analitiche |
| Modello dati | Normalizzato (3NF) | Denormalizzato (star/snowflake) |
| Tipo query | Semplici, frequenti | Complesse, aggregate |
| Volume dati per query | Piccolo | Grande |
| Esempi | Inserimento ordini, banking | Data warehouse, report BI |
Domanda 20: Come ottimizzi una query SQL lenta?
Risposta attesa: Seguire un approccio sistematico:
- Analizzare piano esecuzione: Identificare full table scan, indici mancanti
- Aggiungere indici appropriati: Su colonne in WHERE, JOIN, ORDER BY
- Riscrivere pattern inefficienti: Sostituire subquery correlate con JOIN
- Limitare dati presto: Filtrare prima di fare join su tabelle grandi
- Usare query hint con parsimonia: Solo quando l'optimizer fa scelte sbagliate
-- query_optimization.sql
-- Prima: subquery correlata (lenta)
SELECT * FROM orders o
WHERE o.total > (SELECT AVG(total) FROM orders WHERE customer_id = o.customer_id);
-- Dopo: window function (più veloce)
SELECT * FROM (
SELECT *, AVG(total) OVER (PARTITION BY customer_id) AS avg_total
FROM orders
) sub
WHERE total > avg_total;Pronto a superare i tuoi colloqui su Data Analytics?
Pratica con i nostri simulatori interattivi, flashcards e test tecnici.
Domande Comportamentali e Basate su Scenari
Gli intervistatori italiani valutano il fit culturale e le capacità comunicative insieme alle abilità tecniche.
Domanda 21: Descrivi una situazione in cui la tua analisi ha contraddetto le aspettative degli stakeholder
Struttura risposta forte:
- Situazione: cosa credevano gli stakeholder
- Analisi: cosa mostravano effettivamente i dati
- Comunicazione: come sono state presentate le scoperte diplomaticamente
- Risultato: quale decisione è stata presa e il suo impatto
Comportamenti che gli intervistatori cercano: onestà intellettuale, comunicazione diplomatica e fermezza su conclusioni basate sui dati.
Domanda 22: Come dai priorità a richieste dati urgenti multiple?
Risposta attesa:
- Valutare l'impatto aziendale di ogni richiesta
- Chiarire le scadenze e negoziare dove possibile
- Identificare quick win vs. analisi approfondite
- Comunicare proattivamente timeline realistiche
- Escalare vincoli di risorse al management
Domanda 23: Come assicuri la qualità dei dati nelle tue analisi?
Risposta attesa:
- Validare i dati sorgente prima dell'analisi (controlli null, range, integrità referenziale)
- Documentare esplicitamente le assunzioni
- Incrociare multiple fonti dati
- Implementare controlli qualità dati automatizzati
- Rivedere manualmente gli outlier prima di escluderli
Domanda 24: Descrivi il tuo approccio all'apprendimento di un nuovo tool o tecnologia
Risposta attesa:
- Iniziare con documentazione ufficiale e tutorial
- Costruire un piccolo progetto per applicare i concetti
- Unirsi a community (Reddit, Stack Overflow, meetup locali)
- Insegnare ad altri per consolidare la comprensione
Domande Specifiche per il Mercato Italiano
Domanda 25: Quali regolamenti influenzano la data analytics in Italia?
Risposta attesa: Il GDPR è la normativa principale. Requisiti chiave includono:
- Consenso esplicito per l'elaborazione dei dati personali
- Diritto alla cancellazione (richieste di eliminazione dati)
- Minimizzazione dei dati (raccogliere solo dati necessari)
- Valutazioni d'impatto privacy per elaborazioni ad alto rischio
Settore-specifici: banking italiano (regolamenti Banca d'Italia), sanità (equivalenti italiani HIPAA), settore pubblico (linee guida CAD e AGID).
Domanda 26: Come gestisci i dati personali identificabili nei dataset analitici?
Risposta attesa:
- Pseudonimizzazione: sostituire identificatori con token
- Aggregazione: riportare a livello di gruppo, non individuale
- Mascheramento dati: nascondere porzioni sensibili (email: a***@gmail.com)
- Controlli accesso: permessi basati su ruolo per dati sensibili
- Policy retention: eliminare dati quando non più necessari
Domanda 27: Quale esperienza hai con piattaforme dati cloud?
Le aziende italiane usano sempre più piattaforme cloud. Comuni nel mercato:
- Google BigQuery (Google Cloud)
- Amazon Redshift (AWS)
- Azure Synapse (integrazione ecosistema Microsoft)
- Snowflake (cloud-agnostico)
Domanda 28: Come comunichi scoperte analitiche ai dirigenti?
Risposta attesa:
- Iniziare con la raccomandazione, non la metodologia
- Usare visualizzazioni che i dirigenti possano interpretare in secondi
- Quantificare l'impatto aziendale (fatturato, costi, rischio)
- Anticipare domande e preparare slide di backup
- Evitare gergo; tradurre termini tecnici
Domanda 29: Quali metriche tracceresti per un'azienda e-commerce?
Risposta attesa:
- Acquisizione: fonti traffico, costo per acquisizione
- Comportamento: bounce rate, pagine per sessione, tempo sul sito
- Conversione: tasso conversione per fase funnel, abbandono carrello
- Retention: tasso riacquisto, customer lifetime value
- Fatturato: valore medio ordine, fatturato per visitatore
Domanda 30: Come ti tieni aggiornato sui trend della data analytics?
Risposta attesa:
- Seguire pubblicazioni di settore: Towards Data Science, Analytics Vidhya
- Partecipare a competizioni Kaggle
- Frequentare conferenze: PyData, meetup data science locali a Milano o Roma
- Leggere documentazione per nuove release di strumenti
- Sperimentare con nuove tecnologie su progetti personali
Strategia di Preparazione per Colloqui Data Analyst in Italia 2026
- Padronanza SQL: Esercitarsi su problemi LeetCode Database e StrataScratch. Le aziende italiane testano intensamente JOINs, window functions e CTEs
- Competenza Python: Completare esercizi pandas su Kaggle. Focus su pulizia dati e aggregazione
- Familiarità strumenti: Le competenze Power BI sono molto valorizzate nelle aziende italiane. Tableau è comune nelle multinazionali
- Contesto aziendale: Preparare esempi da lavori precedenti che dimostrino la traduzione di domande aziendali in approcci analitici
- Lingua italiana: Mentre molte aziende tech operano in inglese, la fluenza in italiano migliora le opportunità in settori tradizionali (banking, manifattura, utilities)
Inizia a praticare!
Metti alla prova le tue conoscenze con i nostri simulatori di colloquio e test tecnici.
Sapresti trovare il bug in Data Analytics?
Uno snippet reale, un bug nascosto, un tentativo al giorno. Senza account per provare.

Scritto da
Anthony Fillion-MailletFondatore di SharpSkill
Sviluppatore fullstack da oltre 10 anni. Guida SharpSkill e risponde di tutto ciò che vi viene pubblicato.
Aggiornato il 26 agosto 2026
Tag
Condividi
Articoli correlati

Domande Colloquio Data Analyst 2026: Guida Completa SQL, Python e Analytics
Le domande più frequenti nei colloqui per Data Analyst nel 2026 con SQL window functions, esercizi Python Pandas e casi aziendali pratici per prepararsi al meglio.

Le 25 Domande Più Frequenti nei Colloqui di Data Analytics nel 2026
Le domande più comuni nei colloqui di data analytics nel 2026: SQL, Python, Power BI, statistica e domande comportamentali con risposte dettagliate e codice d'esempio.

dbt per Data Analyst nel 2026: Modellazione, Testing e Domande da Colloquio
Padroneggiare dbt (data build tool) per la data analytics — struttura del progetto, modellazione SQL, strategie di testing e domande frequenti nei colloqui con esempi pratici.