Skip to content

Repository files navigation

Python · SQL Interview Prep Dashboard

Live Demo License: MIT React Vite Pyodide SQLite

🚀 Try the live demo →

A local-first, browser-powered interview training dashboard for Python and SQL — with supporting machine learning and GenAI fundamentals. No backend, no account, no install required beyond npm install.

It combines a polished dark-mode study dashboard with browser-executed Python (via Pyodide), browser-executed SQLite (via sql.js), flashcards, progress tracking, mistake tracking, and an optional local Ollama tutor.


Why this project exists

Most interview prep notes are static. This app turns preparation into an interactive training workspace:

  • read a clear exercise prompt
  • write a fresh solution
  • run Python or SQL directly in the browser (no server needed)
  • compare with corrected solutions side-by-side
  • track weak / review / strong status per topic
  • revise with flashcards, quiz mode, notes, and a mistake tracker
  • optionally ask a local Ollama LLM for hints or explanations

Screenshots

Dashboard overview

Dashboard

Python practice editor

Python practice editor

AI tutor drawer

AI tutor drawer


Features

Python interview track (28 topics)

  • Core Python, OOP, algorithms, testing, async, FastAPI basics
  • Data Python, ML basics, GenAI/RAG, advanced Python internals
  • Browser-side Python execution through Pyodide — no local Python needed
  • Automated checks for many exercises
  • Side-by-side "Your answer" vs "Corrected solution" views
  • Smart textarea: auto-indent after :, Tab/Shift+Tab indentation

Topic areas:

# Topic
1 Dictionaries, Lists, Sets, and Tuples
2 Functions and Comprehensions
3 try/except and Safe Dictionary Access
4 Classes and OOP Basics
5 Generators and Iterators
6 Decorators
7 Context Managers
8 Mutability, Shallow Copy, and Deep Copy
9 JSON, APIs, and Practical Python Basics
10 Simple RAG Helper Functions
11 Simple Agent / Tool Routing Logic
12 Async Basics
13 FastAPI Basics
14 Pytest Basics
15 Algorithm Patterns: Hash Map, Two Pointers, Stack, Binary Search
16 Sliding Window and String Patterns
17 Recursion, Trees, and Graph Basics
18 Python Standard Library for Interviews
19 Data Python: Cleaning, Grouping, and Joins
20 Data Engineering: Files, Batching, and ETL Helpers
21 AI Engineer Python: RAG Scoring and Prompt Assembly
22 Debugging, Refactoring, and Code Review Drills
23 Python Internals and Advanced Concepts
24 Data Science Python Concepts
25 Coding Challenges I
26 Coding Challenges II
27 AI and ML Python Concepts
28 Machine Learning Basics for Interviews

SQL interview track (50 exercises)

  • 10 groups × 5 exercises — LeetCode-style SQL drills
  • SELECT, filtering, aggregation, joins, subqueries, window functions, CASE, dates, strings
  • Browser-side SQLite execution via sql.js — no database server needed
  • Seeded sample database included
  • Compares user query result against corrected query result automatically

SQL topic groups:

# Group
1 Basic SELECT
2 Filtering Conditions
3 Aggregation
4 Joins
5 Subqueries
6 Window Functions
7 CASE, Dates, and Strings
8 LeetCode-Style Drills
9 Review and Edge Cases
10 Practical SQL Analytics Patterns

Best suited for:

  • Data Scientist interviews
  • AI Engineer interviews
  • Data Engineer interviews
  • Data Analyst interviews
  • Python backend / API roles
  • SQL analytics and data querying roles

Study workflow features

Feature Description
Topic cards Organised by topic with status tags
Role-based filtering Filter topics by target role
Flashcards Quick revision cards per topic
Quiz mode Multiple-choice knowledge checks
Notes Per-topic personal notes
Mistake tracker Log and review errors
Review queue Auto-surfaces weak topics
Progress tags Weak / Review / Strong per topic
localStorage persistence All progress saved in the browser

Optional local AI tutor

  • Sandbox tutor mode works fully offline with deterministic templates
  • Optional local Ollama connection at 127.0.0.1:11434
  • Provides hints, code review, concept explanations, and mock follow-up questions

Tech stack

Layer Technology
UI framework React 19
Build tool Vite 8
Styling Tailwind CSS 3
In-browser Python Pyodide (WebAssembly)
In-browser SQL sql.js / SQLite WASM
Local persistence localStorage
Optional LLM Ollama (local, offline)
Deployment GitHub Pages via GitHub Actions

Run locally

npm install
npm run dev

Then open the local URL printed by Vite (typically http://localhost:5173).

Quick start on Windows

Double-click:

Start Interview Prep Dashboard.cmd

Keep the terminal window open while using the dashboard.

Production build

npm run build
npm run preview

Optional Ollama tutor setup

Start Ollama, pull a model, then enable Local Ollama Connect inside the tutor panel:

ollama serve
ollama pull qwen2.5-coder:7b

The selected exercise and current draft are sent only to your local Ollama endpoint — nothing leaves your machine.


Extending the question bank

Add topics, exercises, corrected solutions, SQL prompts, or role-specific tracks in:

src/InterviewPrepTrainingDashboard.jsx

Key data sections:

Section Contents
topics Python topic cards, previous answers, corrected solutions
exerciseGuides Exercise prompts and examples
exerciseTests Browser-side Python assertions
sqlTopics SQL schemas, prompts, starters, corrected queries
quizDeck Quiz questions
flashcards Revision cards
roleRoadmap Role-specific preparation checklist

Project structure

src/
  InterviewPrepTrainingDashboard.jsx   # main dashboard, training data, runners, UI
  hooks/usePythonRunner.js             # Pyodide worker hook
  workers/pythonRunner.worker.js       # browser Python execution worker
  components/ui/                       # reusable UI primitives

Roadmap

  • Split large training data into separate src/data/* modules
  • Add full CodeMirror / Monaco editor for advanced editing
  • Add more SQL seed datasets and expected output fixtures
  • Add import / export for progress data (JSON backup)
  • Add richer local Ollama tutor workflows
  • Add more role-specific tracks (MLE, Backend, Analytics Engineer)

Notes on content

The training material is original and organised around common Python, SQL, ML, data, and GenAI interview patterns. The SQL track covers common interview categories: SELECT, JOIN, GROUP BY, subqueries, and window functions.


License

MIT © maghdam

About

Dark-mode Python and SQL interview prep dashboard with coding exercises, quizzes, flashcards, progress tracking, AI tutor support, and browser-based Python/SQL practice.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages