Data Engineering

CI/CD and Code Quality

Ruff, Pylint, Poetry, GitHub Actions, CI/CD pipelines, automated tests, pre-commit hooks, code coverage

20 interview questions·
Mid-Level
1

What is Ruff in the Python ecosystem?

Answer

Ruff is an extremely fast Python linter and formatter written in Rust. It advantageously replaces tools like Flake8, isort, and Black while offering 10 to 100 times better performance. Ruff supports over 700 linting rules and easily integrates into CI/CD pipelines and pre-commit hooks.

2

What is the main role of the pyproject.toml file with Poetry?

Answer

The pyproject.toml file is the central configuration file for a Python project with Poetry. It defines project metadata (name, version, description), production and development dependencies, scripts, and tool configurations like Ruff or pytest. This standardized file replaces setup.py, requirements.txt, and setup.cfg.

3

Which Poetry command installs all dependencies of an existing project?

Answer

The poetry install command reads pyproject.toml and poetry.lock files to install all project dependencies in an isolated virtual environment. If poetry.lock exists, exact versions are used to ensure reproducibility. Otherwise, Poetry resolves dependencies and creates the lock file.

4

What is a pre-commit hook in the Git context?

5

What is the basic structure of a GitHub Actions workflow?

+17 interview questions

Master Data Engineering for your next interview

Access all questions, flashcards, technical tests, code review exercises and interview simulators.

Start for free