Expression attribute names in DynamoDB are placeholders used to avoid conflicts with reserved words or special characters in queries. When a query uses a reserved word like 'Name', you define a placeholder such as #N in ExpressionAttributeNames mapping. Then, you use #N in your filter or update expressions instead of 'Name'. This prevents errors and allows the query to run successfully. The execution flow starts by detecting reserved words, defining placeholders, writing expressions with placeholders, executing the query, and finally returning results. Variables like ExpressionAttributeNames and FilterExpression change step-by-step to prepare the query. Beginners often get confused why placeholders are needed or what happens if they are missing. The visual quiz tests understanding of when and why placeholders are defined and used.