G
YouTube TikTok Games
Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Data Engineer Technical Challenge

๐Ÿš€ Overview

For this challenge, weโ€™re building a Retrieval-Augmented Generation (RAG) system to handle document ingestion, extract meaningful content, store it in structured formats, and make it queryable using LLMs.

This challenge is a simplified version of that workflow. Itโ€™s not about building a production system โ€” itโ€™s about showing us how you think, code, and design scalable solutions.

We want to see your ability to:

  • Write clean, modular Python code.
  • Design and explain scalable data pipelines.
  • Integrate with modern AI tools (LLMs).
  • Communicate your decisions and trade-offs clearly.

โฑ๏ธ Timebox: Around 3 hours (for a senior engineer).


๐Ÿ› ๏ธ Part 1 โ€“ Implementation (Code)

Build a simple pipeline with the following steps:

  1. Ingestion โ†’ Accept one or more PDF files as input.
  2. Processing โ†’ Extract and clean the text (basic normalization, chunking).
  3. Storage โ†’ Save the chunks in a structured format (JSON, CSV, SQLite, or Postgres).
  4. Query Interface โ†’ Allow a user to ask a question and retrieve relevant chunks using an LLM integration:
    • Use either a hosted API (OpenAI, Anthropic, etc.) or a local LLM runtime (Ollama).
    • Document the setup so we can reproduce your solution.

๐Ÿ‘‰ Mocking is acceptable where needed, but please include at least one real LLM call (API or local).


๐Ÿ—๏ธ Part 2 โ€“ Architecture & Scalability

Provide a simple diagram + explanation of how youโ€™d scale this pipeline:

  • Handling thousands of documents in parallel.
  • Using orchestration tools (e.g., Airflow) for scheduling/monitoring.
  • Integrating with cloud storage & warehouses (AWS S3, Redshift, BigQuery, etc.).
  • Exposing the query system via an API (e.g., FastAPI).

๐Ÿ“ Part 3 โ€“ Documentation & Reflection

Alongside your code, add a short README or design note explaining:

  • What you actually implemented vs. what you mocked.
  • Setup instructions so we can run your solution locally.
  • Improvements youโ€™d make with more time (e.g., embeddings, knowledge graph, caching).
  • The reasoning behind your technical decisions.

โœ… What Weโ€™re Looking For

  • Code quality โ†’ Clear, modular, with error handling and (if possible) simple tests.
  • Data engineering best practices โ†’ Thoughtful ETL/pipeline design, scalability, reproducibility.
  • Architecture thinking โ†’ Ability to explain design choices and extensions.
  • Communication โ†’ Clear documentation, easy-to-follow explanations.

๐Ÿ“ฆ Deliverables

Please submit:

  • Your code implementation (in a GitHub repo or as a zip file).
  • A README (like this one) updated with your notes.
  • An architecture diagram (image, PDF, or link to draw.io / mermaid).

Good luck โ€” weโ€™re excited to see your solution! โœจ

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors