# CI/CD và chất lượng mã (Data Engineering) > Ruff, Pylint, Poetry, GitHub Actions, pipeline CI/CD, kiểm thử tự động, pre-commit hooks, code coverage - 20 câu hỏi phỏng vấn - Mid-Level - [Câu hỏi phỏng vấn: Data Engineering](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van.md) ## 1. Ruff trong hệ sinh thái Python là gì? **Câu trả lời** Ruff là một linter và formatter Python cực kỳ nhanh được viết bằng Rust. Nó thay thế các công cụ như Flake8, isort và Black với hiệu suất nhanh hơn 10 đến 100 lần. Ruff hỗ trợ hơn 700 quy tắc linting và dễ dàng tích hợp vào pipeline CI/CD và pre-commit hooks. ## 2. Vai trò chính của tệp pyproject.toml với Poetry là gì? **Câu trả lời** Tệp pyproject.toml là tệp cấu hình trung tâm cho dự án Python với Poetry. Nó định nghĩa metadata dự án (tên, phiên bản, mô tả), các phụ thuộc production và development, scripts và cấu hình công cụ như Ruff hoặc pytest. Tệp chuẩn hóa này thay thế setup.py, requirements.txt và setup.cfg. ## 3. Lệnh Poetry nào cài đặt tất cả các phụ thuộc của một dự án hiện có? **Câu trả lời** Lệnh poetry install đọc các tệp pyproject.toml và poetry.lock để cài đặt tất cả các phụ thuộc của dự án trong một virtual environment cô lập. Nếu poetry.lock tồn tại, các phiên bản chính xác được sử dụng để đảm bảo khả năng tái tạo. Nếu không, Poetry sẽ giải quyết các phụ thuộc và tạo tệp lock. ## Còn 17 câu hỏi nữa - Pre-commit hook trong ngữ cảnh Git là gì? - Cấu trúc cơ bản của một workflow GitHub Actions là gì? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Data Engineering khác - [Linux & Shell - Cơ bản](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/linux-shell-basics.md): 20 câu hỏi, Junior - [Git & GitHub - Kiến thức cơ bản](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/git-github-fundamentals.md): 20 câu hỏi, Junior - [Python nâng cao cho Data Engineering](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/python-advanced-de.md): 25 câu hỏi, Junior - [Docker - Cơ bản](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/docker-fundamentals.md): 25 câu hỏi, Junior - [Google Cloud Platform - Cơ bản](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/gcp-fundamentals.md): 20 câu hỏi, Junior - [Docker Compose](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/docker-compose.md): 20 câu hỏi, Mid-Level - [FastAPI - API dữ liệu](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/fastapi.md): 20 câu hỏi, Mid-Level - [SQL nâng cao cho Data Engineering](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/sql-advanced-de.md): 20 câu hỏi, Mid-Level - [Data Lake - Kiến trúc và nạp dữ liệu](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/data-lake.md): 20 câu hỏi, Mid-Level - [BigQuery cho Data Engineering](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/bigquery-de.md): 20 câu hỏi, Mid-Level - [PostgreSQL - Quản trị](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/postgresql-admin.md): 20 câu hỏi, Mid-Level - [Data Modeling cho Data Engineering](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/data-modeling-de.md): 20 câu hỏi, Mid-Level - [Fivetran & Airbyte - Nạp dữ liệu](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/fivetran-airbyte.md): 20 câu hỏi, Mid-Level - [dbt - Kiến thức cơ bản](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/dbt-fundamentals-de.md): 20 câu hỏi, Mid-Level - [Apache Airflow - Cơ bản](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/airflow-fundamentals.md): 20 câu hỏi, Mid-Level - [Kubernetes - Cơ Bản](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/kubernetes-fundamentals.md): 20 câu hỏi, Mid-Level - [dbt - Tính năng nâng cao](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/dbt-advanced-de.md): 20 câu hỏi, Senior - [Mẫu ETL / ELT / ETLT](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/etl-elt-patterns.md): 20 câu hỏi, Senior - [Apache Airflow - Nâng cao](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/airflow-advanced.md): 20 câu hỏi, Senior - [Airflow + dbt - Điều phối pipeline](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/airflow-dbt-integration.md): 20 câu hỏi, Senior - [PySpark - Xử lý quy mô lớn](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/pyspark.md): 20 câu hỏi, Senior - [Google Pub/Sub - Streaming dữ liệu](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/pubsub-streaming.md): 20 câu hỏi, Senior - [Apache Beam & Dataflow](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/apache-beam-dataflow.md): 20 câu hỏi, Senior - [Kubernetes - Production và Scaling](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/kubernetes-advanced.md): 20 câu hỏi, Senior - [Terraform - Infrastructure as Code](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/terraform.md): 20 câu hỏi, Senior - [Cơ sở dữ liệu NoSQL](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/nosql-databases.md): 20 câu hỏi, Senior - [Data Architecture hiện đại](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/data-architecture.md): 20 câu hỏi, Senior - [Giám sát và Khả năng quan sát](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/monitoring-observability.md): 20 câu hỏi, Senior - [IAM và Bảo mật Dữ liệu](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/iam-security-de.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/ci-cd-code-quality