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.

Domande Colloquio Data Analyst Italia 2026

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.

Processo di Selezione Italiano

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:

sql
-- 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:

sql
-- 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:

python
# 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 cleaned

Il 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:

python
# 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 metrics

La 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:

  1. Breakdown del funnel per tipo di dispositivo: Confrontare desktop vs mobile in ogni fase (landing, visualizzazione prodotto, aggiunta al carrello, checkout, acquisto)
  2. Analisi per segmento: Verificare se il calo riguarda tutte le sorgenti di traffico o canali specifici (il paid social spesso performa peggio su mobile)
  3. Indagine tecnica: Cercare aumenti nei tempi di caricamento pagina, tassi di errore o modifiche UI coincidenti con il calo
python
# 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 funnel

Gli 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 EsperienzaMilano (Lordo Annuo)RomaRemote-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.

Sfida del giorno

Sapresti trovare il bug in Data Analytics?

Uno snippet reale, un bug nascosto, un tentativo al giorno. Senza account per provare.

Anthony Fillion-Maillet

Scritto da

Anthony Fillion-Maillet

Fondatore 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