Golden Analytics — Query Challenge

The Challenge This is a challenge for potential query engineers to solve. The context of the challenge is a business intelligence application. This application will need to issue analytical queries (e.g. selection/projection, aggregation,…

SQL
TypeScript
Node.js
API Design
Testing
Docker
Postgres
MySQL
AI-Assisted Development
Estimated Time:
45 minutes
Difficulty:Intermediate
Status:Not started
Start this challenge

Create a free account to upload your work. Your progress saves as a draft until you submit.

What You'll Be Doing

The Challenge

This is a challenge for potential query engineers to solve.

The context of the challenge is a business intelligence application. This application will need to issue analytical queries (e.g. selection/projection, aggregation, filtering, joins, calculations) against a set of tables on a remote database server and return the results. The long-term goal would be to support many different relational databases, with this API serving as the translation layer between the application and those databases.

The goal of the project is to make an API that can express these kinds of queries and execute them across a set of relational database backends, without having to worry about the details of how they are implemented on each backend. You'll demonstrate this by writing a driver application that uses your API to execute queries against both backends, and a testing framework that demonstrates how you'd test your API against these databases, architected to expand to others in the future.

From a language and technology perspective, we would prefer if you demonstrated all of this in Node/TypeScript (this is our current platform), but you can select another platform if you like. You should use the Docker image goldenbeers/golden-query-challenge:1.0 on the project. It contains two databases (MySQL 8 and Postgres 17) pre-loaded with sample data.

We expect you to use AI in completing this challenge. Please keep track of your major prompts and how you guided the AI during the project. We also don't expect you to get everything to polished completion. Expect to spend about 45 minutes on the challenge, and keep track of what you would do if you had extra time to spend on it.

AI will likely get you most of the way there. After you have your basic API in place, pick one way to extend it (an advanced SQL feature, an interesting third database, etc).

Things you should deliver

  1. One video (~6 minutes). Start with a short intro: tell us who you are, one thing about yourself that isn't on your resume, and what specifically excites you about Golden Analytics. Then walk us through your API and why you designed it this way. One take is fine. We're listening to what you say, not how polished you sound.
  2. A driver application demonstrating some of the queries below and your one extension
  3. A test suite for your API using the provided databases
  4. A README, written by you (not the AI): summarizing the design of your API; describing your major prompts and where you redirected the AI; what you would do if you had more time

Database schema

The sample data is the Northwind database (schema diagram). The link shows a schema diagram with the default relationships between tables.

Sample queries

  1. The most recent N orders
  2. The count of customers from a given city, e.g. 'london', or 'mexico d.f.'
  3. Average number of units per order
  4. For each employee, the number of shipped vs. unshipped orders
  5. The total freight / total order price ratio per customer
  6. The 75th percentile of order price by customer's country

What You'll Accomplish

Design a database-agnostic query API that abstracts backend SQL differences

Execute the same analytical queries against MySQL 8 and Postgres 17 through a single interface

Build a test framework architected to expand to additional database backends

Extend a working API with one advanced feature of your choosing

Direct and redirect AI tooling, and document where your judgment changed the output

How Your Work Will Be Scored

API design: does the query abstraction cleanly express selection, projection, aggregation, filtering, joins, and calculations independent of backendCross-backend execution: the same queries run correctly against both MySQL 8 and Postgres 17Extensibility: architecture supports adding a third database without reworkTest framework: structure and coverage, and whether it generalizes beyond the two provided databasesChosen extension: ambition and execution of the one selected extensionAI direction: quality of prompt tracking and evidence of the candidate redirecting the AIREADME and communication: clarity of design rationale and what they would do with more timeVideo intro and walkthrough: self-introduction, motivation for Golden Analytics, and clarity of the design explanation

What to Submit

Video Walkthrough

Video · ~6 minutesRequired

Format: .mp4, .mov, .webm

One video, one take. Start with a short intro: who you are, one thing about yourself that isn't on your resume, and what specifically excites you about Golden Analytics. Then walk us through your API and why you designed it this way.

We're listening to what you say, not how polished you sound. If your file is too large to upload, include a shareable link in your README instead.

Sign in to upload files

Driver Application

Any FileRequired

Format: no restrictions

Source code for a driver application that uses your API to execute queries against both backends. Demonstrate several of the sample queries from the challenge description, plus the one extension you chose.

Zip your source directory before uploading.

Sign in to upload files

Test Suite

Any FileRequired

Format: no restrictions

A test framework for your API that runs against the provided MySQL 8 and Postgres 17 databases, architected to expand to other databases in the future.

May be included in the same zip as your driver application. If so, upload the same archive here and say so in your README.

Sign in to upload files

README

Document · 1 to 2 pagesRequired

Format: .pdf, .doc, .docx, .rtf, .txt, .md

Written by you, not the AI. Cover three things:

  1. The design of your API and why you made those choices
  2. Your major prompts and where you redirected the AI
  3. What you would do if you had more time

Sign in to upload files