# dbt - 基礎 (Data Engineering) > dbtプロジェクト、models、sources、refs、tests、ドキュメント、materializations (table、view、incremental)、seeds - 20 面接問題 - Mid-Level - [面接問題: Data Engineering](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions.md) ## 1. dbt (data build tool) とは何ですか? **回答** dbtは、SQLで変換を記述しdata warehouseで実行できるデータ変換ツールです。ソフトウェアエンジニアリングの原則(バージョン管理、テスト、ドキュメント化)をデータ変換作業に適用します。dbtは抽出やロード(ELTのEとL)を行わず、変換のみを行います。 ## 2. dbtプロジェクトの基本的な構造は何ですか? **回答** dbtプロジェクトは、プロジェクト設定を定義するdbt_project.ymlファイルをルートに含みます。主要なフォルダはmodels(SQLファイルを含む)、カスタムtests用のtests、Jinjaマクロ用のmacros、CSVファイル用のseeds、履歴データキャプチャ用のsnapshotsです。profiles.ymlファイル(通常プロジェクト外)はwarehouseへの接続を定義します。 ## 3. dbtにおけるprofiles.ymlファイルの役割は何ですか? **回答** profiles.ymlファイルには、data warehouse(BigQuery、Snowflake、Redshift、PostgreSQLなど)への接続情報が含まれます。機密性の高い認証情報をバージョン管理しないように、通常プロジェクト内ではなく~/.dbt/フォルダに保存されます。各プロファイルは複数のターゲット(dev、prod)を持つことができ、環境間の切り替えが容易になります。 ## さらに17問利用可能 - dbtにおけるmodelとは何ですか? - dbtにおけるref()関数の役割は何ですか? 無料で登録: https://sharpskill.dev/ja/login ## その他のData Engineering面接トピック - [Linux & Shell - 基礎](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/linux-shell-basics.md): 20問, Junior - [Git & GitHub - 基礎](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/git-github-fundamentals.md): 20問, Junior - [データエンジニアリングのための高度なPython](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/python-advanced-de.md): 25問, Junior - [Docker - 基礎](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/docker-fundamentals.md): 25問, Junior - [Google Cloud Platform - 基礎](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/gcp-fundamentals.md): 20問, Junior - [CI/CDとコード品質](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/ci-cd-code-quality.md): 20問, Mid-Level - [Docker Compose](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/docker-compose.md): 20問, Mid-Level - [FastAPI - データAPI](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/fastapi.md): 20問, Mid-Level - [Data Engineering向けの高度なSQL](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/sql-advanced-de.md): 20問, Mid-Level - [Data Lake - アーキテクチャと取り込み](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/data-lake.md): 20問, Mid-Level - [データエンジニアリングのためのBigQuery](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/bigquery-de.md): 20問, Mid-Level - [PostgreSQL - 管理](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/postgresql-admin.md): 20問, Mid-Level - [Data EngineeringのためのData Modeling](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/data-modeling-de.md): 20問, Mid-Level - [Fivetran & Airbyte - データ取り込み](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/fivetran-airbyte.md): 20問, Mid-Level - [Apache Airflow - 基礎](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/airflow-fundamentals.md): 20問, Mid-Level - [Kubernetes - 基礎](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/kubernetes-fundamentals.md): 20問, Mid-Level - [dbt - 高度な機能](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/dbt-advanced-de.md): 20問, Senior - [ETL / ELT / ETLT パターン](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/etl-elt-patterns.md): 20問, Senior - [Apache Airflow - 上級](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/airflow-advanced.md): 20問, Senior - [Airflow + dbt - パイプラインオーケストレーション](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/airflow-dbt-integration.md): 20問, Senior - [PySpark - 大規模処理](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/pyspark.md): 20問, Senior - [Google Pub/Sub - データストリーミング](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/pubsub-streaming.md): 20問, Senior - [Apache Beam & Dataflow](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/apache-beam-dataflow.md): 20問, Senior - [Kubernetes - 本番環境とスケーリング](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/kubernetes-advanced.md): 20問, Senior - [Terraform - Infrastructure as Code](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/terraform.md): 20問, Senior - [NoSQLデータベース](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/nosql-databases.md): 20問, Senior - [モダンなData Architecture](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/data-architecture.md): 20問, Senior - [モニタリングとオブザーバビリティ](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/monitoring-observability.md): 20問, Senior - [IAMとデータセキュリティ](https://sharpskill.dev/ja/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/ja/technologies/data-engineering/interview-questions/dbt-fundamentals-de