Accéder au contenu principal

Les 39 meilleures questions et réponses d'entretien sur l'ingénierie des données en 2025

As votre prochain entretien avec cette compilation de questions et réponses d'entretien d'ingénieur de données, vous aidant à vous préparer à différentes étapes, de la présélection RH aux évaluations techniques approfondies, y compris les questions Python et SQL.
Actualisé 26 janv. 2025  · 40 min de lecture

L'ingénierie des données est devenue l'une des fonctions les plus importantes de l'industrie technologique, car elle constitue l'épine dorsale de l'infrastructure des données pour les entreprises du monde entier. Les entreprises s'appuyant de plus en plus sur des prises de décision fondées sur des données, la demande d'ingénieurs en données qualifiés ne cesse d'augmenter.

Si vous vous préparez à un entretien d'ingénierie des données, vous devez bien connaître les questions générales et techniques qui évaluent votre expérience, votre capacité à résoudre des problèmes et vos compétences techniques.

Dans cet article de blog, nous vous proposons un guide complet pour vous aider à vous préparer aux différentes étapes d'un entretien d'ingénierie des données, depuis la sélection initiale des RH jusqu'aux évaluations techniques approfondies.

Devenez ingénieur en données

Devenez un ingénieur de données grâce à l'apprentissage avancé de Python
Commencez à apprendre gratuitement

Questions initiales d'entretien avec un ingénieur de données RH

Lors de l'entretien initial, le responsable des ressources humaines vous interrogera sur votre expérience professionnelle et sur la valeur que vous apportez à l'entreprise. Cette étape vise à évaluer votre parcours, vos compétences interpersonnelles et votre adéquation globale avec la culture de l'entreprise.

1. Qu'est-ce qui fait de vous le meilleur candidat pour ce poste ?

Si le responsable du recrutement vous sélectionne pour un entretien téléphonique, c'est qu'il a vu quelque chose qui lui a plu dans votre profil. Abordez cette question avec confiance et parlez de votre expérience et de l'évolution de votre carrière. 

Il est important d'examiner le profil de l'entreprise et la description du poste avant l'entretien. Cela vous aidera à comprendre ce que le responsable du recrutement recherche et à adapter votre réponse en conséquence.

Concentrez-vous sur les compétences et expériences spécifiques correspondant aux exigences du poste, telles que la conception et la gestion de pipelines de données, la modélisation et les processus ETL. Soulignez comment votre combinaison unique de compétences, d'expérience et de connaissances vous permet de vous démarquer.

2. Quelles sont les responsabilités quotidiennes d'un ingénieur en données ?

Bien qu'il n'y ait pas de réponse absolue, le fait de partager vos expériences dans des emplois précédents et de vous référer à la description du poste peut fournir une réponse complète. En règle générale, les responsabilités quotidiennes des ingénieurs en données sont les suivantes :

  • Développer, tester et maintenir des bases de données.
  • Créer des solutions de données basées sur les besoins de l'entreprise.
  • Acquisition et intégration des données.
  • Développer, valider et maintenir les pipelines de données pour les processus ETL, la modélisation, la transformation et le service.
  • Déployer et gérer des modèles d'apprentissage automatique dans certains cas.
  • Maintenir la qualité des données en nettoyant, validant et contrôlant les flux de données.
  • Améliorer la fiabilité, la performance et la qualité des systèmes.
  • Respecter les lignes directrices en matière de gouvernance et de sécurité des données afin de garantir la conformité et l'intégrité des données.

3. Quelle est la chose la plus difficile que vous trouvez dans le métier d'ingénieur en données ?

Cette question varie en fonction de l'expérience de chacun, mais les défis les plus courants sont les suivants :

  • Suivre le rythme rapide des avancées technologiques et intégrer de nouveaux outils pour améliorer la performance, la sécurité, la fiabilité et le retour sur investissement des systèmes de données.
  • Comprendre et mettre en œuvre des protocoles complexes de gouvernance et de sécurité des données.
  • Gérer les plans de reprise après sinistre et garantir la disponibilité et l'intégrité des données en cas d'événements imprévus.
  • Équilibrer les exigences des entreprises avec les contraintes techniques et prévoir les futures demandes de données.
  • Traiter efficacement de grands volumes de données et assurer la qualité et la cohérence des données.

4. Quels sont les outils ou cadres de données avec lesquels vous avez de l'expérience ? Y en a-t-il que vous préférez à d'autres ?

Votre réponse sera basée sur vos expériences. Connaître les outils modernes et les intégrations de tiers vous aidera à répondre à cette question en toute confiance. Discutez des outils liés à :

  • Gestion de bases de données (par exemple, MySQL, PostgreSQL, MongoDB)
  • Entreposage de données (par exemple, Amazon Redshift, Google BigQuery, Snowflake).
  • Orchestration de données (par exemple, Apache Airflow, Prefect)
  • Pipelines de données (par exemple, Apache Kafka, Apache NiFi)
  • Gestion du cloud (par exemple, AWS, Google Cloud Platform, Microsoft Azure)
  • Nettoyage, modélisation et transformation des données (par exemple, pandas, dbt, Spark).
  • Traitement par lots et en temps réel (par exemple, Apache Spark, Apache Flink).

Rappelez-vous qu'il n'y a pas de mauvaise réponse à cette question. L'examinateur évalue vos compétences et votre expérience.

5. Comment vous tenez-vous au courant des dernières tendances et avancées en matière d'ingénierie des données ?

Cette question évalue votre engagement à apprendre en permanence et à rester à jour dans votre domaine. 

Vous pouvez par exemple vous abonner à des bulletins d'information sectoriels, suivre des blogs influents, participer à des forums et à des communautés en ligne, assister à des webinaires et à des conférences, ou encore suivre des cours en ligne. Mettez en évidence les sources ou plateformes spécifiques que vous utilisez pour rester informé.

6. Pouvez-vous décrire une situation dans laquelle vous avez dû collaborer avec une équipe interfonctionnelle pour mener à bien un projet ?

L'ingénierie des données implique souvent de travailler avec différentes équipes, notamment des scientifiques des données, des analystes et du personnel informatique. 

Donnez un exemple concret de collaboration réussie avec d'autres personnes, en soulignant vos compétences en matière de communication, votre capacité à comprendre des points de vue différents et la manière dont vous avez contribué à la réussite du projet. Expliquez les défis auxquels vous avez été confronté et comment vous les avez surmontés pour atteindre le résultat souhaité.

