Rust

Database Integration

SQLx、Diesel、async データベースアクセス、connection pooling、マイグレーション、query builder、ORM パターン

20 面接問題·
Senior
1

クエリの検証に関して、SQLx と Diesel の主な違いは何ですか?

回答

SQLx は、ビルドプロセス中に実際のデータベースに接続することでコンパイル時のクエリ検証を行います。Diesel は Rust の DSL(Domain-Specific Language)を使用し、コンパイル時にデータベース接続を必要とせずに type-safe なクエリを構築します。どちらのアプローチも型安全性を保証しますが、SQLx は検証済みの生の SQL を書くことができ、Diesel は Rust API の使用を求めます。

2

SQLx で、クエリを実行して結果を Rust の struct に自動的にマッピングできるマクロはどれですか?

回答

SQLx の query_as! マクロは SQL クエリを実行し、結果を指定された Rust の struct に自動的にマッピングします。このマクロは、返されるカラムが struct のフィールドと一致することをコンパイル時に検証し、型安全性を保証します。query! マクロは匿名型を返し、query_scalar! は単一の値を抽出するために使用されます。

3

async な PostgreSQL アプリケーション向けに SQLx で connection pool を構成するにはどうしますか?

回答

SQLx は PgPoolOptions を使用して非同期の PostgreSQL connection pool を構成します。max_connections メソッドは最大接続数を定義し、connect はデータベース URL からプールを作成します。プールは接続の取得と解放を自動的に管理し、設定可能なタイムアウトとリトライをサポートします。

4

Diesel で type-safe な CRUD 操作を可能にするテーブルスキーマを定義するにはどうしますか?

5

テーブルにデータを挿入するために、struct はどの Diesel トレイトを実装する必要がありますか?

+17 面接問題

次の面接に向けてRustをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める