Questions d'Entretien Data Analyst Italie 2026 : SQL Avancé, Python et Études de Cas

Préparer les entretiens Data Analyst en Italie avec des questions réelles des entreprises italiennes en 2026. SQL avancé, Python pandas, études de cas et processus de recrutement italien.

Préparation aux entretiens Data Analyst avec requêtes SQL et visualisation de données Python

Les entretiens Data Analyst en Italie suivent un format structuré qui diffère des autres marchés européens. Les entreprises italiennes, des startups fintech milanaises aux grandes entreprises romaines, mettent l'accent sur la maîtrise du SQL, la manipulation de données avec Python et le raisonnement sur des cas métiers. Ce guide couvre les questions auxquelles les candidats font face en 2026.

Processus de Recrutement Italien

La plupart des entreprises italiennes organisent 3 à 4 tours d'entretien : un screening RH, un test technique SQL/Python (souvent chronométré), une présentation d'étude de cas et un entretien final sur l'adéquation culturelle. Le test technique dure généralement entre 60 et 90 minutes et utilise des plateformes comme Codility ou HackerRank.

Questions SQL Posées par les Entreprises Italiennes en 2026

Le SQL reste le fondement de chaque entretien Data Analyst en Italie. Des entreprises comme Intesa Sanpaolo, Enel et UniCredit utilisent des évaluations SQL standardisées avant le premier appel technique. Les questions ci-dessous proviennent d'entretiens réels menés à Milan, Rome et Turin.

Fonctions de Fenêtrage pour le Classement et les Totaux Cumulés

Les fonctions de fenêtrage apparaissent dans 80% des entretiens Data Analyst en Italie. Cette question teste le calcul du chiffre d'affaires cumulé :

sql
-- Calculer le total cumulé du chiffre d'affaires journalier par catégorie de produit
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 clause ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW est explicite ici. Bien que PostgreSQL et MySQL 8+ adoptent ce comportement par défaut avec ORDER BY, les recruteurs attendent des candidats qu'ils démontrent leur connaissance des limites de cadre. L'omettre dans BigQuery peut produire des résultats différents avec des valeurs en double.

CTE pour l'Analyse en Plusieurs Étapes

Les expressions de table communes (CTE) testent la capacité d'un candidat à décomposer des problèmes complexes. Les recruteurs italiens privilégient ce modèle car il reflète la façon dont les analystes documentent leur travail :

sql
-- Trouver les clients qui ont augmenté leurs dépenses de 20%+ d'un trimestre à l'autre
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'approche CTE sépare l'étape d'agrégation de l'étape de fonction de fenêtrage. Cela évite toute confusion sur le moment où LAG évalue, une source d'erreurs courante lorsque les analystes tentent de combiner ces opérations dans une seule requête.

Pour plus de modèles SQL utilisés en entretien, consultez le module SQL Window Functions.

Prêt à réussir tes entretiens Data Analytics ?

Entraîne-toi avec nos simulateurs interactifs, fiches express et tests techniques.

Questions Python Pandas pour les Entretiens Italiens

Python a dépassé Excel comme outil attendu pour la manipulation de données dans les postes de Data Analyst en Italie. Les entreprises testent spécifiquement pandas car cela révèle comment les candidats gèrent les tâches de nettoyage de données réelles.

Nettoyage de Données et Conversion de Types

Cette question apparaît dans les entretiens des entreprises e-commerce italiennes et teste la préparation pratique des données :

python
# sales_data_cleaning.py
import pandas as pd
import numpy as np

