AccueilBlogTest technique SQL
Guide recrutement data

Test technique SQL : ce qu'on evalue vraiment en entretien data

SQL est la competence la plus universelle du monde data — et celle ou les entretiens sont le plus souvent mal calibres.

Data Builder·Juin 2025·9 min de lecture·Data Analyst · Analytics Engineer
Sommaire
  1. Jointures
  2. Agregations avancees
  3. Window functions
  4. Optimisation
  5. Modelisation
  6. Grille par niveau

Presque tous les candidats data disent maitriser SQL. Ce qui varie enormement, c'est ce que ca signifie reellement.

1Jointures

Question discriminante

Vous faites une LEFT JOIN entre commandes et clients. Combien de lignes si un client a passe 5 commandes ? Et si une commande n'a pas de client ?

Un bon profil repond immediatement : 5 lignes pour ce client, et une ligne avec NULL pour le client manquant. Il identifie spontanement le risque de duplication sur une cle non unique.

Signal d'alerte : un candidat qui ne sait pas ce que produit une LEFT JOIN sur une cle non unique a droite est eliminatoire au niveau Confirme.

2Agregations avancees

Question discriminante

Calculez en une seule requete le CA total ET le CA pour les commandes > 100 euros, par region.

SELECT region, SUM(montant) AS ca_total, SUM(montant) FILTER (WHERE montant > 100) AS ca_sup_100 FROM commandes GROUP BY region

3Window functions

Question discriminante

Calculez le CA cumule depuis le debut de l'annee pour chaque ligne, sans reduire le nombre de lignes.

SELECT date_vente, montant, SUM(montant) OVER ( PARTITION BY YEAR(date_vente) ORDER BY date_vente ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) AS ca_cumule FROM ventes

4Optimisation

Question discriminante

Votre requete sur 500M lignes prend 8 minutes. Que regardez-vous en premier ?

5Modelisation dimensionnelle

Question discriminante

Qu'est-ce qu'un schema en etoile ? Pourquoi est-il prefere au flocon de neige en analytique ?

6Grille par niveau

NiveauMaitrise attendueSignal GONO-GO
JuniorSELECT, WHERE, GROUP BY, jointures de baseComprend LEFT JOIN sur cas limites, utilise des CTEsConfond WHERE et HAVING
ConfirmeCTEs, window functions, CASE WHEN, FILTERExplique ROW_NUMBER vs RANK avec exemple metierNe connait pas les window functions
SeniorOptimisation, ROWS BETWEEN, QUALIFY, modelisationLit un plan d'execution, pense partitionnementUtilise SELECT * en production
LeadArchitecture, CTEs recursives, tests SQL, standardsA defini les conventions SQL d'equipeNe peut pas expliquer un SCD type 2

Vous recrutez un profil data ?

Premier entretien gratuit. Rapport GO/NO-GO sous 48h.