Devenez ingénieur en données

Faites la preuve de vos compétences en tant qu'ingénieur en données prêt à l'emploi.

Questions d'entretien pour l'ingénieur en données techniques

L'ingénierie des données est très technique, il n'est donc pas surprenant que la majeure partie de votre entretien comporte des questions et des exercices techniques. Dans cette section, nous aborderons différents types de questions et réponses techniques, en nous concentrant sur les questions relatives aux débutants, à Python, à SQL, aux projets et à la gestion.

Questions d'entretien pour un ingénieur de données junior

Les entretiens avec les ingénieurs débutants portent sur les outils, Python et les requêtes SQL. Ils peuvent également comporter des questions sur la gestion des bases de données et les processus ETL, y compris des défis de codage et des tests à domicile. 

Lorsque les entreprises recrutent de jeunes diplômés, elles veulent s'assurer que vous êtes en mesure de gérer efficacement leurs données et leurs systèmes.

7. Pouvez-vous expliquer les schémas de conception pertinents pour la modélisation des données ?

Il existe trois principaux schémas de conception de la modélisation des données: étoile, Snowflake et galaxie.

  • Schéma en étoile : Ce schéma contient plusieurs tableaux de dimensions reliés à un tableau de faits central. Il est simple et facile à comprendre, ce qui le rend adapté aux questions simples.

Schéma en étoile

Exemple de schéma en étoile. Image de guru99

  • Schéma de Snowflake : Extension du schéma en étoile, le schéma Snowflake se compose d'un tableau de faits et de plusieurs tableaux de dimensions avec des couches supplémentaires de normalisation, formant une structure en forme de flocon de neige. Il réduit la redondance et améliore l'intégrité des données.

Schéma de Snowflake

Exemple de schéma Snowflake. Image de guru99

  • Schéma de galaxie : Également connu sous le nom de schéma de constellation de faits, il contient deux tableaux de faits ou plus qui partagent des tableaux de dimensions. Ce schéma convient aux systèmes de base de données complexes qui nécessitent plusieurs tableaux de faits.

Schéma de la galaxie

Exemple de schéma de galaxie. Image de guru99

8. Quels sont les outils ETL que vous avez utilisés ? Quelle est votre préférée, et pourquoi ?

Lorsque vous répondez à cette question, mentionnez les outils ETL que vous maîtrisez et expliquez pourquoi vous avez choisi des outils spécifiques pour certains projets. Discutez des avantages et des inconvénients de chaque outil et de la manière dont ils s'intègrent dans votre flux de travail. Les outils open-source les plus répandus sont les suivants :

  • dbt (data build tool) : Idéal pour transformer les données dans votre entrepôt à l'aide de SQL.
  • Apache Spark : Excellent pour le traitement de données à grande échelle et le traitement par lots.
  • Apache Kafka : Utilisé pour les pipelines de données en temps réel et la diffusion en continu.
  • Airbyte : Un outil d'intégration de données open-source qui aide à l'extraction et au chargement de données.

Si vous avez besoin de rafraîchir vos connaissances sur l'ETL, envisagez de suivre le cours Introduction à l'ingénierie des données.

9. Qu'est-ce que l'orchestration des données et quels outils pouvez-vous utiliser pour la mettre en œuvre ?

L'orchestration des données est un processus automatisé qui permet d'accéder à des données brutes provenant de sources multiples, de les nettoyer, de les transformer et de les modéliser, puis de les utiliser pour des tâches analytiques. Il garantit que les données circulent sans problème entre les différents systèmes et étapes du traitement. 

Les outils les plus populaires pour l'orchestration des données sont les suivants :

  • Apache Airflow : Largement utilisé pour la planification et le suivi des flux de travail.
  • Préfet : Un outil d'orchestration moderne qui met l'accent sur le flux de données.
  • Dagster : Un outil d'orchestration conçu pour les charges de travail à forte intensité de données.
  • Colle AWS : Un service ETL géré qui simplifie la préparation des données pour l'analyse.

10. Quels outils utilisez-vous pour l'ingénierie analytique ?

L'ingénierie analytique consiste à transformer les données traitées, à appliquer des modèles statistiques et à les visualiser au moyen de rapports et de tableaux de bord. 

Les outils les plus utilisés pour l'ingénierie analytique sont les suivants :

  • dbt (data build tool) : Il est utilisé pour transformer les données de votre entrepôt à l'aide de SQL.
  • BigQuery : Un entrepôt de données sans serveur, entièrement géré, pour l'analyse de données à grande échelle.
  • Postgres : Un système de base de données relationnelle puissant et open-source.
  • Base de données : Un outil open-source qui vous permet de poser des questions sur vos données et d'afficher les réponses dans des formats compréhensibles.
  • Google Data Studio : Il est utilisé pour créer des tableaux de bord et des rapports visuels.
  • Tableau : Une plateforme de premier plan pour la visualisation des données.

Ces outils permettent d'accéder aux données, de les transformer et de les visualiser afin d'obtenir des informations utiles et de soutenir les processus de prise de décision.

11. Quelle est la différence entre les systèmes OLAP et OLTP ?

OLAP (Online Analytical Processing) analyse les données historiques et prend en charge les requêtes complexes. Il est optimisé pour les charges de travail lourdes en lecture et est souvent utilisé dans les entrepôts de données pour les tâches de veille stratégique. L'OLTP (Online Transaction Processing) est conçu pour gérer des données transactionnelles en temps réel. Il est optimisé pour les charges de travail à forte intensité d'écriture et est utilisé dans les bases de données opérationnelles pour les opérations commerciales quotidiennes.

La principale différence réside dans leur objectif : L'OLAP soutient la prise de décision, tandis que l'OLTP soutient les opérations quotidiennes.

Si vous avez encore des doutes, je vous recommande de lire l'article de blog OLTP vs OLAP. 

Questions d'entretien pour l'ingénieur de données Python

Python est le langage le plus populaire en ingénierie des données en raison de sa polyvalence et du riche écosystème de bibliothèques disponibles pour le traitement, l'analyse et l'automatisation des données. Voici quelques questions liées à Python que vous pourriez rencontrer lors d'un entretien d'ingénierie des données.

12. Quelles sont les bibliothèques Python les plus efficaces pour le traitement des données ?