def clean_sales_data(df: pd.DataFrame) -> pd.DataFrame:
    """Nettoyer les données de ventes brutes d'un export ERP italien."""
    # Créer une copie pour éviter de modifier l'original
    cleaned = df.copy()
    
    # Format numérique italien : 1.234,56 -> 1234.56
    if cleaned['revenue'].dtype == 'object':
        cleaned['revenue'] = (
            cleaned['revenue']
            .str.replace('.', '', regex=False)  # Supprimer le séparateur de milliers
            .str.replace(',', '.', regex=False)  # Virgule décimale vers point
            .astype(float)
        )
    
    # Parser le format de date italien : 15/09/2026
    cleaned['order_date'] = pd.to_datetime(
        cleaned['order_date'], 
        format='%d/%m/%Y',
        errors='coerce'
    )
    
    # Gérer les valeurs manquantes selon le type de colonne
    cleaned['customer_segment'] = cleaned['customer_segment'].fillna('Unknown')
    cleaned['revenue'] = cleaned['revenue'].fillna(0)
    
    # Supprimer les doublons en gardant la première occurrence
    cleaned = cleaned.drop_duplicates(
        subset=['order_id'], 
        keep='first'
    )
    
    return cleaned

Le format numérique italien (point comme séparateur de milliers, virgule comme décimale) piège les candidats qui n'ont pratiqué qu'avec des données au format américain. Le paramètre errors='coerce' convertit les dates non analysables en NaT plutôt que de lever une exception, ce qui est le comportement attendu dans les pipelines de production.

GroupBy avec Agrégations Multiples

Cette question teste la compréhension des modèles d'agrégation pandas :

python
# customer_metrics.py
import pandas as pd

def calculate_customer_metrics(orders_df: pd.DataFrame) -> pd.DataFrame:
    """Calculer les métriques au niveau client pour l'analyse RFM."""
    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()
    
    # Calculer la durée de vie client en jours
    metrics['customer_lifetime'] = (
        metrics['last_order'] - metrics['first_order']
    ).dt.days
    
    return metrics

La syntaxe d'agrégation nommée (recency=('order_date', lambda x: ...)) est apparue dans pandas 0.25 et reste l'approche privilégiée en 2026. Les recruteurs italiens vérifient spécifiquement si les candidats utilisent cette syntaxe plutôt que la syntaxe dictionnaire dépréciée agg({'column': 'function'}).

Le module Python Pandas Basics couvre des modèles supplémentaires pour la préparation aux entretiens.

Questions d'Études de Cas des Entreprises Italiennes

Les entretiens italiens incluent une phase d'étude de cas dans 70% des postes de Data Analyst. Le candidat reçoit un jeu de données (généralement des données d'entreprise anonymisées) et doit présenter ses conclusions dans les 24 à 48 heures.

Analyse de Conversion E-Commerce

Une étude de cas typique d'une entreprise e-commerce de mode italienne :

« Analysez le jeu de données joint de 50 000 sessions utilisateurs. Identifiez pourquoi la conversion mobile a chuté de 15% en août par rapport à juillet. Présentez trois recommandations actionnables. »

Livrables attendus :

  1. Décomposition du tunnel par type d'appareil : Comparer desktop vs mobile à chaque étape (landing, vue produit, ajout au panier, checkout, achat)
  2. Analyse par segment : Vérifier si la baisse affecte toutes les sources de trafic ou des canaux spécifiques (le social payant sous-performe souvent sur mobile)
  3. Investigation technique : Rechercher les augmentations de temps de chargement, les taux d'erreur ou les changements d'interface qui ont coïncidé avec la baisse
python
# conversion_funnel.py
import pandas as pd

def analyze_funnel(sessions_df: pd.DataFrame) -> pd.DataFrame:
    """Calculer le tunnel de conversion par appareil et mois."""
    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()
    
    # Calculer les taux de conversion
    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

Les recruteurs italiens évaluent la présentation autant que l'analyse. Structurer les conclusions comme « problème, preuve, recommandation » avec des chiffres précis l'emporte sur un long récit exploratoire.

Évaluation des Risques dans les Services Financiers

Les banques comme Intesa Sanpaolo et UniCredit utilisent des études de cas axées sur les métriques de risque :

« En utilisant le jeu de données de prêts fourni, construisez un modèle de scoring simple pour prédire le risque de défaut. Expliquez votre raisonnement de sélection des features. »

