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 problem
  • leetcode/sql/ — SQL problem solutions and tests
  • tests/ — shared test helpers and reusable fixtures
  • create_problem.py — a small CLI to scaffold a new problem folder
  • pyproject.toml — project metadata and dependencies

The workflow

The main pattern is straightforward:

  1. Pick a problem from a source such as LeetCode.
  2. Add or generate a new problem folder with the expected naming convention.
  3. Implement the solution in the correct language.
  4. Add or update the test file to assert the expected behavior.
  5. 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.

View the repository