Data Practice
Interview Prep
A curated collection of coding practice problems and solutions for interview preparation, focused on Python and SQL. The repository combines solved problems from LeetCode and similar platforms with a lightweight project structure for adding new exercises and keeping everything test-driven.
Overview
This project is designed to help me work through interview-style questions in a repeatable, structured way. Each problem lives in its own folder, with a solution file and a corresponding test file, so I can practice problem solving while validating behavior with pytest.
The repository is intentionally simple: small, focused exercises, predictable file naming, and a single CLI helper to scaffold new tasks. That keeps the workflow fast and makes it easy to build momentum across a broad range of problem types.
What’s in the repo
leetcode/python/— Python solutions and tests organized by problemleetcode/sql/— SQL problem solutions and teststests/— shared test helpers and reusable fixturescreate_problem.py— a small CLI to scaffold a new problem folderpyproject.toml— project metadata and dependencies
The workflow
The main pattern is straightforward:
- Pick a problem from a source such as LeetCode.
- Add or generate a new problem folder with the expected naming convention.
- Implement the solution in the correct language.
- Add or update the test file to assert the expected behavior.
- Run the relevant tests to confirm the logic.
This keeps the focus on correctness, clarity, and speed. The exercises are small enough to stay approachable, but structured enough to make repeated practice meaningful.
Why this project matters
The goal is not just to collect solutions, but to build consistent problem-solving habits. By working in a test-driven format, I can:
- validate edge cases quickly
- keep solutions consistent and readable
- practice a wide mix of interview topics
- build a reusable system for adding more questions over time
The repository also makes it easy to revisit earlier problems with confidence, which is especially useful when preparing for technical interviews or keeping my Python/SQL fundamentals sharp.
Quickstart
uv venv
.\.venv\Scripts\Activate.ps1
uv sync
pytest
To scaffold a new problem:
python create_problem.py
The helper prompts for the source, the language, and the problem name, then creates the expected folder structure and placeholders for the solution and tests.
Summary
This is a practical interview-prep project: compact, test-driven, and focused on solving real problems in Python and SQL. It reflects the same mindset I apply elsewhere in my work — build repeatable systems, keep the feedback loop tight, and improve through consistent practice.