# CI/CD 및 코드 품질 (Data Engineering) > Ruff, Pylint, Poetry, GitHub Actions, CI/CD 파이프라인, 자동화된 테스트, pre-commit hooks, code coverage - 20 면접 질문 - Mid-Level - [면접 질문: Data Engineering](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions.md) ## 1. Python 생태계에서 Ruff란 무엇입니까? **답변** Ruff는 Rust로 작성된 매우 빠른 Python linter 및 formatter입니다. Flake8, isort, Black과 같은 도구를 유리하게 대체하여 10~100배 더 높은 성능을 제공합니다. Ruff는 700개 이상의 linting 규칙을 지원하며 CI/CD 파이프라인 및 pre-commit hooks에 쉽게 통합됩니다. ## 2. Poetry에서 pyproject.toml 파일의 주요 역할은 무엇입니까? **답변** pyproject.toml 파일은 Poetry를 사용한 Python 프로젝트의 중앙 구성 파일입니다. 프로젝트 메타데이터(이름, 버전, 설명), 프로덕션 및 개발 의존성, 스크립트, Ruff 또는 pytest와 같은 도구 구성을 정의합니다. 이 표준화된 파일은 setup.py, requirements.txt 및 setup.cfg를 대체합니다. ## 3. 기존 프로젝트의 모든 의존성을 설치하는 Poetry 명령은 무엇입니까? **답변** poetry install 명령은 pyproject.toml과 poetry.lock 파일을 읽어 격리된 가상 환경에 프로젝트의 모든 의존성을 설치합니다. poetry.lock이 존재하면 재현성을 보장하기 위해 정확한 버전이 사용됩니다. 그렇지 않으면 Poetry는 의존성을 해결하고 lock 파일을 생성합니다. ## 17개 추가 질문 이용 가능 - Git 컨텍스트에서 pre-commit hook이란 무엇입니까? - GitHub Actions 워크플로의 기본 구조는 무엇입니까? 무료로 가입하기: https://sharpskill.dev/ko/login ## 기타 Data Engineering 면접 주제 - [Linux & Shell - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/linux-shell-basics.md): 20개 질문, Junior - [Git & GitHub - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/git-github-fundamentals.md): 20개 질문, Junior - [데이터 엔지니어링을 위한 고급 Python](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/python-advanced-de.md): 25개 질문, Junior - [Docker - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/docker-fundamentals.md): 25개 질문, Junior - [Google Cloud Platform - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/gcp-fundamentals.md): 20개 질문, Junior - [Docker Compose](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/docker-compose.md): 20개 질문, Mid-Level - [FastAPI - 데이터 API](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/fastapi.md): 20개 질문, Mid-Level - [Data Engineering을 위한 고급 SQL](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/sql-advanced-de.md): 20개 질문, Mid-Level - [Data Lake - 아키텍처 및 수집](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/data-lake.md): 20개 질문, Mid-Level - [데이터 엔지니어링을 위한 BigQuery](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/bigquery-de.md): 20개 질문, Mid-Level - [PostgreSQL - 관리](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/postgresql-admin.md): 20개 질문, Mid-Level - [Data Engineering을 위한 Data Modeling](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/data-modeling-de.md): 20개 질문, Mid-Level - [Fivetran & Airbyte - 데이터 수집](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/fivetran-airbyte.md): 20개 질문, Mid-Level - [dbt - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/dbt-fundamentals-de.md): 20개 질문, Mid-Level - [Apache Airflow - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/airflow-fundamentals.md): 20개 질문, Mid-Level - [Kubernetes - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/kubernetes-fundamentals.md): 20개 질문, Mid-Level - [dbt - 고급 기능](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/dbt-advanced-de.md): 20개 질문, Senior - [ETL / ELT / ETLT 패턴](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/etl-elt-patterns.md): 20개 질문, Senior - [Apache Airflow - 고급](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/airflow-advanced.md): 20개 질문, Senior - [Airflow + dbt - 파이프라인 오케스트레이션](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/airflow-dbt-integration.md): 20개 질문, Senior - [PySpark - 대규모 처리](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/pyspark.md): 20개 질문, Senior - [Google Pub/Sub - 데이터 스트리밍](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/pubsub-streaming.md): 20개 질문, Senior - [Apache Beam & Dataflow](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/apache-beam-dataflow.md): 20개 질문, Senior - [Kubernetes - 프로덕션 및 스케일링](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/kubernetes-advanced.md): 20개 질문, Senior - [Terraform - Infrastructure as Code](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/terraform.md): 20개 질문, Senior - [NoSQL 데이터베이스](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/nosql-databases.md): 20개 질문, Senior - [모던 Data Architecture](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/data-architecture.md): 20개 질문, Senior - [모니터링 및 관찰 가능성](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/monitoring-observability.md): 20개 질문, Senior - [IAM 및 데이터 보안](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/iam-security-de.md): 20개 질문, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/ci-cd-code-quality