Domande Colloquio Data Analyst Italia 2026: SQL Avanzato, Python e Case Study
Guida completa per prepararsi ai colloqui da Data Analyst in Italia nel 2026. SQL Window Functions, Python Pandas con formati italiani e case study delle aziende milanesi.

I colloqui per Data Analyst in Italia seguono un formato strutturato che differisce da altri mercati europei. Le aziende italiane, dalle startup fintech milanesi alle imprese consolidate di Roma, enfatizzano la competenza in SQL, la manipolazione dati con Python e il ragionamento sui business case. Questa guida tratta le domande reali che i candidati affrontano nel 2026.
La maggior parte delle aziende italiane conduce 3-4 round di colloqui: screening HR, test tecnico SQL/Python (spesso a tempo), una presentazione di case study e un colloquio finale sul cultural fit. Il test tecnico dura tipicamente 60-90 minuti e utilizza piattaforme come Codility o HackerRank.
Domande SQL delle Aziende Italiane nel 2026
SQL rimane il fondamento di ogni colloquio Data Analyst in Italia. Aziende come Intesa Sanpaolo, Enel e UniCredit utilizzano assessment SQL standardizzati prima della prima chiamata tecnica. Le domande seguenti provengono da colloqui reali condotti a Milano, Roma e Torino.
Window Functions per Ranking e Totali Progressivi
Le window functions compaiono nell'80% dei colloqui Data Analyst italiani. Questa domanda testa il calcolo del fatturato cumulativo:
-- Calculate running total of daily revenue by product category
SELECT
order_date,
category,
daily_revenue,
SUM(daily_revenue) OVER (
PARTITION BY category
ORDER BY order_date
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
) AS cumulative_revenue
FROM (
SELECT
DATE(order_timestamp) AS order_date,
p.category,
SUM(oi.quantity * oi.unit_price) AS daily_revenue
FROM order_items oi
JOIN products p ON oi.product_id = p.id
GROUP BY DATE(order_timestamp), p.category
) daily_sales
ORDER BY category, order_date;La clausola ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW è esplicita qui. Mentre PostgreSQL e MySQL 8+ adottano questo comportamento di default con ORDER BY, gli intervistatori si aspettano che i candidati dimostrino consapevolezza dei frame boundaries. Ometterla in BigQuery può produrre risultati diversi con valori duplicati.
CTE per Analisi Multi-Step
Le Common Table Expressions (CTE) testano la capacità del candidato di scomporre problemi complessi. Gli intervistatori italiani preferiscono questo pattern perché rispecchia come gli analisti documentano il loro lavoro:
-- Find customers who increased spending by 20%+ quarter over quarter
WITH quarterly_spending AS (
SELECT
customer_id,
DATE_TRUNC('quarter', order_date) AS quarter,
SUM(total_amount) AS quarter_total
FROM orders
WHERE order_date >= '2025-01-01'
GROUP BY customer_id, DATE_TRUNC('quarter', order_date)
),
spending_growth AS (
SELECT
customer_id,
quarter,
quarter_total,
LAG(quarter_total) OVER (
PARTITION BY customer_id ORDER BY quarter
) AS prev_quarter_total
FROM quarterly_spending
)
SELECT
customer_id,
quarter,
quarter_total,
prev_quarter_total,
ROUND(
(quarter_total - prev_quarter_total) / prev_quarter_total * 100,
2
) AS growth_pct
FROM spending_growth
WHERE prev_quarter_total IS NOT NULL
AND (quarter_total - prev_quarter_total) / prev_quarter_total >= 0.20
ORDER BY growth_pct DESC;L'approccio CTE separa lo step di aggregazione dallo step della window function. Questo previene confusione su quando LAG viene valutato – una fonte comune di errori quando gli analisti cercano di combinare queste operazioni in una singola query.
Per altri pattern SQL utilizzati nei colloqui, consultare il modulo SQL Window Functions.
Pronto a superare i tuoi colloqui su Data Analytics?
Pratica con i nostri simulatori interattivi, flashcards e test tecnici.
Domande Python Pandas per Colloqui Italiani
Python ha superato Excel come strumento atteso per la manipolazione dati nei ruoli Data Analyst italiani. Le aziende testano specificamente pandas perché rivela come i candidati gestiscono compiti reali di pulizia dati.
Pulizia Dati e Conversione Tipi
Questa domanda appare nei colloqui presso aziende e-commerce italiane e testa la preparazione pratica dei dati:
# sales_data_cleaning.py
import pandas as pd
import numpy as np
def clean_sales_data(df: pd.DataFrame) -> pd.DataFrame:
"""Clean raw sales data from Italian ERP export."""
# Create copy to avoid modifying original
cleaned = df.copy()
# Italian number format: 1.234,56 -> 1234.56
if cleaned['revenue'].dtype == 'object':
cleaned['revenue'] = (
cleaned['revenue']
.str.replace('.', '', regex=False) # Remove thousand separator
.str.replace(',', '.', regex=False) # Decimal comma to point
.astype(float)
)
# Parse Italian date format: 15/09/2026
cleaned['order_date'] = pd.to_datetime(
cleaned['order_date'],
format='%d/%m/%Y',
errors='coerce'
)
# Handle missing values based on column type
cleaned['customer_segment'] = cleaned['customer_segment'].fillna('Unknown')
cleaned['revenue'] = cleaned['revenue'].fillna(0)
# Remove duplicates keeping first occurrence
cleaned = cleaned.drop_duplicates(
subset=['order_id'],
keep='first'
)
return cleanedIl formato numerico italiano (punto come separatore delle migliaia, virgola come decimale) coglie impreparati i candidati che hanno praticato solo con dati in formato US. Il parametro errors='coerce' converte le date non parsabili in NaT invece di sollevare un'eccezione – il comportamento atteso nelle pipeline di produzione.
GroupBy con Aggregazioni Multiple
Questa domanda testa la comprensione dei pattern di aggregazione pandas:
# customer_metrics.py
import pandas as pd
def calculate_customer_metrics(orders_df: pd.DataFrame) -> pd.DataFrame:
"""Calculate customer-level metrics for RFM analysis."""
reference_date = orders_df['order_date'].max()
metrics = orders_df.groupby('customer_id').agg(
recency=('order_date', lambda x: (reference_date - x.max()).days),
frequency=('order_id', 'nunique'),
monetary=('revenue', 'sum'),
avg_order_value=('revenue', 'mean'),
first_order=('order_date', 'min'),
last_order=('order_date', 'max')
).reset_index()
# Calculate customer lifetime in days
metrics['customer_lifetime'] = (
metrics['last_order'] - metrics['first_order']
).dt.days
return metricsLa sintassi di aggregazione nominata (recency=('order_date', lambda x: ...)) è apparsa in pandas 0.25 e rimane l'approccio preferito nel 2026. Gli intervistatori italiani verificano specificamente se i candidati utilizzano questa invece della sintassi deprecata agg({'column': 'function'}).
Il modulo Python Pandas Basics copre pattern aggiuntivi per la preparazione ai colloqui.
Domande Case Study delle Aziende Italiane
I colloqui italiani includono un round di case study nel 70% delle posizioni Data Analyst. Il candidato riceve un dataset (solitamente dati aziendali anonimizzati) e deve presentare i risultati entro 24-48 ore.
Analisi Conversione E-Commerce
Un tipico case study da un'azienda e-commerce italiana di moda:
"Analizzare il dataset allegato di 50.000 sessioni utente. Identificare perché la conversione mobile è calata del 15% ad agosto rispetto a luglio. Presentare tre raccomandazioni actionable."
Deliverable attesi:
- Breakdown del funnel per tipo di dispositivo: Confrontare desktop vs mobile in ogni fase (landing, visualizzazione prodotto, aggiunta al carrello, checkout, acquisto)
- Analisi per segmento: Verificare se il calo riguarda tutte le sorgenti di traffico o canali specifici (il paid social spesso performa peggio su mobile)
- Indagine tecnica: Cercare aumenti nei tempi di caricamento pagina, tassi di errore o modifiche UI coincidenti con il calo
# conversion_funnel.py
import pandas as pd
def analyze_funnel(sessions_df: pd.DataFrame) -> pd.DataFrame:
"""Calculate conversion funnel by device and month."""
sessions_df['month'] = sessions_df['session_start'].dt.to_period('M')
funnel = sessions_df.groupby(['month', 'device_type']).agg(
sessions=('session_id', 'nunique'),
product_views=('viewed_product', 'sum'),
add_to_cart=('added_to_cart', 'sum'),
checkouts=('started_checkout', 'sum'),
purchases=('completed_purchase', 'sum')
).reset_index()
# Calculate conversion rates
funnel['view_rate'] = funnel['product_views'] / funnel['sessions']
funnel['cart_rate'] = funnel['add_to_cart'] / funnel['product_views']
funnel['checkout_rate'] = funnel['checkouts'] / funnel['add_to_cart']
funnel['purchase_rate'] = funnel['purchases'] / funnel['checkouts']
funnel['overall_conversion'] = funnel['purchases'] / funnel['sessions']
return funnelGli intervistatori italiani valutano la presentazione tanto quanto l'analisi. Strutturare i risultati come "problema, evidenza, raccomandazione" con numeri specifici batte una lunga narrazione esplorativa.
Valutazione del Rischio nei Servizi Finanziari
Banche come Intesa Sanpaolo e UniCredit utilizzano case study focalizzati su metriche di rischio:
"Utilizzando il dataset prestiti fornito, costruire un semplice modello di scoring per prevedere il rischio di default. Spiegare la logica della selezione delle feature."
Questo testa la comprensione di:
- Feature engineering: Rapporto debito/reddito, aggregazione storico pagamenti, utilizzo del credito
- Gestione dati sbilanciati: I tassi di default sono tipicamente del 2-5%, richiedendo tecniche di sampling stratificato o oversampling
- Consapevolezza normativa: Le normative bancarie italiane (linee guida Banca d'Italia) richiedono modelli spiegabili, quindi approcci black-box ottengono punteggi inferiori
Cosa Cercano gli Intervistatori Italiani Oltre le Competenze Tecniche
Le competenze tecniche portano i candidati al round finale. Il cultural fit determina l'offerta. Le aziende italiane valutano:
Stile comunicativo: Gli italiani valorizzano la costruzione di relazioni. Affrettarsi attraverso le convenevoli per "arrivare al punto" viene percepito come scortese. Prendersi tempo durante le presentazioni è importante.
Segnali di collaborazione: Domande come "Raccontami di una volta in cui non eri d'accordo con uno stakeholder" testano se i candidati sanno navigare le gerarchie del posto di lavoro italiano, che tendono ad essere più formali rispetto alle aziende nordiche o statunitensi.
Curiosità di settore: Fare domande informate sull'industria dell'azienda dimostra preparazione. Un analista che fa un colloquio da Luxottica dovrebbe capire le dinamiche del mercato dell'occhialeria. Da Ferrari, la conoscenza delle metriche del settore automotive di lusso conta.
Aspettative Salariali e Contesto di Mercato 2026
Stipendi Data Analyst in Italia per il 2026, basati su dati Glassdoor e LinkedIn:
| Livello Esperienza | Milano (Lordo Annuo) | Roma | Remote-First |
|---|---|---|---|
| Junior (0-2 anni) | 28.000-35.000 € | 25.000-32.000 € | 30.000-38.000 € |
| Mid (3-5 anni) | 40.000-52.000 € | 35.000-45.000 € | 42.000-55.000 € |
| Senior (5+ anni) | 55.000-70.000 € | 48.000-60.000 € | 58.000-75.000 € |
Milano paga il 15-20% in più rispetto ad altre città italiane per la concentrazione di servizi finanziari e aziende tech. I ruoli remote-first presso aziende internazionali spesso superano le tariffe locali perché competono per talenti paneuropei.
Il contratto a tempo indeterminato italiano rimane il tipo di impiego preferito. I contratti a tempo determinato si convertono in indeterminato dopo 24 mesi secondo la legge sul lavoro vigente.
Inizia a praticare!
Metti alla prova le tue conoscenze con i nostri simulatori di colloquio e test tecnici.
Preparazione ai Colloqui Data Analyst Italiani: Punti Chiave
- Le SQL window functions e le CTE compaiono nell'80% degli screening tecnici. Esercitarsi sui pattern specifici mostrati sopra, non sui tutorial generici
- Le domande Python pandas si concentrano sulla pulizia dati con formati italiani (decimali con virgola, date europee) e aggregazioni groupby con sintassi nominata
- I case study richiedono presentazioni strutturate con raccomandazioni quantificate. "Aumentare la conversione del X%" batte "migliorare l'esperienza utente"
- Il test tecnico dura tipicamente 60-90 minuti su Codility o HackerRank. Esercitarsi con il coding a tempo per evitare di sforare
- Il cultural fit conta più nei colloqui italiani che nei processi US o UK. Prepararsi per domande sulla costruzione di relazioni
- Gli stipendi sono aumentati dell'8-12% nel 2026 per carenza di talenti. I candidati con competenze sia SQL che Python ottengono offerte premium
Per ulteriore preparazione ai colloqui, la guida Data Analytics Interview Questions copre argomenti più ampi, e l'articolo SQL Window Functions fornisce pratica SQL più approfondita.
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 16 settembre 2026
Condividi
Articoli correlati

Lavoro Data Analyst 2026: Dove cercare, fasce salariali, come prepararsi ai colloqui
Lavoro Data Analyst 2026: 1470 posizioni attive, stipendio mediano 103k EUR, 41% remoto. Dove trovare offerte e come prepararsi ai colloqui tecnici.

Excel Power Query nel 2026: ETL per Data Analyst e Domande di Colloquio
Guida completa a Excel Power Query per workflow ETL, linguaggio M e domande frequenti nei colloqui per data analyst.

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.