DataLane
← All stacks

AWS

S3, Glue, Athena, Redshift — pick the service in sixty seconds

10 questions with solutions

  1. Q1AmazonTwilioNetflix

    S3 + Glue + Athena vs Redshift — how do you choose in sixty seconds?

    Solution

    Ad-hoc and cheap scans: Athena on partitioned Parquet with a Glue catalog. Concurrent BI and predictable SLAs: Redshift (or Redshift Serverless). Glue is the job runner / catalog, not the warehouse. “Everything in Athena” dies on 40 concurrent dashboards.

  2. Q2AirbnbLyftPinterest

    How do you partition an S3 data lake so Athena does not scan the year?

    Solution

    Hive-style dt=YYYY-MM-DD (and maybe hour) on the columns you filter. Do not partition on high-cardinality ids (customer_id). Compact tiny files (target ~128–512 MB). Clustering / sort inside the file helps, but partition pruning is the first win.

  3. Q3AmazonCapital OneJPMorgan

    Glue job vs Lambda vs EMR. Who owns a 40-minute Spark transform?

    Solution

    Lambda is for minutes and megabytes, not Spark. Glue is managed Spark for batch ETL you do not want to babysit. EMR (or EKS + Spark) when you need custom images, long-running clusters, or cheaper reserved capacity. Say the timeout and the data size first.

  4. Q4AmazonSlackDatadog

    Kinesis vs MSK vs SQS. One sentence each.

    Solution

    SQS: decouple workers, no replay of a stream, competing consumers. Kinesis: managed stream, shards, AWS-native. MSK: Kafka protocol on AWS when you already think in topics and consumer groups. Do not put a 7-day clickstream on SQS.

  5. Q5AmazonMcKinseyDeloitte

    Redshift DISTKEY / SORTKEY (or AUTO). What mistake shows up as a broadcast of a 2 TB table?

    Solution

    A join on a column that is not the dist key, so every slice shuffles everything. Even in AUTO, a bad mental model (SELECT * fact JOIN huge dim ON a non-selective key) will not be saved by a wizard. Explain slice-local joins in one sentence.

  6. Q6AWSAccentureSlalom

    Lake Formation vs bucket policies. When do you need the extra product?

    Solution

    Bucket policies are path-coarse. Lake Formation (or a catalog-centric grant model) is for column/row filters across Athena/Redshift Spectrum on the same Glue tables. If you only have two roles and one bucket, IAM is enough. Do not buy a governance product to hide a public bucket.

  7. Q7AmazonNetflixDatabricks

    S3 committers — why did a failed Spark write leave a partial prefix?

    Solution

    The default committer can list/rename badly on S3. Use a magic committer and an idempotent overwrite of a partition.

  8. Q8AmazonCapital OneTwilio

    Cost tags on Glue/Athena/Redshift. Why do interviewers ask?

    Solution

    Untagged shared resources become a mystery bill. You should be able to say which DAG spent the credits.

  9. Q9AmazonJPMorganStripe

    CDC from RDS to the lake. Sketch the path.

    Solution

    DMS or Debezium to Kinesis/MSK, then MERGE into Iceberg/Delta/Redshift. A nightly dump is not CDC.

  10. Q10AmazonAccentureSlalom

    Public bucket plus “we will add Lake Formation later.”

    Solution

    Close public access first. LF does not excuse a public prefix. Encryption and logging are next.

↑↓ navigate openesc close