Return to course: Analytics Engineering
Analytics Engineering
Previous Lesson
Previous
Next
Next Section
Analytics Engineering
Grades
Resources
Module 1: Welcome to Analytics Engineering!
Module 1: Lesson
Module 2: Data Fundamentals
Module 2: Instructor Lesson
Interactive Lesson: Data Architecture Challenge
Interactive Lesson: Data Detective Challenge
Module 2: Homework - BigQuery Data Structures
Module 2: Homework - Fivetran BigQuery ELT
Module 2 Quiz
Module 3: SQL for Analytics Engineers
Module 3: Lesson
Module 3: Walkthrough - SQL SELECT / DISTINCT
Module 3: Walkthrough - SQL FILTERING / WHERE
Module 3: Walkthrough - SQL ORDER BY / LIMIT
Module 3: Walkthrough - SQL AGGREGATIONS
Module 3: Walkthrough - SQL Aggregations, String Filtering, Having
Module 3: Instructor Walkthrough - SQL Inner, Left, and Complex Joins
Module 3: Instructor Walkthrough - SQL Subqueries in FROM and WHERE
Module 3: Instructor Walkthrough - SQL CASE Statements
Module 3: Instructor Walkthrough - SQL Set Operators & DateTime Functions
Module 3: Instructor Walkthrough - SQL String Functions
Module 3: Instructor Walkthrough - SQL Scalar and Numeric Functions
Module 3: Instructor Walkthrough - SQL Performance Optimizations
Module 3: Instructor Walkthrough - SQL Styling and Formatting
Module 3: Instructor Walkthrough - SQL Interview Questions & Tips
Module 3 Quiz
Interactive Lesson: SQL Rescue Quest
Interactive Lesson: Advanced SQL Space Station
Module 4: Data Modeling and Architecture
Module 4: Lesson
Interactive Lesson: Data Modeling
Interactive Lesson: Normalization Ride Share
Interactive Lesson: Slowly Changing Dimensions
Module 4 Quiz
Module 5: dbt and Github
Module 5: Lesson
Interactive Exercise: Github Workflows
Interactive Exercise: dbt Incremental Materialization
Module 5 Quiz
Module 6: Data Quality and Testing
Module 6: Lesson
Interactive Lesson: Anomaly Detection Bollinger Bands
Interactive Lesson: Data Quality Investigation
Interactive Lesson: Great Expectations
Interactive Lesson: dbt Testing
Module 6 Quiz
Module 7: Programming for Analytics Engineers
Module 7: Lesson
Interactive Lesson: Python Food Delivery
Module 7 Quiz
Module 8: Visualization and Reporting
Module 8: Lesson
Interactive Lesson: Dashboard Design Simulator
Module 8: Homework - Looker Studio Marketing Sales and Spend
Module 8 Quiz
Module 9: AI Tools Mastery
Interactive Lesson: AI Tools for Analytics Engineering
Module 10: Analytics Engineering Capstone Project
Capstone Intro
Accounts and Access
Module 5 Quiz
1. Which layer focuses on light cleaning and standardizing raw source tables?
*
A) Mart
B) Intermediate
C) Staging
D) Snapshot
2. The main purpose of the Intermediate layer is to:
*
A) Store raw ingests unchanged
B) Combine staging models and apply business logic
C) Serve BI tools with facts and dimensions
D) Track slowly changing dimensions
3. Which models typically power dashboards used by business stakeholders?
*
A) Staging models
B) Ephemeral models
C) Mart (facts & dimensions) models
D) Seed files
4. Seed files are best used for:
*
A) Large transactional tables
B) Rarely changing lookup data like country codes
C) Raw event streams
D) Temporary scratch data
5. Which dbt materialization is most appropriate for daily loads that only add new rows?
*
A) View
B) Table
C) Incremental
D) Ephemeral
6. Where can you define model behavior such as materialization or tags?
*
A) Only in the database UI
B) In dbt_project.yml or within a model via {{ config(…) }}
C) In GitHub Actions only
D) In seed CSV headers
7. Macros in dbt are primarily used to:
*
A) Schedule jobs on weekends
B) Reuse Jinja-templated SQL logic across models
C) Store version history of data
D) Enforce PR approvals
8. Which snapshot strategy relies on a reliable “last updated” column?
*
A) Check strategy
B) Timestamp strategy
C) Append strategy
D) Merge strategy
9. Which snapshot strategy watches specified columns for any change to version a row?
*
A) Timestamp strategy
B) Check strategy
C) Incremental strategy
D) Partition strategy
10. A key business benefit of layered modeling (staging → intermediate → mart) is:
*
A) Eliminates the need for testing
B) Faster raw ingests
C) Easier troubleshooting and a consistent semantic layer
D) Avoids Git entirely
11. Which command pattern is recommended for a daily, cost-efficient job?
*
A) dbt run –full-refresh && dbt test
B) dbt seed && dbt docs generate
C) dbt run –select state:modified+ && dbt test
D) dbt compile –target prod
12. The weekly “safety net” job should:
*
A) Only compile, not run
B) Run incrementally to save cost
C) Perform a full refresh and tests, ideally on weekends
D) Only run tests
13. In dbt Cloud job settings, which pairing is most appropriate?
*
A) Prod jobs on a QA environment
B) Large models on minimal compute
C) Correct environment, right-sized warehouse, sensible timeouts/retries
D) Disable all retries to fail fast
14. For notifications best practice:
*
A) Alert on every success to keep everyone informed
B) Alert primarily on failures to avoid fatigue
C) Never alert; check manually
D) Alert only the author of the PR
15. A pull request (PR) exists to:
*
A) Bypass review to speed merges
B) Queue warehouse compute
C) Solicit review/feedback and gate changes before merging
D) Generate documentation automatically
16. Which branching strategy is best for experimental development of a new metric?
*
A) Main
B) Release branch
C) Hotfix branch
D) Feature branch
17. What is the typical PR flow order?
*
A) Commit → Branch → Push → PR → Review → Merge
B) Branch → Commit → Push → PR → Review → Merge
C) Push → PR → Commit → Branch → Review → Merge
D) Review → PR → Commit → Branch → Merge
18. A good PR should include:
*
A) Only the code diff, nothing else
B) Clear title/description, diff, and an appropriate merge strategy
C) Large combined changes to reduce review cycles
D) Private emails instead of inline comments
19. To integrate GitHub with dbt Cloud you should:
*
A) Enable the GitHub integration in dbt Cloud and link the repo; set deploy keys/webhooks if private
B) Create a seed file named github.csv
C) Only add a cron to your warehouse
D) Merge directly to main to trigger CI
20. A typical daily developer workflow in dbt Cloud IDE is:
*
A) Edit in IDE → run in prod → force merge
B) Edit in IDE → commit/push branch → open PR → let CI run → merge after approval
C) Edit in IDE → email SQL to reviewer
D) Edit in IDE → skip tests → merge