AccueilBlogTest technique AWS stack data : S3, Glue, Athena, EMR, Redshift
Guide recrutement data

Test technique AWS stack data : S3, Glue, Athena, EMR, Redshift

AWS est le cloud dominant pour la data. En entretien, on évalue la capacité à choisir les bons services AWS selon le cas d usage et à les intégrer dans une architecture cohérente.

Data Builder·Juin 2025·7 min de lecture·Data Engineer
Sommaire
  1. Architecture data AWS
  2. S3 optimisé
  3. AWS Glue
  4. Athena
  5. Redshift Serverless
  6. Lake Formation
  7. Grille

1Architecture data de référence sur AWS

Question discriminante

Décrivez une architecture data end-to-end sur AWS.

# Architecture AWS typique INGESTION ├── AWS DMS (Database Migration Service) - CDC depuis RDS ├── Kinesis Data Streams - streaming temps réel ├── S3 Transfer Acceleration - fichiers volumineux └── Fivetran/Airbyte - connecteurs SaaS STOCKAGE └── S3 (lake brut + curated + gold) CATALOG └── AWS Glue Data Catalog (Hive Metastore compatible) TRANSFORMATION ├── AWS Glue ETL (Spark managé) ├── EMR Serverless (Spark/Hive self-managed) └── dbt + Redshift/Athena REQUETES ANALYTIQUES ├── Amazon Athena (SQL sur S3, serverless) └── Amazon Redshift Serverless (data warehouse) ORCHESTRATION ├── AWS Step Functions └── MWAA (Managed Airflow) CONSOMMATION └── QuickSight / Tableau / Power BI

2S3 : le centre de gravité AWS

Question discriminante

Quelles sont les fonctionnalités S3 que vous utilisez dans un pipeline data ?

3AWS Glue : ETL managé et catalog

Question discriminante

Quand utilisez-vous AWS Glue vs EMR pour les transformations de données ?

## AWS Glue : Spark managé sans cluster à gérer import sys from awsglue.transforms import * from awsglue.utils import getResolvedOptions from awsglue.context import GlueContext from awsglue.job import Job args = getResolvedOptions(sys.argv, ['JOB_NAME']) glue_context = GlueContext(SparkContext()) sparkSession = glue_context.spark_session job = Job(glue_context) # Lire depuis le Glue Data Catalog dyf = glue_context.create_dynamic_frame.from_catalog( database='analytics', table_name='raw_orders' ) # Transformer df = dyf.toDF() df_clean = df.filter('amount > 0').dropDuplicates(['order_id']) # Écrire dans S3 en Parquet glue_context.write_dynamic_frame.from_options( frame=DynamicFrame.fromDF(df_clean, glue_context, 'clean'), connection_type='s3', connection_options={'path': 's3://mon-bucket/silver/orders/'}, format='parquet' )

4Amazon Athena : SQL serverless sur S3

Question discriminante

Dans quels cas Athena est-il plus adapté que Redshift ?

5Redshift Serverless

Question discriminante

Qu est-ce que Redshift Serverless ? Quand le préférer au Redshift classique ?

6Lake Formation : gouvernance centralisée

Question discriminante

Qu est-ce que AWS Lake Formation ? Quand l utilisez-vous ?

7Grille par niveau

NiveauMaitriseSignal GONO-GO
ConfirméS3, Glue Catalog, Athena, IAM basiqueA déployé un pipeline S3 → Glue → Athena, utilise le partitionnement AthenaNe sait pas ce qu est le Glue Data Catalog
SeniorLake Formation, Redshift Serverless, architecture complète, cost optimizationA configuré Lake Formation avec column-level security, justifie Athena vs RedshiftNe sait pas la différence entre Athena et Redshift

Vous recrutez un Data Engineer AWS ?

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