The interview process began with a recruiter screening call, followed by a technical screening call. The subsequent "loop" interview consisted of five one-hour rounds:
Technical rounds involved writing code in a live editor without the ability to run it, with the expectation of syntactically correct code.
SQL: window functions, aggregates, CTEs, optimization, partitioning.
Solutions Architect type questions: Discuss how you would build an entire real-time streaming solution end-to-end. Design a data warehouse to capture sales. Star schema vs. Snowflake schema. SCD types.
Python: lists, dictionaries, tuples, lists of lists, functions, distinct values, values in one not the other, number of times an item appears, sorting, flatten list of lists or tuples to a single list, sum a list only until encountering a specific value.
Loads of behavioral questions with follow-ups. Expected many more work examples than I had, probably upwards of 10.
It was like a day of being on trial, having to defend my personality and work. I would never apply there again personally and wouldn't put myself through an experience like this for any job again.
The following metrics were computed from 1 interview experience for the Amazon Data Engineer role in South Africa.
Amazon's interview process for their Data Engineer roles in South Africa is extremely selective, failing the vast majority of engineers.
Candidates reported having very negative feelings for Amazon's Data Engineer interview process in South Africa.