Skip to content

Repository files navigation

Python · SQL Interview Prep Dashboard

Live DemoLicense: MITReactVitePyodideSQLite

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

FeatureDescription
Topic cardsOrganised by topic with status tags
Role-based filteringFilter topics by target role
FlashcardsQuick revision cards per topic
Quiz modeMultiple-choice knowledge checks
NotesPer-topic personal notes
Mistake trackerLog and review errors
Review queueAuto-surfaces weak topics
Progress tagsWeak / Review / Strong per topic
localStorage persistenceAll 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

LayerTechnology
UI frameworkReact 19
Build toolVite 8
StylingTailwind CSS 3
In-browser PythonPyodide (WebAssembly)
In-browser SQLsql.js / SQLite WASM
Local persistencelocalStorage
Optional LLMOllama (local, offline)
DeploymentGitHub 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:

SectionContents
topicsPython topic cards, previous answers, corrected solutions
exerciseGuidesExercise prompts and examples
exerciseTestsBrowser-side Python assertions
sqlTopicsSQL schemas, prompts, starters, corrected queries
quizDeckQuiz questions
flashcardsRevision cards
roleRoadmapRole-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