Question d'entretien pour Analyste de données

Comment calculeriez-vous la croissance d'un mois sur l'autre en SQL ?

Ce que le recruteur cherche à évaluer, comment structurer votre réponse et un exemple parlé à adapter.

Réponse rapide

Agrégez à une ligne par mois, puis utilisez LAG sur les mois ordonnés pour obtenir la valeur du mois précédent, et calculez (courant moins précédent) divisé par précédent. Protégez-vous de la division par zéro avec NULLIF. Le détail qui compte, c'est de générer un calendrier complet et d'y joindre les données, pour qu'un mois sans activité apparaisse à zéro au lieu de disparaître et de faire sauter une période à la comparaison.

Pourquoi les recruteurs posent cette question

C'est un test pratique qui combine agrégation, fonctions de fenêtrage et conscience des données manquantes. Le calendrier de référence est le point discriminant : les candidats qui ont livré du vrai reporting savent que les trous dans les données décalent silencieusement la comparaison, tandis que ceux qui n'ont fait que des exercices produisent une requête qui a l'air juste sur des données complètes.

Comment structurer votre réponse

  • Agrégez d'abord à la maille mensuelle.
  • Utilisez LAG ordonné par mois pour récupérer la valeur précédente.
  • Calculez la variation en pourcentage et protégez le dénominateur.
  • Joignez à un calendrier généré pour que les mois vides apparaissent quand même.
  • Mentionnez la saisonnalité comme réserve sur l'interprétation du chiffre.

Exemple de réponse

Exemple parlé, à la première personne

J'agrège à une ligne par mois, puis je fais un LAG de l'indicateur ordonné par mois, puis je calcule la variation par rapport à la valeur précédente, en enveloppant le dénominateur dans NULLIF pour qu'un mois à zéro ne fasse pas exploser la requête. Ce que j'ajoute toujours, c'est un calendrier de référence. Si mars n'a eu aucune commande, cette ligne n'existe tout simplement pas dans l'agrégat, donc le LAG d'avril remonte jusqu'à février et rapporte une croissance sur la mauvaise période sans la moindre erreur. Je génère donc la liste complète des mois, j'y fais un left join de l'agrégat, et je remplace les nulls par zéro avec coalesce. Je signale aussi le risque d'interprétation quand je livre le résultat. Le mois sur mois sur une activité à forte saisonnalité est bruyant, et février étant plus court que janvier, presque tout ressemble à une baisse. Quand le public va prendre des décisions dessus, je montre en général le glissement annuel à côté, ou je normalise par le nombre de jours du mois, et je le dis sur le graphique.

Vous passez cet entretien bientôt ? GhostPilot écoute votre appel en direct, repère la question dès qu'elle est posée et affiche une réponse structurée à l'écran en temps réel. Essayez-le lors de votre prochain entretien blanc, ou prenez un Session Pass à $29, sans abonnement, pour le jour J.

Voir comment ça marche

Questions de relance à prévoir

  • Comment construiriez-vous un calendrier de référence dans votre entrepôt ?
  • Pourquoi le glissement annuel peut-il être plus honnête que le mois sur mois ?
  • Comment traiteriez-vous un indicateur qui peut légitimement valoir zéro ?

Autres questions pour Analyste de données

Votre recruteur posera sa propre version de celle-ci. Collez votre véritable fiche de poste dans le Question Predictor gratuit et obtenez les 20 questions que ce poste a le plus de chances de poser, avec ce que chacune cherche vraiment à sonder.

Prédire mes questions

Répétez les questions difficiles avant qu'on vous les pose

Entraînez-vous avec un copilote en direct, puis présentez-vous prêt. Un Session Pass à $29 vous accompagne pendant l'entretien, sans abonnement et sans engagement.

Obtenir GhostPilot