
Database Integration
SQLx、Diesel、async データベースアクセス、connection pooling、マイグレーション、query builder、ORM パターン
20 面接問題·
Senior
1クエリの検証に関して、SQLx と Diesel の主な違いは何ですか?
1
クエリの検証に関して、SQLx と Diesel の主な違いは何ですか?
回答
SQLx は、ビルドプロセス中に実際のデータベースに接続することでコンパイル時のクエリ検証を行います。Diesel は Rust の DSL(Domain-Specific Language)を使用し、コンパイル時にデータベース接続を必要とせずに type-safe なクエリを構築します。どちらのアプローチも型安全性を保証しますが、SQLx は検証済みの生の SQL を書くことができ、Diesel は Rust API の使用を求めます。
2SQLx で、クエリを実行して結果を Rust の struct に自動的にマッピングできるマクロはどれですか?
2
SQLx で、クエリを実行して結果を Rust の struct に自動的にマッピングできるマクロはどれですか?
回答
SQLx の query_as! マクロは SQL クエリを実行し、結果を指定された Rust の struct に自動的にマッピングします。このマクロは、返されるカラムが struct のフィールドと一致することをコンパイル時に検証し、型安全性を保証します。query! マクロは匿名型を返し、query_scalar! は単一の値を抽出するために使用されます。
3async な PostgreSQL アプリケーション向けに SQLx で connection pool を構成するにはどうしますか?
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面接トピック
Rustの基礎
Junior
25問Ownership & Borrowing
Junior
22問Structs & Enums
Junior
20問エラー処理
Junior
18問コレクション
Junior
20問モジュールとパッケージ
Junior
18問Traits
Mid-Level
22問Generics
Mid-Level
20問Lifetimes
Mid-Level
20問Iterators & Closures
Mid-Level
22問Smart Pointers
Mid-Level
22問Concurrency Basics
Mid-Level
20問async/await
Mid-Level
22問Testing
Mid-Level
18問Cargo & Ecosystem
Mid-Level
18問Pattern Matching
Mid-Level
18問マクロ
Mid-Level
20問Serde とシリアライゼーション
Mid-Level
20問Unsafe Rust
Senior
20問高度なトレイト
Senior
22問高度な lifetime
Senior
20問Type System
Senior
20問Tokio & Async I/O
Senior
22問パフォーマンス最適化
Senior
20問Memory Management
Senior
20問Web Frameworks
Senior
22問Rust デザインパターン
Senior
20問