AWS data engineering system design mock interview | Surfalytics

Surfalytics | Fast Track to Data Career
978 views •

Nikita (data engineer) designs an analytics platform on AWS from scratch for a SaaS company with three RDS Postgres databases (2 TB / 800 tables), API sources (Stripe, QuickBooks, Zendesk, HubSpot), and 20-60M mobile events per day. Requirements: hourly freshness, cost efficiency, seasonal scaling. Dmitry (Surfalytics) plays the hiring manager and gives feedback during the whole session: how to pick one option and defend it, what not to say, and how to talk about S3, DMS, Glue, Redshift, dbt, Airflow, and best practices. What you'll see • Company context and sources: RDS Postgres, APIs, mobile app events. • Requirements: business use cases, hourly freshness, PII, budget, team size, existing tools. • Ingestion: DMS with CDC vs batch, Airbyte vs Fivetran vs custom Python, ECS Fargate vs EC2. • Storage: S3 data lake, Redshift, Athena, Redshift Spectrum, Parquet vs JSON, Iceberg, Glue Catalog. • Mobile events: working with the source team, JSON flattening, late arriving events. • Transformations: dbt Core on Redshift, raw / bronze / silver / gold layers, dbt tests. • Orchestration, observability, FinOps: MWAA, CloudWatch, Soda, Monte Carlo, Redshift Serverless, Cost Explorer. • Feedback: fewer moving parts, end-to-end plan, blend best practices into every step. ⏱️ TIMESTAMPS 0:00 — Intro 1:12 — Company context: SaaS, B2B + B2C, mergers 2:27 — Sources: 3 RDS Postgres databases 3:44 — API sources: Stripe, QuickBooks, Zendesk, HubSpot 5:00 — Mobile events: 20M/day, 60M peak 6:16 — Clarifying questions 7:26 — Business use cases and hourly freshness 11:53 — Cost efficiency and seasonality 12:49 — Questions to ask: PII, budget, existing tools 13:48 — Ingestion: DMS with CDC to S3 17:55 — Storage: S3, Redshift, Athena, Spectrum 20:48 — Paying twice for the same data 25:52 — Glue to Redshift; CDC vs batch 27:26 — Feedback: pick one option and defend it 31:45 — API ingestion: Python vs Fivetran vs Airbyte 36:07 — Team size trade-off 37:15 — Airbyte, S3, Glue, Redshift, dbt Core 39:33 — ECS: Fargate vs EC2 43:42 — Why S3 before Redshift 44:49 — Mobile events: Glue vs Kinesis 47:20 — Tip: define the S3 contract with the source team 52:24 — Parquet, Iceberg, Glue Catalog 55:03 — Late arriving events 58:26 — Snowflake as a simpler alternative 59:23 — dbt Core layers: raw, bronze, silver, gold 1:02:42 — Data quality tests 1:07:00 — Orchestration options 1:09:26 — Observability 1:11:14 — Scaling and FinOps 1:13:01 — Best practices 1:15:30 — Final feedback 1:17:24 — Wrap-up Resources • Surfalytics — FREE Data Engineering course and workshops • Mock Interviews playlist: https://www.youtube.com/watch?v=qUwbpgbEymE&list=PLNCDg7zJiXhPD0ethFHC-1V1pkvWhc633 • draw.io: https://app.diagrams.net #aws #systemdesign #dataengineering #mockinterview #redshift #dbt #airflow #s3 #glue #dms #surfalytics #dataengineer #dataengineerinterview

Keyboard shortcuts

On. Switch them off if they collide with your assistive tools; ? still opens this sheet.

Go to

Press g then the letter.

  • gh Latest
  • gs Sources
  • gm Media
  • gv Videos
  • gp Podcasts
  • gc Calendar
  • gd Decoder
  • gz Dataviz
  • ga Datasets
  • gb Blog
  • gk Markets
  • gj Careers
  • gn Prompt Notebook

On this page

  • / Focus search, where there is one
  • t Back to top
  • ? This list
  • Esc Close