Les bibliothèques de traitement de données les plus populaires en Python sont les suivantes :

  • pandas: Idéal pour la manipulation et l'analyse des données, avec des structures de données telles que les DataFrames.
  • NumPy: Essentiel pour les calculs numériques, il prend en charge de grands tableaux et matrices multidimensionnels.
  • Dask: Facilite le calcul parallèle et peut gérer des calculs plus importants que la mémoire en utilisant une syntaxe familière de type pandas.
  • PySpark: Une API Python pour Apache Spark, utile pour le traitement de données à grande échelle et l'analyse en temps réel.

Chacune de ces bibliothèques présente des avantages et des inconvénients, et le choix dépend des exigences spécifiques en matière de données et de l'ampleur des tâches de traitement des données.

13. Comment effectuer du web scraping en Python ?

Le scraping web en Python comprend généralement les étapes suivantes :

1. Accédez à la page web en utilisant la bibliothèque requests:

import requests
from bs4 import BeautifulSoup

url = 'http://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

2. Extrayez des tableaux et des informations à l'aide de BeautifulSoup :

tables = soup.find_all('table')

3. Convertissez-le dans un format structuré à l'aide de pandas :

import pandas as pd
data = []

for table in tables:
    rows = table.find_all('tr')
    for row in rows:
        cols = row.find_all('td')
        cols = [ele.text.strip() for ele in cols]
        data.append(cols)
df = pd.DataFrame(data)

4. Nettoyez les données à l'aide de pandas et NumPy :

df.dropna(inplace=True)  # Drop missing values

5. Enregistrez les données sous la forme d'un fichier CSV :

df.to_csv('scraped_data.csv', index=False)

Dans certains cas, pandas.read_html peut simplifier le processus :

df_list = pd.read_html('http://example.com')
df = df_list[0]  # Assuming the table of interest is the first one

14. Comment gérer en Python de grands ensembles de données qui ne tiennent pas dans la mémoire ?

Le traitement de grands ensembles de données qui ne tiennent pas dans la mémoire nécessite l'utilisation d'outils et de techniques conçus pour le calcul hors cœur :

  • Dask : Permet le calcul parallèle et travaille avec des ensembles de données plus grands que la mémoire en utilisant une syntaxe semblable à celle de pandas.
import dask.dataframe as dd
df = dd.read_csv('large_dataset.csv')
  • PySpark : Permet le traitement distribué des données, ce qui est utile pour traiter des données à grande échelle.
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName('data_processing').getOrCreate()
df = spark.read.csv('large_dataset.csv', header=True, inferSchema=True)
  • Chunking avec les pandas : Lisez les grands ensembles de données par morceaux.
import pandas as pd
chunk_size = 10000
for chunk in pd.read_csv('large_dataset.csv', chunksize=chunk_size):
    process(chunk)  # Replace with your processing function

15. Comment vous assurer que votre code Python est efficace et optimisé en termes de performances ?

Pour vous assurer que le code Python est efficace et optimisé en termes de performances, tenez compte des pratiques suivantes :

  • Profilage : Utilisez des outils de profilage tels que cProfile, line_profiler ou memory_profiler pour identifier les goulets d'étranglement dans votre code.
import cProfile
cProfile.run('your_function()')
  • Vectorisation : Utilisez numpy ou pandas pour les opérations vectorielles au lieu des boucles.
import numpy as np
data = np.array([1, 2, 3, 4, 5])
result = data * 2  # Vectorized operation
  • Structures de données efficaces : Choisissez les structures de données appropriées (par exemple, listes, ensembles, dictionnaires) en fonction de votre cas d'utilisation.
data_dict = {'key1': 'value1', 'key2': 'value2'}  # Faster lookups compared to lists
  • Traitement parallèle : Utilisez le multithreading ou le multiprocessing pour les tâches qui peuvent être parallélisées.
from multiprocessing import Pool

def process_data(data_chunk):
    # Your processing logic here
    return processed_chunk
with Pool(processes=4) as pool:
    results = pool.map(process_data, data_chunks)
  • Éviter les calculs redondants : Mettez en cache les résultats des opérations coûteuses s'ils doivent être réutilisés.
from functools import lru_cache
  
@lru_cache(maxsize=None)
def expensive_computation(x):
    # Perform expensive computation
    return result

16. Comment garantir l'intégrité et la qualité des données dans vos pipelines de données ?

L'intégrité et la qualité des données sont importantes pour une ingénierie des données fiable. Les meilleures pratiques sont les suivantes :

  • Validation des données : Mettez en œuvre des contrôles à différentes étapes du pipeline de données pour valider les formats, les plages et la cohérence des données.
 def validate_data(df):
     assert df['age'].min() >= 0, "Age cannot be negative"
     assert df['salary'].dtype == 'float64', "Salary should be a float"

     # Additional checks...
  • Nettoyage des données : Utilisez des bibliothèques telles que pandas pour nettoyer et prétraiter les données en traitant les valeurs manquantes, en supprimant les doublons et en corrigeant les erreurs.
 df.dropna(inplace=True)  # Drop missing values
 df.drop_duplicates(inplace=True)  # Remove duplicates
  • Tests automatisés : Développer des tests unitaires pour les fonctions de traitement des données en utilisant des frameworks tels que pytest.
import pytest
  
def test_clean_data():
    raw_data = pd.DataFrame({'age': [25, -3], 'salary': ['50k', '60k']})
    clean_data = clean_data_function(raw_data)
    assert clean_data['age'].min() >= 0
    assert clean_data['salary'].dtype == 'float64'
  • Surveillance et alertes : Mettez en place une surveillance de vos pipelines de données afin de détecter les anomalies et d'envoyer des alertes en cas de problèmes de qualité des données.
 from airflow import DAG
 from airflow.operators.dummy_operator import DummyOperator
 from airflow.operators.email_operator import EmailOperator

 # Define your DAG and tasks...

17. Comment gérez-vous les données manquantes dans vos ensembles de données ?