Cela teste la compréhension de :

  • Feature engineering : Ratio dette/revenu, agrégation de l'historique de paiement, utilisation du crédit
  • Gestion des données déséquilibrées : Les taux de défaut sont généralement de 2 à 5%, nécessitant un échantillonnage stratifié ou des techniques de suréchantillonnage
  • Conscience réglementaire : Les réglementations bancaires italiennes (directives de la Banca d'Italia) exigent des modèles explicables, donc les approches boîte noire obtiennent des scores inférieurs

Ce que les Recruteurs Italiens Recherchent au-delà des Compétences Techniques

Les compétences techniques permettent aux candidats d'atteindre le tour final. L'adéquation culturelle détermine l'offre. Les entreprises italiennes évaluent :

Style de communication : Les Italiens valorisent la construction de relations. Se précipiter à travers les présentations pour « aller à l'essentiel » est perçu comme impoli. Il faut prendre son temps lors des présentations.

Signaux de collaboration : Des questions comme « Parlez-moi d'une fois où vous étiez en désaccord avec une partie prenante » testent si les candidats peuvent naviguer dans les hiérarchies italiennes, qui tendent à être plus formelles que les entreprises nordiques ou américaines.

Curiosité pour le domaine : Poser des questions informées sur l'industrie de l'entreprise montre une bonne préparation. Un analyste passant un entretien chez Luxottica devrait comprendre la dynamique du marché de la lunetterie. Chez Ferrari, la connaissance des métriques du luxe automobile compte.

Attentes Salariales et Contexte du Marché 2026

Salaires des Data Analysts en Italie pour 2026, basés sur les données Glassdoor et LinkedIn :

Niveau d'ExpérienceMilan (Brut Annuel)RomeRemote-First
Junior (0-2 ans)28 000-35 000 €25 000-32 000 €30 000-38 000 €
Mid (3-5 ans)40 000-52 000 €35 000-45 000 €42 000-55 000 €
Senior (5+ ans)55 000-70 000 €48 000-60 000 €58 000-75 000 €

Milan paie 15 à 20% de plus que les autres villes italiennes en raison de la concentration de services financiers et d'entreprises tech. Les postes remote-first dans des entreprises internationales dépassent souvent les tarifs locaux car ils sont en concurrence pour les talents paneuropéens.

Le contratto a tempo indeterminato (contrat permanent) italien reste le type d'emploi préféré. Les contrats à durée déterminée (tempo determinato) se convertissent en permanent après 24 mois selon la législation du travail actuelle.

Passe à la pratique !

Teste tes connaissances avec nos simulateurs d'entretien et tests techniques.

Préparer les Entretiens Data Analyst en Italie : Points Clés

  • Les fonctions de fenêtrage SQL et les CTE apparaissent dans 80% des tests techniques. Il faut pratiquer les modèles spécifiques présentés ci-dessus, pas des tutoriels génériques
  • Les questions Python pandas se concentrent sur le nettoyage de données avec les formats italiens (décimales virgule, dates européennes) et les agrégations groupby avec la syntaxe nommée
  • Les études de cas exigent des présentations structurées avec des recommandations quantifiées. « Augmenter la conversion de X% » l'emporte sur « améliorer l'expérience utilisateur »
  • Le test technique dure généralement 60 à 90 minutes sur Codility ou HackerRank. Il faut pratiquer le code chronométré pour éviter de manquer de temps
  • L'adéquation culturelle compte plus dans les entretiens italiens que dans les processus américains ou britanniques. Il faut se préparer aux questions de construction de relations
  • Les salaires ont augmenté de 8 à 12% en 2026 en raison de la pénurie de talents. Les candidats maîtrisant à la fois SQL et Python obtiennent des offres premium

Pour une préparation supplémentaire aux entretiens, le guide des Questions d'Entretien Data Analytics couvre des sujets plus larges, et l'article SQL Window Functions offre une pratique SQL plus approfondie.

Défi du jour

Tu saurais repérer le bug en Data Analytics ?

Un vrai bout de code, un bug caché, une tentative par jour. Sans compte pour essayer.

Anthony Fillion-Maillet

Écrit par

Anthony Fillion-Maillet

Fondateur de SharpSkill

Développeur fullstack depuis plus de 10 ans. Il dirige SharpSkill et répond de tout ce qui y est publié.

Mis à jour le 16 septembre 2026

Tags

#data-analytics
#interview
#italy
#sql
#python

Partager

Articles similaires