AccueilBlogTest technique dbt
Guide recrutement data

Test technique dbt : ce qu'on evalue en entretien Analytics Engineer

dbt est devenu le standard de la transformation data. Entre lancer dbt run et concevoir une architecture robuste, il y a un monde.

Data Builder·Juin 2025·7 min de lecture·Analytics Engineer

dbt a transforme le metier d'Analytics Engineer. Sa structure impose de bonnes pratiques — mais seulement si le candidat les a vraiment internalisees.

1Structure et materialisations

Question discriminante

Comment organisez-vous les couches de votre projet dbt ? Difference entre staging, intermediate et marts ?

  • staging — nettoie les donnees brutes source par source
  • intermediate — combine sans logique metier finale
  • marts — expose les donnees prets a consommer par la BI
  • view / table / incremental / ephemeral — quand choisir chaque type

Signal d'alerte : un profil qui met tout en view ou n'a jamais configure un modele incremental n'a pas travaille sur des volumes reels.

2Tests : la vraie valeur ajoutee

Question discriminante

Quels tests mettez-vous systematiquement sur vos modeles ? Quand creez-vous un test custom ?

  • Tests generiques : unique, not_null, accepted_values, relationships
  • Singular tests — SQL dans tests/ pour les regles metier complexes
  • dbt_expectations — bibliotheque de tests avances
  • Freshness — fraicheur des sources
  • store_failures — persister les enregistrements en echec

3Documentation et lineage

Question discriminante

Qu'est-ce que vous documentez systematiquement et pourquoi ?

  • Tous les modeles marts et colonnes cles dans schema.yml
  • Lineage graph — impact analysis avant modification
  • Sources et freshness dans sources.yml

4Macros Jinja et packages

Question discriminante Senior

Exemple de macro Jinja que vous avez ecrite. Quel probleme resolvait-elle ?

  • var(), if, for — variables et conditions Jinja
  • dbt_utils : star(), union_relations(), date_spine()
  • Macros custom dans macros/ — centraliser la logique repetitive

5Architecture et CI/CD

Question discriminante Lead

Comment organisez-vous un projet dbt pour une equipe de 4 Analytics Engineers ?

  • Snapshots — Slowly Changing Dimensions type 2
  • Exposures — declarer les dashboards consommateurs
  • Slim CI : dbt build --select state:modified+
  • GitHub Actions — tests sur chaque PR

6Grille par niveau

NiveauMaitrise attendueSignal GONO-GO
Juniordbt run/test/docs, 3 couches, tests generiquesComprend staging/marts, tests not_null et uniquePas de tests, tout en view
ConfirmeIncrementaux, Jinja de base, dbt_utilsA configure un modele incremental en prodN'a jamais ecrit de macro
SeniorMacros avancees, snapshots, CI/CD slimCI GitHub Actions sur les modeles modifiesPas d'experience CI/CD
LeadStandards equipe, exposures, gouvernanceA defini les conventions de nommage equipeNe peut expliquer mono-repo vs multi-repo

Vous recrutez un profil data ?

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

Tester gratuitementReserver un appel