Questions d'Entretien Data Analyst Italie 2026 : SQL, Python et Analytics
Les questions d'entretien data analyst en Italie pour 2026 couvrent SQL, Python pandas, et l'analyse business. Ce guide présente 30 questions techniques avec réponses détaillées et exemples de code.

Les entretiens de data analyst en Italie pour 2026 se concentrent fortement sur la maîtrise de SQL, la manipulation de données avec Python, et la capacité à traduire des problèmes business en solutions analytiques. Avec plus de 600 postes ouverts à Milan, Rome et Bologne, des entreprises comme Prometeia, Bending Spoons et ABB attendent des candidats une expertise technique approfondie combinée à une compréhension des enjeux métier.
Les employeurs italiens privilégient les compétences SQL et Power BI. La maîtrise de Python avec pandas différencie les candidats, notamment dans les entreprises tech de Milan. Les salaires d'entrée varient de 28 000 € à 39 000 €, les postes seniors atteignant 80 000 €+.
Questions SQL présentes dans chaque entretien Data Analyst
SQL reste le fondement des entretiens data analyst en Italie. Les responsables du recrutement chez Italgas et Philip Morris testent les candidats sur les JOIN, les agrégations et les window functions. Ces questions évaluent la capacité à extraire des insights pertinents des bases de données relationnelles.
Question 1 : Expliquer la différence entre INNER JOIN et LEFT JOIN avec un exemple pratique
Réponse attendue : INNER JOIN retourne uniquement les lignes où des correspondances existent dans les deux tables. LEFT JOIN retourne toutes les lignes de la table de gauche plus les lignes correspondantes de la table de droite, avec des valeurs NULL en l'absence de correspondance.
-- orders_analysis.sql
-- Trouver tous les clients et leurs commandes (y compris les clients sans commandes)
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;
-- Résultat : Les clients sans commandes apparaissent avec order_id et order_total NULL
-- INNER JOIN exclurait entièrement ces clientsLes recruteurs recherchent des candidats qui comprennent quand les valeurs NULL apparaissent et peuvent expliquer le contexte métier pour choisir un type de jointure plutôt qu'un autre.
Question 2 : Écrire une requête pour trouver le deuxième salaire le plus élevé dans une table
Cette question teste la connaissance des sous-requêtes, DISTINCT et la limitation des résultats. Plusieurs approches valides existent.
-- salary_analysis.sql
-- Approche 1 : Utilisation d'une sous-requête avec MAX
SELECT MAX(salary) AS second_highest
FROM employees
WHERE salary < (SELECT MAX(salary) FROM employees);
-- Approche 2 : Utilisation de 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'approche avec window function gère correctement les égalités. Si trois employés partagent le salaire le plus élevé, DENSE_RANK retourne toujours la vraie deuxième valeur. L'utilisation de ROW_NUMBER donnerait des résultats différents, ce qui démontre la compréhension des fonctions de fenêtrage SQL.
Question 3 : Comment identifier et gérer les enregistrements en double ?
Réponse attendue : Utiliser GROUP BY avec HAVING COUNT(*) > 1 pour identifier les doublons. L'approche dépend de la règle métier : conserver le premier enregistrement, le plus récent, ou fusionner les informations.
-- duplicate_detection.sql
-- Trouver les adresses email en double
SELECT email, COUNT(*) AS occurrence_count
FROM users
GROUP BY email
HAVING COUNT(*) > 1;
-- Conserver uniquement le premier enregistrement pour chaque email
DELETE FROM users
WHERE id NOT IN (
SELECT MIN(id)
FROM users
GROUP BY email
);Question 4 : Expliquer les CTE et quand les utiliser à la place des sous-requêtes
Les Common Table Expressions améliorent la lisibilité des requêtes et permettent les requêtes récursives. Les recruteurs italiens demandent souvent aux candidats de restructurer une sous-requête complexe en CTE.
-- revenue_analysis.sql
-- CTE pour le calcul du revenu mensuel
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;Les CTE sont réutilisables dans la même requête, contrairement aux sous-requêtes qui doivent être répétées. Cela compte pour les requêtes analytiques complexes courantes dans les postes de data analyst.
Question 5 : Quelle est la différence entre WHERE et HAVING ?
Réponse attendue : WHERE filtre les lignes avant l'agrégation ; HAVING filtre les groupes après l'agrégation. WHERE ne peut pas référencer les fonctions d'agrégation ; HAVING le peut.
-- sales_filter.sql
-- WHERE filtre les lignes individuelles
SELECT region, SUM(sales) AS total_sales
FROM transactions
WHERE transaction_date >= '2026-01-01' -- Filtrer les lignes d'abord
GROUP BY region
HAVING SUM(sales) > 100000; -- Puis filtrer les groupes agrégésPrêt à réussir tes entretiens Data Analytics ?
Entraîne-toi avec nos simulateurs interactifs, fiches express et tests techniques.
Questions Python et Pandas pour les postes Data Analyst
Les entreprises tech de Milan, notamment Bending Spoons et Amazon Italy, exigent la maîtrise de Python. Ces questions évaluent les compétences en manipulation de données avec pandas et en visualisation basique.
Question 6 : Comment gérer les valeurs manquantes dans un DataFrame pandas ?
Réponse attendue : L'approche dépend du type de données et du contexte métier. Les options incluent la suppression des lignes, le remplissage par moyenne/médiane/mode, le forward-fill pour les séries temporelles, ou l'interpolation.
# 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']
})
# Vérifier les valeurs manquantes par colonne
print(df.isnull().sum())
# Remplir les numériques avec la médiane (robuste aux outliers)
df['sales'] = df['sales'].fillna(df['sales'].median())
# Remplir les catégorielles avec le mode
df['category'] = df['category'].fillna(df['category'].mode()[0])
# Pour les séries temporelles : forward fill
df['sales_ffill'] = df['sales'].ffill()Les recruteurs évaluent si les candidats comprennent que supprimer aveuglément des lignes fait perdre de l'information, et que la stratégie de remplissage doit s'aligner avec l'objectif analytique.
Question 7 : Expliquer la différence entre merge, join et concat dans pandas
Réponse attendue : merge() combine les DataFrames sur des colonnes ou des index (jointures style SQL). join() est une méthode pratique pour les jointures basées sur l'index. concat() empile les DataFrames verticalement ou horizontalement sans correspondance.
# 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 : jointure style SQL sur colonne
merged = pd.merge(orders, customers, on='customer_id', how='left')
# concat : empiler les DataFrames
df1 = pd.DataFrame({'A': [1, 2]})
df2 = pd.DataFrame({'A': [3, 4]})
stacked = pd.concat([df1, df2], ignore_index=True)Question 8 : Comment effectuer une opération group-by avec plusieurs agrégations ?
# 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]
})
# Agrégations multiples avec colonnes nommées
result = df.groupby('region').agg(
total_sales=('sales', 'sum'),
avg_sales=('sales', 'mean'),
total_quantity=('quantity', 'sum'),
transaction_count=('sales', 'count')
).reset_index()Cette syntaxe (agrégation nommée) est devenue le standard dans pandas 1.0+ et reste actuelle dans pandas 3.0. Les recruteurs attendent des candidats qu'ils l'utilisent plutôt que l'ancienne approche basée sur les dictionnaires.
Question 9 : Écrire du code pour calculer le taux de croissance mois par mois
# 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]
})
# Calculer la variation en pourcentage
df['mom_growth'] = df['revenue'].pct_change() * 100
# Alternative : calcul manuel pour plus de clarté
df['prev_revenue'] = df['revenue'].shift(1)
df['growth_manual'] = ((df['revenue'] - df['prev_revenue']) / df['prev_revenue']) * 100Question 10 : Comment pivoter des données dans 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 : lignes=date, colonnes=region, valeurs=sales
pivot_table = df.pivot(index='date', columns='region', values='sales')
# pivot_table pour l'agrégation quand il y a des doublons
agg_pivot = pd.pivot_table(df, values='sales', index='date',
columns='region', aggfunc='sum')Questions sur l'Analytics Business et la Résolution de Problèmes
Les entreprises italiennes, notamment dans la finance (Prometeia) et l'industrie (ABB), testent la pensée analytique au-delà du code pur. Ces questions évaluent comment les candidats formulent les problèmes et communiquent leurs conclusions.
Question 11 : Comment mesurer le succès d'une campagne marketing ?
Réponse attendue : Définir les KPI avant le lancement de la campagne. Les métriques courantes incluent le taux de conversion, le coût par acquisition (CPA), le retour sur dépenses publicitaires (ROAS), et la valeur vie client (CLV). Comparer avec un groupe de contrôle ou une référence historique.
Une réponse solide inclut :
- Les métriques de référence avant le lancement de la campagne
- Le choix du modèle d'attribution (first-touch, last-touch, multi-touch)
- Les tests de significativité statistique pour les résultats
- La segmentation par canal, audience ou géographie
Question 12 : Un product manager rapporte que les revenus ont chuté de 15% ce mois-ci. Comment enquêter ?
Réponse attendue : Décomposer le problème de manière systématique :
- Vérifier les données : Rechercher des problèmes de qualité des données, des enregistrements manquants ou un retard de reporting
- Analyse par segments : Décomposer par produit, région, segment client, canal
- Isoler la variable : Déterminer si le volume a baissé, si le prix a changé, ou si le mix a évolué
- Facteurs externes : Vérifier la saisonnalité, les actions des concurrents, les événements économiques
- Corréler avec d'autres métriques : Trafic du site web, taux de conversion, abandon de panier
Question 13 : Expliquer l'A/B testing et quand il ne devrait pas être utilisé
Réponse attendue : L'A/B testing compare deux variantes (contrôle vs. traitement) pour mesurer l'impact causal. Il nécessite une assignation aléatoire, une taille d'échantillon suffisante, et une métrique d'intérêt unique.
L'A/B testing ne devrait pas être utilisé quand :
- La taille de l'échantillon est insuffisante pour la puissance statistique
- Le changement affecte tous les utilisateurs (infrastructure, tarification)
- Des effets de réseau existent (fonctionnalités sociales où les utilisateurs s'influencent mutuellement)
- Des préoccupations éthiques empêchent de refuser un changement bénéfique
Question 14 : Comment expliquer la significativité statistique à un interlocuteur non technique ?
Réponse attendue : La significativité statistique signifie que la différence observée a peu de chances d'être due au hasard. Une p-value inférieure à 0,05 indique moins de 5% de probabilité que le résultat se soit produit aléatoirement.
Analogie : lancer une pièce 10 fois et obtenir 7 faces pourrait être le hasard. Obtenir 95 faces sur 100 lancers est statistiquement significatif car le hasard seul ne peut pas l'expliquer.
Question 15 : Quelle est la différence entre corrélation et causalité ?
Réponse attendue : La corrélation mesure comment deux variables évoluent ensemble. La causalité signifie qu'une variable influence directement l'autre. Les ventes de glaces et les noyades sont corrélées (les deux augmentent en été), mais les glaces ne causent pas les noyades.
Établir la causalité nécessite :
- La précédence temporelle (la cause précède l'effet)
- La corrélation
- L'élimination des variables confondantes (expérience contrôlée randomisée)
Questions d'Évaluation des Compétences Techniques
Ces questions testent la maîtrise d'outils spécifiques attendue sur le marché italien.
Question 16 : Comparer Power BI et Tableau pour l'analytics d'entreprise
Les entreprises italiennes, notamment dans la banque et les services publics, utilisent fortement Power BI en raison de l'intégration à l'écosystème Microsoft. Différences clés :
| Aspect | Power BI | Tableau |
|---|---|---|
| Coût | Plus bas (inclus dans Office 365) | Licence plus élevée |
| Courbe d'apprentissage | Plus facile pour les utilisateurs Excel | Plus raide, plus puissant |
| Préparation des données | Power Query intégré | Prep nécessite un outil séparé |
| Visualisation | Bon, en amélioration | Meilleur de sa catégorie |
| Adoption entreprise | Plus élevée en Italie | Courante dans les multinationales |
Question 17 : Qu'est-ce que DAX et fournir un exemple de mesure
Réponse attendue : DAX (Data Analysis Expressions) est le langage de formule de Power BI pour les calculs. Les mesures calculent des valeurs dynamiquement en fonction du contexte de filtre.
// Mesure de croissance 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)Question 18 : Expliquer l'ETL et son importance dans l'analytics
Réponse attendue : ETL signifie Extract, Transform, Load. Les données passent des systèmes sources (ERP, CRM, logs web) par la transformation (nettoyage, agrégation, jointures) vers un data warehouse pour analyse.
Les alternatives modernes incluent ELT (charger les données brutes d'abord, transformer dans le warehouse) et des outils comme dbt qui séparent la logique de transformation de l'orchestration.
Question 19 : Quelles sont les différences entre les systèmes OLTP et OLAP ?
| Aspect | OLTP | OLAP |
|---|---|---|
| Objectif | Traitement des transactions | Requêtes analytiques |
| Modèle de données | Normalisé (3NF) | Dénormalisé (star/snowflake) |
| Type de requête | Simple, fréquent | Complexe, agrégé |
| Volume de données par requête | Petit | Grand |
| Exemples | Saisie de commandes, banque | Data warehouse, rapports BI |
Question 20 : Comment optimiser une requête SQL lente ?
Réponse attendue : Suivre une approche systématique :
- Analyser le plan d'exécution : Identifier les full table scans, les index manquants
- Ajouter les index appropriés : Sur les colonnes dans WHERE, JOIN, ORDER BY
- Réécrire les patterns inefficaces : Remplacer les sous-requêtes corrélées par des JOIN
- Limiter les données tôt : Filtrer avant de joindre de grandes tables
- Utiliser les hints avec parcimonie : Uniquement quand l'optimiseur fait de mauvais choix
-- query_optimization.sql
-- Avant : sous-requête corrélée (lent)
SELECT * FROM orders o
WHERE o.total > (SELECT AVG(total) FROM orders WHERE customer_id = o.customer_id);
-- Après : window function (plus rapide)
SELECT * FROM (
SELECT *, AVG(total) OVER (PARTITION BY customer_id) AS avg_total
FROM orders
) sub
WHERE total > avg_total;Prêt à réussir tes entretiens Data Analytics ?
Entraîne-toi avec nos simulateurs interactifs, fiches express et tests techniques.
Questions Comportementales et Basées sur des Scénarios
Les recruteurs italiens évaluent l'adéquation culturelle et les compétences en communication en plus des capacités techniques.
Question 21 : Décrire une situation où votre analyse a contredit les attentes des parties prenantes
Structure de réponse solide :
- Situation : ce que les parties prenantes croyaient
- Analyse : ce que les données montraient réellement
- Communication : comment les conclusions ont été présentées diplomatiquement
- Résultat : quelle décision a été prise et son impact
Comportements clés que les recruteurs recherchent : honnêteté intellectuelle, communication diplomatique, et défense des conclusions basées sur les données.
Question 22 : Comment prioriser plusieurs demandes de données urgentes ?
Réponse attendue :
- Évaluer l'impact business de chaque demande
- Clarifier les délais et négocier si possible
- Identifier les quick wins vs. les analyses approfondies
- Communiquer des délais réalistes de manière proactive
- Escalader les contraintes de ressources au management
Question 23 : Comment assurer la qualité des données dans vos analyses ?
Réponse attendue :
- Valider les données sources avant l'analyse (vérifications des nulls, des plages, de l'intégrité référentielle)
- Documenter les hypothèses explicitement
- Croiser plusieurs sources de données
- Implémenter des vérifications automatisées de la qualité des données
- Examiner manuellement les outliers avant de les exclure
Question 24 : Décrire votre approche pour apprendre un nouvel outil ou une nouvelle technologie
Réponse attendue :
- Commencer par la documentation officielle et les tutoriels
- Construire un petit projet pour appliquer les concepts
- Rejoindre des communautés (Reddit, Stack Overflow, meetups locaux)
- Enseigner aux autres pour consolider la compréhension
Questions Spécifiques à l'Industrie pour le Marché Italien
Question 25 : Quelles réglementations affectent l'analytics des données en Italie ?
Réponse attendue : Le RGPD est la réglementation principale. Exigences clés :
- Consentement explicite pour le traitement des données personnelles
- Droit à l'effacement (demandes de suppression des données)
- Minimisation des données (collecter uniquement les données nécessaires)
- Évaluations d'impact sur la vie privée pour les traitements à haut risque
Spécifique au secteur : Banque italienne (réglementations de la Banque d'Italie), santé (équivalent italien HIPAA), secteur public (CAD et directives AGID).
Question 26 : Comment gérer les données personnelles identifiables (PII) dans les jeux de données analytiques ?
Réponse attendue :
- Pseudonymisation : remplacer les identifiants par des tokens
- Agrégation : rapporter au niveau du groupe, pas individuel
- Masquage des données : cacher les portions sensibles (email : a***@gmail.com)
- Contrôles d'accès : permissions basées sur les rôles pour les données sensibles
- Politiques de rétention : supprimer les données quand elles ne sont plus nécessaires
Question 27 : Quelle expérience avez-vous avec les plateformes de données cloud ?
Les entreprises italiennes utilisent de plus en plus les plateformes cloud. Courantes sur le marché :
- Google BigQuery (Google Cloud)
- Amazon Redshift (AWS)
- Azure Synapse (intégration écosystème Microsoft)
- Snowflake (cloud-agnostique)
Question 28 : Comment communiquer des conclusions analytiques aux dirigeants ?
Réponse attendue :
- Commencer par la recommandation, pas la méthodologie
- Utiliser des visualisations que les dirigeants peuvent interpréter en quelques secondes
- Quantifier l'impact business (revenus, coûts, risques)
- Anticiper les questions et préparer des slides de backup
- Éviter le jargon ; traduire les termes techniques
Question 29 : Quelles métriques suivre pour une entreprise e-commerce ?
Réponse attendue :
- Acquisition : sources de trafic, coût par acquisition
- Comportement : taux de rebond, pages par session, temps sur site
- Conversion : taux de conversion par étape du funnel, abandon de panier
- Rétention : taux de réachat, valeur vie client
- Revenus : panier moyen, revenu par visiteur
Question 30 : Comment rester à jour sur les tendances en data analytics ?
Réponse attendue :
- Suivre les publications du secteur : Towards Data Science, Analytics Vidhya
- Participer aux compétitions Kaggle
- Assister aux conférences : PyData, meetups data science locaux à Milan ou Rome
- Lire la documentation des nouvelles versions d'outils
- Expérimenter avec les nouvelles technologies sur des projets personnels
Stratégie de Préparation pour les Entretiens Data Analyst en Italie 2026
- Maîtrise SQL : S'entraîner sur les problèmes LeetCode Database et StrataScratch. Les entreprises italiennes testent fortement les JOIN, les window functions et les CTE
- Maîtrise Python : Compléter les exercices pandas sur Kaggle. Se concentrer sur le nettoyage de données et l'agrégation
- Familiarité avec les outils : Les compétences Power BI sont très valorisées dans les entreprises italiennes. Tableau est courant dans les multinationales
- Contexte business : Préparer des exemples de travaux précédents qui démontrent la traduction de questions business en approches analytiques
- Langue italienne : Bien que de nombreuses entreprises tech opèrent en anglais, la maîtrise de l'italien améliore les opportunités dans les industries traditionnelles (banque, industrie, services publics)
Passe à la pratique !
Teste tes connaissances avec nos simulateurs d'entretien et tests techniques.
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.

Écrit par
Anthony Fillion-MailletFondateur 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 26 août 2026
Partager
Articles similaires

Questions Entretien Data Analyst 2026 : Guide Complet SQL, Python et Analytics
Maîtrisez les questions d'entretien data analyst les plus fréquentes en 2026. Fonctions SQL window, manipulation pandas, statistiques et études de cas métier avec exemples de code pratiques.

Polars vs Pandas en 2026 : Performance, Syntaxe et Questions d'Entretien pour Analystes de Données
Comparaison approfondie entre Polars et Pandas en 2026 avec benchmarks de performance, différences syntaxiques et questions d'entretien technique pour analystes de données.

Google BigQuery vs Amazon Redshift en 2026 : Comparatif et Questions d'Entretien Data Analyst
Comparatif détaillé entre BigQuery et Redshift en 2026 : architecture, tarification, performances et questions fréquentes en entretien pour les analystes de données.