Le traitement des données manquantes est une tâche courante dans l'ingénierie des données. Les approches sont les suivantes :

  • Déménagement : Supprimez simplement les lignes ou les colonnes comportant des données manquantes si elles ne sont pas significatives.
 df.dropna(inplace=True)
  • Imputation : Remplissez les valeurs manquantes avec des mesures statistiques (moyenne, médiane) ou utilisez des méthodes plus sophistiquées comme l'imputation KNN.
 df['column'].fillna(df['column'].mean(), inplace=True)
  • Variable indicatrice : Ajoutez une variable indicatrice pour préciser les valeurs manquantes.
 df['column_missing'] = df['column'].isnull().astype(int)
  • Imputation basée sur un modèle : Utilisez la modélisation prédictive pour estimer les valeurs manquantes.
 from sklearn.impute import KNNImputer
 imputer = KNNImputer(n_neighbors=5)
 df = pd.DataFrame(imputer.fit_transform(df), columns=df.columns)

18. Comment gérez-vous les limites de débit de l'API lorsque vous récupérez des données en Python ?

Pour gérer les limites de taux de l'API, il existe des stratégies telles que :

  • Backoff et retry: Mise en œuvre d'un backoff exponentiel lorsque les limites de débit sont atteintes.
  • Pagination: Récupérer des données en plus petits morceaux en utilisant les options de pagination de l'API.
  • Mise en cache: Stockage des réponses pour éviter les appels redondants à l'API.

Exemple utilisant la bibliothèque Python time et le module requests:

import time
import requests

def fetch_data_with_rate_limit(url):
    for attempt in range(5):  # Retry up to 5 times
        response = requests.get(url)
        if response.status_code == 429:  # Too many requests
            time.sleep(2 ** attempt)  # Exponential backoff
        else:
            return response.json()
    raise Exception("Rate limit exceeded")

Python est sans doute l'un des langages les plus importants dans l'ingénierie des données. Vous pouvez affiner vos compétences en suivant notre cursus Data Engineer in Python, qui couvre un programme complet pour vous équiper de concepts modernes d'ingénierie des données, de langages de programmation, d'outils et de frameworks.

Questions d'entretien pour l'ingénieur de données SQL

L'étape du codage SQL est une partie importante du processus de recrutement en ingénierie des données. La pratique de divers scénarios simples et complexes peut vous aider à vous préparer. Les enquêteurs peuvent vous demander d'écrire des requêtes pour l'analyse de données, des expressions de tableau courantes, le classement, l'ajout de sous-totaux et des fonctions temporaires.

19. Qu'est-ce qu'une expression de tableau commune (CTE) en SQL ?

Les CTE sont utilisés pour simplifier les jointures complexes et exécuter des sous-requêtes. Ils permettent de rendre les requêtes SQL plus lisibles et plus faciles à maintenir. Voici un exemple d'un CTE qui affiche tous les étudiants ayant une spécialisation en sciences et une note A :

SELECT *
FROM class
WHERE id IN (
  SELECT DISTINCT id
  FROM students
  WHERE grade = "A"
  AND major = "Science"
);

En utilisant un CTE, la requête devient :

WITH temp AS (
  SELECT id
  FROM students
  WHERE grade = "A"
  AND major = "Science"
)
SELECT *
FROM class
WHERE id IN (SELECT id FROM temp);

Les CTE peuvent être utilisés pour des problèmes plus complexes et plusieurs CTE peuvent être enchaînés.

20. Comment classer les données dans SQL ?

Les ingénieurs des données classent généralement les valeurs en fonction de paramètres tels que les ventes et les bénéfices. La fonction RANK() est utilisée pour classer les données en fonction d'une colonne spécifique :

SELECT
  id,
  sales,
  RANK() OVER (ORDER BY sales DESC) AS rank
FROM bill;

Vous pouvez également utiliser DENSE_RANK() qui ne saute pas les rangs suivants si les valeurs sont identiques.

21. Pouvez-vous créer une fonction temporaire simple et l'utiliser dans une requête SQL ?

Comme en Python, vous pouvez créer des fonctions en SQL pour rendre vos requêtes plus élégantes et éviter les énoncés répétitifs de cas. Voici un exemple de fonction temporaire get_gender:

CREATE TEMPORARY FUNCTION get_gender(type VARCHAR) RETURNS VARCHAR AS (
  CASE 
    WHEN type = "M" THEN "male"
    WHEN type = "F" THEN "female"
    ELSE "n/a"
  END
);
SELECT
  name,
  get_gender(type) AS gender
FROM class;

Cette approche rend votre code SQL plus propre et plus facile à maintenir.

22. Comment ajouter des sous-totaux en SQL ?

L'ajout de sous-totaux peut être réalisé à l'aide des fonctions GROUP BY et ROLLUP(). En voici un exemple :

SELECT
  department,
  product,
  SUM(sales) AS total_sales
FROM sales_data
GROUP BY ROLLUP(department, product);

Cette requête vous donnera un sous-total pour chaque département et un total général à la fin.

23. Comment gérer les données manquantes dans SQL ?

Le traitement des données manquantes est essentiel pour maintenir l'intégrité des données. Les approches les plus courantes sont les suivantes :

  • Utilisation de COALESCE(): Cette fonction renvoie la première valeur non nulle de la liste.
SELECT id, COALESCE(salary, 0) AS salary FROM employees;
  • Utilisation des déclarations CASE: Pour traiter les valeurs manquantes de manière conditionnelle.
 SELECT id, 
        CASE 
          WHEN salary IS NULL THEN 0 
          ELSE salary 
        END AS salary 
 FROM employees;

24. Comment effectuer l'agrégation de données en SQL ?

L'agrégation des données implique l'utilisation de fonctions d'agrégation telles que SUM(), AVG(), COUNT(), MIN() et MAX(). En voici un exemple :

SELECT department, 
       SUM(salary) AS total_salary, 
       AVG(salary) AS average_salary, 
       COUNT(*) AS employee_count 
FROM employees 
GROUP BY department;

25. Comment optimiser les requêtes SQL pour améliorer les performances ?

Pour optimiser les requêtes SQL, vous pouvez

  • Utilisez des index sur les colonnes fréquemment interrogées pour accélérer les recherches.
  • Évitez SELECT * en ne spécifiant que les colonnes nécessaires.
  • Utilisez les joints à bon escient et évitez les joints inutiles.
  • Optimisez l'utilisation des sous-requêtes en les remplaçant, le cas échéant, par des CTE.
  • Analyser les plans d'exécution des requêtes pour identifier les goulets d'étranglement. Exemple :
EXPLAIN ANALYZE
SELECT customer_id, COUNT(order_id)
FROM orders
GROUP BY customer_id;

