Day 25/30 SQL, Python, ETL, Data Modelling Challenge FREE Solutions π
March 27th, 2025 CHALLENGE β unlock solutions + reasoning
π Hey Data Engineers!
Difficulty Level: Intermediate β Advanced
Youβre officially at the 25-day mark! π₯ Letβs sharpen your understanding of HAVING clauses, string manipulation, data validation, and OLTP system design.
π‘ Understand, Donβt Memorize:
β
Real-world clarity
β
Best practices
β
Interview relevance
π‘ Want full solutions + runnable code? Upgrade to the Annual Plan now and own your DE journey.
π SQL Challenge β Filtering with HAVING
β Which clause is used to filter after an aggregation has been applied?
π A) WHERE
π B) FILTER
π C) HAVING
π D) JOIN
β Answer: C - HAVING
Explanation:HAVING filters aggregated results (e.g., GROUP BY dept HAVING COUNT(*) > 10), while WHERE filters rows before aggregation.
Best Practices:
βοΈ Use WHERE before aggregation, HAVING after
βοΈ Avoid HAVING without aggregation β it's a misuse
βοΈ Use descriptive aliases for clarity
π Python Challenge β Title Case Conversion
sentence = "data engineering is fun"
print(sentence.title())β What will be printed?
π A) Data Engineering Is Fun
π B) data Engineering Is Fun
π C) Data engineering is fun
π D) DATA ENGINEERING IS FUN
β Answer: A - Data Engineering Is Fun
Explanation:.title() capitalizes the first letter of every word. Great for formatting labels, names, and headings.
Best Practices:
βοΈ Use .title() for display, not for storage
βοΈ Use .capitalize() if you want just the first word formatted
βοΈ Be aware it doesnβt handle acronyms properly (e.g., βAPIβ becomes βApiβ)
β‘ ETL Challenge β Null Value Checks
β Which check would help catch null values before loading data into the warehouse?
π A) Type casting
π B) Primary key constraint
π C) NULL check in staging
π D) Denormalization
β Answer: C - NULL check in staging
Explanation:
Pre-load checks in staging tables help catch nulls early and prevent bad data from polluting downstream systems.
Best Practices:
βοΈ Use assertions or conditional filters on NULLs
βοΈ Enforce NOT NULL where required
βοΈ Log and quarantine invalid records
π§± Data Modeling Challenge β OLTP System Focus
β OLTP systems are optimized for which type of operation?
π A) Large analytical queries
π B) Real-time reporting
π C) Frequent inserts and updates
π D) Batch processing
β Answer: C - Frequent inserts and updates
Explanation:
OLTP = Online Transaction Processing β fast, atomic operations (e.g., banking, e-commerce orders).
Best Practices:
βοΈ Use normalized schemas (3NF) for OLTP
βοΈ Prioritize low latency over analytics
βοΈ Offload reporting to OLAP systems
π Final 5 Days Incomingβ¦
You're almost at the finish line. Here's what you unlock with the full subscription:
β
Advanced deep dives & mock interview sets
β
Runnable SQL/Python code for every challenge
β
DE system design playbooks
π Subscribe here: zero2dataengineer.substack.com
π¬ Comment your answers. Tomorrowβs leaderboard awaits! π₯



Due to my travel time zones this solution got posted early. The challenge is not yet released. My apologies for the confusion. The challenge will be released on march 28th at 9AM PST