# CI/CD dan Kualitas Kode (Data Engineering) > Ruff, Pylint, Poetry, GitHub Actions, pipeline CI/CD, pengujian otomatis, pre-commit hooks, code coverage - 20 pertanyaan wawancara - Mid-Level - [Pertanyaan Wawancara: Data Engineering](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara.md) ## 1. Apa itu Ruff dalam ekosistem Python? **Jawaban** Ruff adalah linter dan formatter Python yang sangat cepat ditulis dalam Rust. Ia menggantikan tools seperti Flake8, isort, dan Black dengan menawarkan performa 10 hingga 100 kali lebih cepat. Ruff mendukung lebih dari 700 aturan linting dan mudah terintegrasi ke pipeline CI/CD dan pre-commit hooks. ## 2. Apa peran utama file pyproject.toml dengan Poetry? **Jawaban** File pyproject.toml adalah file konfigurasi pusat untuk proyek Python dengan Poetry. Ia mendefinisikan metadata proyek (nama, versi, deskripsi), dependensi produksi dan pengembangan, skrip, dan konfigurasi tools seperti Ruff atau pytest. File standar ini menggantikan setup.py, requirements.txt, dan setup.cfg. ## 3. Perintah Poetry mana yang menginstal semua dependensi dari proyek yang ada? **Jawaban** Perintah poetry install membaca file pyproject.toml dan poetry.lock untuk menginstal semua dependensi proyek dalam virtual environment terisolasi. Jika poetry.lock ada, versi yang tepat digunakan untuk memastikan reproduktibilitas. Jika tidak, Poetry menyelesaikan dependensi dan membuat file lock. ## 17 pertanyaan lagi tersedia - Apa itu pre-commit hook dalam konteks Git? - Apa struktur dasar dari workflow GitHub Actions? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara Data Engineering lainnya - [Linux & Shell - Dasar-dasar](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/linux-shell-basics.md): 20 pertanyaan, Junior - [Git & GitHub - Dasar-dasar](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/git-github-fundamentals.md): 20 pertanyaan, Junior - [Python lanjutan untuk Data Engineering](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/python-advanced-de.md): 25 pertanyaan, Junior - [Docker - Dasar-dasar](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/docker-fundamentals.md): 25 pertanyaan, Junior - [Google Cloud Platform - Dasar-Dasar](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/gcp-fundamentals.md): 20 pertanyaan, Junior - [Docker Compose](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/docker-compose.md): 20 pertanyaan, Mid-Level - [FastAPI - API Data](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/fastapi.md): 20 pertanyaan, Mid-Level - [SQL Lanjutan untuk Data Engineering](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/sql-advanced-de.md): 20 pertanyaan, Mid-Level - [Data Lake - Arsitektur dan Ingesti](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/data-lake.md): 20 pertanyaan, Mid-Level - [BigQuery untuk Data Engineering](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/bigquery-de.md): 20 pertanyaan, Mid-Level - [PostgreSQL - Administrasi](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/postgresql-admin.md): 20 pertanyaan, Mid-Level - [Data Modeling untuk Data Engineering](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/data-modeling-de.md): 20 pertanyaan, Mid-Level - [Fivetran & Airbyte - Ingesti Data](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/fivetran-airbyte.md): 20 pertanyaan, Mid-Level - [dbt - Dasar](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/dbt-fundamentals-de.md): 20 pertanyaan, Mid-Level - [Apache Airflow - Dasar-Dasar](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/airflow-fundamentals.md): 20 pertanyaan, Mid-Level - [Kubernetes - Dasar-Dasar](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/kubernetes-fundamentals.md): 20 pertanyaan, Mid-Level - [dbt - Fitur lanjutan](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/dbt-advanced-de.md): 20 pertanyaan, Senior - [Pola ETL / ELT / ETLT](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/etl-elt-patterns.md): 20 pertanyaan, Senior - [Apache Airflow - Lanjutan](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/airflow-advanced.md): 20 pertanyaan, Senior - [Airflow + dbt - Orkestrasi Pipeline](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/airflow-dbt-integration.md): 20 pertanyaan, Senior - [PySpark - Pemrosesan Skala Besar](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/pyspark.md): 20 pertanyaan, Senior - [Google Pub/Sub - Streaming Data](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/pubsub-streaming.md): 20 pertanyaan, Senior - [Apache Beam & Dataflow](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/apache-beam-dataflow.md): 20 pertanyaan, Senior - [Kubernetes - Produksi dan Penskalaan](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/kubernetes-advanced.md): 20 pertanyaan, Senior - [Terraform - Infrastructure as Code](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/terraform.md): 20 pertanyaan, Senior - [Database NoSQL](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/nosql-databases.md): 20 pertanyaan, Senior - [Data Architecture Modern](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/data-architecture.md): 20 pertanyaan, Senior - [Monitoring dan Observability](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/monitoring-observability.md): 20 pertanyaan, Senior - [IAM dan Keamanan Data](https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/iam-security-de.md): 20 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/data-engineering/pertanyaan-wawancara/ci-cd-code-quality