Solve Python and SQL data tasks
MetaData Engineer · Technical ScreenLast updated
This question evaluates data manipulation and engineering competencies by testing Python proficiency with nested data structure handling, complexity analysis and test-case design, alongside SQL proficiency in UTC-aware aggregation and per-user deduplication to compute daily active users; it is categorized as Data Manipulation (SQL/Python) within the data engineering domain. Such problems are commonly asked to assess practical implementation ability and robustness under edge cases, as well as conceptual understanding of time/space complexity and correct date-time handling, reflecting a primarily practical application with elements of conceptual analysis.
Complete both tasks:
- Python: Implement a function flatten(nested) that takes a list whose elements are integers or arbitrarily nested lists of integers and returns a single flat list of integers in left-to-right order. Avoid recursion if nesting depth may be large. State time and space complexity and include simple tests covering empty input, deep nesting, and invalid element types.
- SQL: Given events(user_id INT, event_time TIMESTAMP, event_type STRING), write a query that returns, for each UTC calendar date, the count of distinct active users (DAU). Deduplicate multiple events per user per day and ensure event_time is interpreted in UTC. Output columns: event_date, dau.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.