Résoudre des exercices de codage SQL est la meilleure façon de pratiquer et de réviser les concepts oubliés. Vous pouvez évaluer vos compétences en SQL en passant le test Data Analysis in SQL de DataCamp (vous aurez besoin d'un compte pour accéder à cette évaluation).

Questions d'entretien pour un ingénieur en données dans le cadre d'un projet

Après une série d'entretiens généraux, vous passerez généralement à l'étape technique qui consiste en des défis de codage, la résolution de problèmes, la conception d'un système de base de données sur un tableau blanc, un examen à domicile et des questions analytiques.

Cette étape peut être assez intense, c'est pourquoi le fait de connaître certaines des questions et réponses habituelles des entretiens d'ingénierie des données peut vous aider à réussir l'entretien. 

26. Racontez-moi un projet sur lequel vous avez travaillé du début à la fin.

Cette réponse devrait venir naturellement si vous avez déjà travaillé sur un projet d'ingénierie des données en tant qu'étudiant ou professionnel. Cela dit, il est toujours utile de se préparer à l'avance. Voici comment structurer votre réponse :

  1. Introduction et problème commercial :
    • Commencez par expliquer le contexte du projet. Décrivez le problème commercial que vous avez résolu et les objectifs du projet.
    • Exemple : "Dans ce projet, nous avons cherché à optimiser le pipeline de données pour traiter les données du TLC Trip Record afin d'améliorer la performance des requêtes et la précision des données pour l'équipe d'analyse".
  2. L'ingestion de données :
    • Décrivez comment vous avez accédé aux données brutes et les avez ingérées.
    • Exemple : "Nous avons ingéré les données brutes de TLC Trip Record en utilisant GCP, Airflow et PostgreSQL pour garantir un apport de données fiable à partir de sources multiples."
  3. Traitement et transformation des données :
    • Expliquez les mesures prises pour nettoyer, transformer et structurer les données.
    • Exemple : "Nous avons utilisé Apache Spark pour le traitement par lots et Apache Kafka pour le streaming en temps réel afin de gérer la transformation des données. Les données ont été nettoyées, validées et converties dans un format structuré adapté à l'analyse".
  4. Stockage et entreposage de données :
    • Discutez des solutions de stockage de données utilisées et des raisons pour lesquelles elles ont été choisies.
    • Exemple : "Les données traitées ont été stockées dans Google BigQuery, qui a fourni une solution d'entreposage de données évolutive et efficace. Airflow a été utilisé pour gérer les flux de données."
  5. Ingénierie analytique :
    • Mettez en évidence les outils et les méthodes utilisés à des fins d'analyse.
    • Exemple : "Nous avons utilisé dbt (outil de construction de données), BigQuery, PostgreSQL, Google Data Studio et Metabase pour l'ingénierie analytique. Ces outils ont permis de créer des modèles de données robustes et de générer des rapports et des tableaux de bord pertinents."
  6. Déploiement et environnement cloud :
    • Mentionnez les stratégies de déploiement et l'infrastructure cloud utilisées.
    • Exemple : "L'ensemble du projet a été déployé à l'aide de GCP, Terraform et Docker, garantissant ainsi un environnement cloud évolutif et fiable."
  7. Défis et solutions :
    • Discutez des difficultés que vous avez rencontrées et de la manière dont vous les avez surmontées.
    • Exemple : "L'un des principaux défis consistait à gérer un volume important de données en temps réel. Nous avons remédié à ce problème en optimisant nos jobs de streaming Kafka et en mettant en œuvre des transformations Spark efficaces."
  8. Résultats et impact :
    • Concluez en décrivant les résultats et l'impact du projet.
    • Exemple : "Le projet a considérablement amélioré la performance des requêtes et la précision des données pour l'équipe d'analyse, ce qui a permis d'accélérer la prise de décision et d'obtenir de meilleures informations.

Architecture des données de l'enregistrement de voyage TLC

Image de DataTalksClub/data-engineering-zoomcamp

En vous préparant à l'avance, en passant en revue les cinq derniers projets sur lesquels vous avez travaillé, vous éviterez de vous figer pendant l'entretien. Comprendre l'énoncé du problème et les solutions que vous avez mises en œuvre. Entraînez-vous à expliquer chaque étape de manière claire et concise.

Questions d'entretien avec le responsable de l'ingénierie des données

Pour les postes de responsables de l'ingénierie, les questions portent généralement sur la prise de décision, la compréhension de l'activité, la conservation et la maintenance des ensembles de données, la conformité et les politiques de sécurité.

27. Quelle est la différence entre un entrepôt de données et une base de données opérationnelle ?

Un entrepôt de données fournit des données historiques pour les tâches d'analyse de données et la prise de décision. Il prend en charge le traitement analytique de gros volumes, tel que le traitement analytique en ligne (OLAP). Les entrepôts de données sont conçus pour traiter des requêtes complexes qui accèdent à plusieurs lignes et sont optimisés pour des opérations de lecture intensive. Ils prennent en charge un petit nombre d'utilisateurs simultanés et sont conçus pour extraire rapidement et efficacement de grands volumes de données.

Les systèmes de gestion de bases de données opérationnelles (OLTP) gèrent des ensembles de données dynamiques en temps réel. Ils prennent en charge le traitement de transactions à haut volume pour des milliers de clients simultanés, ce qui les rend adaptés aux opérations quotidiennes. Les données consistent généralement en des informations actuelles et à jour sur les transactions et les opérations des entreprises. Les systèmes OLTP sont optimisés pour les opérations d'écriture lourdes et le traitement rapide des requêtes.

28. Pourquoi pensez-vous que toute entreprise utilisant des systèmes de données doit disposer d'un plan de reprise après sinistre ?

La gestion des sinistres relève de la responsabilité d'un responsable de l'ingénierie des données. Un plan de reprise après sinistre garantit que les systèmes de données peuvent être restaurés et continuer à fonctionner en cas de cyberattaque, de panne matérielle, de catastrophe naturelle ou d'autres événements catastrophiques. Les aspects pertinents sont les suivants :

  • Sauvegarde en temps réel : Sauvegarder régulièrement les fichiers et les bases de données dans des lieux de stockage sécurisés et hors site.
  • Redondance des données : Mise en œuvre de la réplication des données sur différents sites géographiques afin de garantir la disponibilité.
  • Protocoles de sécurité : Établir des protocoles pour surveiller, tracer et restreindre le trafic entrant et sortant afin de prévenir les violations de données.
  • Procédures de récupération : Des procédures détaillées pour restaurer les données et les systèmes rapidement et efficacement afin de minimiser les temps d'arrêt.
  • Tests et exercices : Tester régulièrement le plan de reprise après sinistre par des simulations et des exercices afin de s'assurer de son efficacité et d'y apporter les ajustements nécessaires.

29. Comment abordez-vous la prise de décision lorsque vous dirigez une équipe d'ingénierie des données ?

En tant que responsable de l'ingénierie des données, la prise de décision implique de trouver un équilibre entre les considérations techniques et les objectifs commerciaux. Voici quelques exemples d'approches :

  • Des décisions fondées sur des données : Utiliser l'analyse des données pour éclairer les décisions, en veillant à ce qu'elles soient fondées sur des informations objectives plutôt que sur l'intuition.
  • Collaboration avec les parties prenantes : Travailler en étroite collaboration avec les parties prenantes pour comprendre les besoins de l'entreprise et aligner les efforts d'ingénierie des données sur les objectifs de l'entreprise.
  • Évaluation des risques : Évaluer les risques potentiels et leur impact sur les projets et élaborer des stratégies d'atténuation.
  • Méthodologies agiles : Mettre en œuvre des pratiques agiles pour s'adapter à l'évolution des besoins et fournir de la valeur de manière incrémentale.
  • Mentorat et développement : Soutenir la croissance des membres de l'équipe en leur offrant des opportunités de mentorat et de formation et en favorisant un environnement de collaboration.

30. Comment gérez-vous la conformité aux réglementations en matière de protection des données dans vos projets d'ingénierie des données ?

Le respect des réglementations en matière de protection des données implique plusieurs pratiques, par exemple :

  • Comprendre les réglementations : Rester à jour sur les réglementations relatives à la protection des données telles que GDPR, CCPA et HIPAA.
  • Cadre de gouvernance des données : Mettre en œuvre un cadre solide de gouvernance des données qui comprend des politiques de confidentialité des données, de sécurité et de contrôle d'accès.
  • Cryptage des données : Cryptage des données sensibles au repos et en transit afin d'empêcher tout accès non autorisé.
  • Contrôles d'accès : La mise en place de contrôles d'accès stricts garantit que seul le personnel autorisé peut accéder aux données sensibles.
  • Audits et contrôles : Effectuer régulièrement des audits et contrôler l'accès aux données et leur utilisation afin de détecter et de traiter rapidement tout problème de conformité.

31. Pouvez-vous nous décrire un projet d'ingénierie des données difficile que vous avez géré ?

Lorsque vous discutez d'un projet difficile, vous pouvez vous concentrer sur les aspects suivants :

  • Portée et objectifs du projet : Définissez clairement les objectifs du projet et le problème commercial qu'il vise à résoudre.
  • Défis rencontrés : Décrivez les défis spécifiques tels que les limitations techniques, les contraintes de ressources ou les problèmes d'alignement des parties prenantes.
  • Stratégies et solutions : Expliquez vos méthodes pour surmonter ces défis, y compris les solutions techniques, les pratiques de gestion d'équipe et l'engagement des parties prenantes.
  • Résultats et impact : Mettez en évidence les résultats positifs et l'impact sur l'entreprise, tels que l'amélioration de la qualité des données, la performance accrue du système ou l'augmentation de l'efficacité opérationnelle.

32. Comment évaluez-vous et mettez-vous en œuvre les nouvelles technologies de données ?

L'évaluation et la mise en œuvre de nouvelles technologies de données impliquent :

  • Étude de marché : Se tenir au courant des dernières avancées et tendances en matière de technologies d'ingénierie des données.
  • Preuve de concept (PoC) : Réalisation de projets PoC pour tester la faisabilité et les avantages des nouvelles technologies dans votre contexte spécifique.
  • Analyse coût-bénéfice : Évaluer les coûts, les avantages et le retour sur investissement potentiel de l'adoption de nouvelles technologies.
  • L'adhésion des parties prenantes : Présenter les résultats et les recommandations aux parties prenantes afin d'obtenir leur adhésion et leur soutien.
  • Plan de mise en œuvre : Élaborer un plan de mise en œuvre détaillé comprenant des calendriers, une répartition des ressources et des stratégies de gestion des risques.
  • Formation et soutien : Assurer la formation et le soutien de l'équipe pour garantir une transition en douceur vers les nouvelles technologies.

33. Comment hiérarchiser les tâches et les projets dans un environnement en constante évolution ?

Une manière efficace de hiérarchiser les tâches est de se baser sur leur impact sur les objectifs de l'entreprise et sur l'urgence. Vous pouvez utiliser des cadres tels que la matrice d'Eisenhower pour classer les tâches en quatre catégories : urgent et important, important mais pas urgent, urgent mais pas important, et aucun des deux. En outre, vous communiquez avec les parties prenantes pour aligner les priorités et veiller à ce que l'équipe se concentre sur les activités à forte valeur ajoutée.

Questions d'entretien pour l'ingénieur en données de FAANG

Dans cette section, nous explorons les questions d'entretien les plus fréquemment posées par les managers de Facebook, Amazon et Google pour des postes d'ingénieurs en données.

Questions d'entretien pour un ingénieur en données de Facebook

34. Pourquoi utiliser des clusters dans Kafka et quels en sont les avantages ?

Un cluster Kafka se compose de plusieurs courtiers qui distribuent les données sur plusieurs instances. Cette architecture permet l'extensibilité et la tolérance aux pannes sans temps d'arrêt. Si le cluster primaire tombe en panne, d'autres clusters Kafka peuvent fournir les mêmes services, assurant ainsi une haute disponibilité.

L'architecture du cluster Kafka comprend des sujets, des courtiers, ZooKeeper, des producteurs et des consommateurs. Il traite efficacement les flux de données pour les applications big data, permettant la création d'applications robustes basées sur les données.

35. Quels problèmes Apache Airflow résout-il ?

Apache Airflow vous permet de gérer et de planifier des pipelines pour les flux de travail analytiques, la gestion des entrepôts de données, ainsi que la transformation et la modélisation des données. Il prévoit :

  • Gestion des pipelines : Une plateforme pour définir, planifier et contrôler les flux de travail.
  • Enregistrement centralisé : Contrôlez les journaux d'exécution en un seul endroit.
  • Gestion des erreurs : Callbacks pour envoyer des alertes d'échec à des plateformes de communication comme Slack et Discord.
  • Interface utilisateur : Une interface utilisateur conviviale pour la gestion et la visualisation des flux de travail.
  • Intégration : Intégrations robustes avec divers outils et systèmes.
  • Source ouverte : Son utilisation est gratuite et largement soutenue par la communauté.

Questions d'entretien pour l'ingénieur en données d'Amazon

36. Une adresse IP vous est donnée en entrée sous la forme d'une chaîne de caractères. Comment savoir s'il s'agit d'une adresse IP valide ou non ?

Pour déterminer la validité d'une adresse IP, vous pouvez diviser la chaîne par des "." et créer plusieurs contrôles pour valider chaque segment. Voici une fonction Python qui permet de réaliser cette opération :

def is_valid(ip):
    ip = ip.split(".")
   
    for i in ip:
        if len(i) > 3 or int(i) < 0 or int(i) > 255:
            return False
        if len(i) > 1 and int(i) == 0:
            return False
        if len(i) > 1 and int(i) != 0 and i[0] == '0':
            return False
           
    return True
A = "255.255.11.135"
B = "255.050.11.5345"
print(is_valid(A))  # True
print(is_valid(B))  # False

37. Quels sont les différents modes de fonctionnement de Hadoop ?

Hadoop fonctionne principalement selon trois modes :

  • Mode autonome : Ce mode est utilisé à des fins de débogage. Il n'utilise pas HDFS et s'appuie sur le système de fichiers local pour les entrées et les sorties.
  • Mode pseudo-distribué : Il s'agit d'un cluster à nœud unique dans lequel le NameNode et le DataNode résident sur la même machine. Il est principalement utilisé pour les tests et le développement.
  • Mode entièrement distribué : Il s'agit d'un mode prêt à la production dans lequel les données sont réparties sur plusieurs nœuds, avec des nœuds distincts pour les démons maître (NameNode) et esclave (DataNode).

Questions d'entretien avec l'ingénieur en données de Google

38. Comment traiter les points de données dupliqués dans une requête SQL ?

Pour gérer les doublons en SQL, vous pouvez utiliser le mot-clé DISTINCT ou supprimer les lignes dupliquées en utilisant ROWID avec la fonction MAX ou MIN. En voici quelques exemples :

Utilisation de DISTINCT:

SELECT DISTINCT Name, ADDRESS 
FROM CUSTOMERS 
ORDER BY Name;

Suppression des doublons à l'aide de ROWID:

DELETE FROM Employee
WHERE ROWID NOT IN (
  SELECT MAX(ROWID)
  FROM Employee
  GROUP BY Name, ADDRESS
);

39. Étant donné une liste de n-1 entiers, ces entiers sont compris entre 1 et n. Il n'y a pas de doublons dans la liste. Il manque un entier dans la liste. Pouvez-vous écrire un code efficace pour trouver l'entier manquant ?

Ce problème de codage courant peut être résolu à l'aide d'une approche mathématique :

def search_missing_number(list_num):
    n = len(list_num)
    # Check if the first or last number is missing
    if list_num[0] != 1:
        return 1
    if list_num[-1] != n + 1:
        return n + 1
    # Calculate the sum of the first n+1 natural numbers
    total = (n + 1) * (n + 2) // 2
    # Calculate the sum of all elements in the list
    sum_of_L = sum(list_num)
    # Return the difference, which is the missing number
    return total - sum_of_L
# Validation
num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13]
print("The missing number is", search_missing_number(num_list))  # The missing number is 12

Comment se préparer à l'entretien avec un ingénieur de données

Avant de vous présenter à un entretien, vous devez revoir tous les concepts et les termes standard utilisés dans l'ingénierie des données. Voici quelques-uns des domaines les plus importants sur lesquels vous devez vous concentrer :

  • Maîtriser SQL : Vous devez vous entraîner à créer, modifier et gérer des bases de données. En outre, vous devez maîtriser l'analyse, la modélisation et la transformation des données.
  • Résoudre des problèmes de codage : Résolvez des défis de codage en Python, Scala ou C++. La plupart des entreprises évaluent les compétences en programmation en faisant passer des examens à domicile et en organisant des concours de codage en direct. 
  • Concevoir un pipeline ETL : pratique pour créer des pipelines de données, ETL ou de livraison. Vous devez savoir comment tester, valider, faire évoluer et maintenir les pipelines de données. 
  • Ingénierie analytique : pratique du chargement, de la transformation et de l'analyse des données. Apprenez à créer un tableau de bord pour la qualité des données et la performance du système. 
  • Examinez les questions potentielles : Préparez-vous à l'entretien en examinant des exemples de questions fictives. Une simple recherche sur Google vous donnera accès à des centaines de questions. 
  • Apprenez à connaître les outils modernes d'ingénierie des données : même si vous n'avez pas d'expérience avec les outils modernes d'ingénierie des données, vous devez savoir comment ils fonctionnent et comment ils s'intègrent à d'autres outils. Les entreprises sont toujours à la recherche de meilleurs outils pour améliorer leurs performances à moindre coût.
  • Apprenez le traitement par lots et la diffusion en continu : Apache Spark est utilisé pour le traitement par lots, et Apache Kafka pour le streaming de données. Ces outils sont très demandés et vous aideront à décrocher un emploi dans les meilleures entreprises.
  • L'environnement : Parfois, l'intervieweur vous posera des questions sur le cloud computing (GCP, AWS, Azure), Docker, les scripts, Terraform et Kubernetes. Vous pouvez utiliser ces outils pour configurer des ressources informatiques et de stockage dans le cloud ou sur site. Comprendre ces technologies et les intégrer dans des projets de portefeuille est une bonne pratique. 

Se préparer à un entretien d'ingénierie des données peut s'avérer difficile, mais avec les bonnes ressources et la pratique, vous pouvez exceller et décrocher le poste de vos rêves. Pour améliorer vos compétences et vos connaissances, consultez ces ressources précieuses :

Profitez de ces cours pour consolider vos bases et prendre de l'avance dans votre carrière d'ingénieur en données. Bonne chance pour vos entretiens !

Devenez ingénieur en données

Développez vos compétences en Python pour devenir un ingénieur de données professionnel.

FAQ

À quoi dois-je m'attendre lors d'un entretien avec un ingénieur en données ?

Vous pouvez vous attendre à un entretien téléphonique avec les RH, à un entretien téléphonique technique, à un examen à domicile, à un défi de codage, à un entretien sur place, à des conceptions de bases de données et de systèmes sur tableau blanc, à un entretien SQL et, enfin, à un entretien "exécutif" pour vérifier l'adéquation à la culture. 

Certaines entreprises organisent des entretiens en trois étapes, tandis que d'autres en comptent jusqu'à neuf. Les organisations ont souvent une barrière d'entrée élevée pour tester les candidats à tous les niveaux. 

Les ingénieurs en données sont-ils recherchés ?

Oui, toutes les entreprises qui génèrent des données ont besoin d'ingénieurs de données pour créer des pipelines, gérer et fournir des données aux différents départements. En 2025, nous produirons 463 exaoctets de données par jour, et nous aurons besoin de plus en plus d'ingénieurs pour extraire, transformer et gérer les pipelines et les systèmes de données... weforum.org.

Les ingénieurs des données écrivent-ils du code ?

Oui, toute personne liée au domaine des technologies de l'information doit apprendre à écrire du code, même au niveau de la direction. Pour les ingénieurs de données, Python, SQL, Docker, Yaml et Bash sont des langages de codage nécessaires. Ils sont utilisés dans l'infrastructure en tant que code, les pipelines, la gestion des bases de données, le streaming, le web scraping, le traitement des données, la modélisation et l'analyse.

Quelle est la différence entre un analyste de données et un ingénieur de données ?

L'ingénieur de données collecte, transforme et prépare les données pour les analystes de données afin d'en extraire des informations utiles pour l'entreprise. Les ingénieurs de données gèrent l'ensemble des systèmes de base de données et veillent à ce qu'ils fournissent des données de haute qualité pour les tâches d'analyse de données telles que les rapports analytiques, les tableaux de bord, les études de clientèle et les prévisions.

En quoi consiste le travail d'un ingénieur en données ?

Acquérir des données à partir de sources multiples, créer, valider et maintenir des pipelines de données, transformer les données à l'aide d'algorithmes, effectuer de l'ingénierie analytique, assurer la conformité avec la gouvernance et la sécurité des données, et maintenir des systèmes de base de données entiers. Ils sont chargés de fournir des flux de données de haute qualité aux différents départements d'une entreprise. Vous pouvez en savoir plus sur l'ingénierie des données en lisant Qu'est-ce que l'ingénierie des données ? blog.

Quelles sont les compétences requises pour devenir ingénieur en données ?

Vous devez connaître le codage, l'entreposage de données, l'ETL (Extract Transform Load), les requêtes SQL, l'analyse et la modélisation de données, l'esprit critique et les compétences en matière de communication. L'ingénierie des données s'apprend par l'expérience et en relevant des défis complexes sur le terrain. Notre certification en ingénierie des données est l'outil idéal pour développer vos compétences et décrocher un poste d'ingénieur des données.


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

En tant que data scientist certifié, je suis passionné par l'utilisation des technologies de pointe pour créer des applications innovantes d'apprentissage automatique. Avec une solide expérience en reconnaissance vocale, en analyse de données et en reporting, en MLOps, en IA conversationnelle et en NLP, j'ai affiné mes compétences dans le développement de systèmes intelligents qui peuvent avoir un impact réel. En plus de mon expertise technique, je suis également un communicateur compétent, doué pour distiller des concepts complexes dans un langage clair et concis. En conséquence, je suis devenu un blogueur recherché dans le domaine de la science des données, partageant mes idées et mes expériences avec une communauté grandissante de professionnels des données. Actuellement, je me concentre sur la création et l'édition de contenu, en travaillant avec de grands modèles linguistiques pour développer un contenu puissant et attrayant qui peut aider les entreprises et les particuliers à tirer le meilleur parti de leurs données.

Sujets

Apprenez-en plus sur l'ingénierie des données avec ces cours !

Certification disponible

cours

Introduction à l'ingénierie des données

4 hr
116.1K
Découvrez le monde de l'ingénierie des données dans ce cours de courte durée, couvrant des outils et des sujets tels que l'ETL et le cloud computing.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow
Apparenté

blog

Les 32 meilleures questions d'entretien sur AWS et leurs réponses pour 2024

Un guide complet pour explorer les questions d'entretien AWS de base, intermédiaires et avancées, ainsi que des questions basées sur des situations réelles. Il couvre tous les domaines, garantissant ainsi une stratégie de préparation bien équilibrée.
Zoumana Keita 's photo

Zoumana Keita

30 min

blog

Les 20 meilleures questions d'entretien pour les flocons de neige, à tous les niveaux

Vous êtes actuellement à la recherche d'un emploi qui utilise Snowflake ? Préparez-vous à répondre à ces 20 questions d'entretien sur le flocon de neige pour décrocher le poste !
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 min

blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates a offert plus de 20k bourses d'études à nos partenaires à but non lucratif au deuxième trimestre 2023. Découvrez comment des apprenants défavorisés et assidus ont transformé ces opportunités en réussites professionnelles qui ont changé leur vie.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

blog

2022-2023 Rapport annuel DataCamp Classrooms

À l'aube de la nouvelle année scolaire, DataCamp Classrooms est plus motivé que jamais pour démocratiser l'apprentissage des données, avec plus de 7 650 nouveaux Classrooms ajoutés au cours des 12 derniers mois.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 min

blog

Célébration de Saghar Hazinyar : Une boursière de DataCamp Donates et une diplômée de Code to Inspire

Découvrez le parcours inspirant de Saghar Hazinyar, diplômée de Code to Inspire, qui a surmonté les défis en Afghanistan et s'est épanouie grâce à une bourse de DataCamp Donates.
Fereshteh Forough's photo

Fereshteh Forough

4 min

blog

Nous avons fait don de bourses DataCamp Premium à un million de personnes, et ce n'est pas fini.

Réparties entre nos deux programmes d'impact social, DataCamp Classrooms et #DCDonates, les bourses offrent un accès illimité à tout ce que DataCamp Premium a à offrir.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Voir plusVoir plus