# Database Integration (Rust) > SQLx, Diesel, truy cập database async, connection pooling, migration, query builder, mẫu ORM - 20 câu hỏi phỏng vấn - Senior - [Câu hỏi phỏng vấn: Rust](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van.md) ## 1. Sự khác biệt chính giữa SQLx và Diesel về việc kiểm tra query là gì? **Câu trả lời** SQLx thực hiện kiểm tra query tại compile-time bằng cách kết nối đến một database thực trong quá trình build. Diesel sử dụng một DSL (Domain-Specific Language) của Rust để xây dựng các query type-safe mà không cần kết nối database tại compile-time. Cả hai cách tiếp cận đều đảm bảo an toàn kiểu, nhưng SQLx cho phép viết raw SQL đã được kiểm tra, trong khi Diesel yêu cầu sử dụng API Rust của nó. ## 2. Trong SQLx, macro nào cho phép thực thi một query và tự động ánh xạ kết quả sang một struct Rust? **Câu trả lời** Macro query_as! của SQLx thực thi một query SQL và tự động ánh xạ kết quả sang một struct Rust được chỉ định. Macro này kiểm tra tại compile-time rằng các cột trả về khớp với các trường của struct, đảm bảo an toàn kiểu. Macro query! trả về một kiểu ẩn danh, trong khi query_scalar! được dùng để trích xuất một giá trị đơn. ## 3. Làm thế nào để cấu hình một connection pool với SQLx cho một ứng dụng PostgreSQL async? **Câu trả lời** SQLx sử dụng PgPoolOptions để cấu hình một connection pool PostgreSQL async. Phương thức max_connections xác định số kết nối tối đa, và connect tạo pool từ URL của database. Pool tự động quản lý việc lấy và giải phóng kết nối, đồng thời hỗ trợ timeout và retry có thể cấu hình. ## Còn 17 câu hỏi nữa - Trong Diesel, làm thế nào để định nghĩa một schema bảng nhằm kích hoạt các thao tác CRUD type-safe? - Một struct phải triển khai trait Diesel nào để chèn dữ liệu vào một bảng? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Rust khác - [Cơ bản về Rust](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/rust-basics.md): 25 câu hỏi, Junior - [Ownership & Borrowing](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/ownership-borrowing.md): 22 câu hỏi, Junior - [Structs & Enums](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/structs-enums.md): 20 câu hỏi, Junior - [Xử lý lỗi](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/error-handling.md): 18 câu hỏi, Junior - [Collections](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/collections.md): 20 câu hỏi, Junior - [Modules & Packages](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/modules-packages.md): 18 câu hỏi, Junior - [Traits](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/traits.md): 22 câu hỏi, Mid-Level - [Generics](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/generics.md): 20 câu hỏi, Mid-Level - [Lifetimes](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/lifetimes.md): 20 câu hỏi, Mid-Level - [Iterators & Closures](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/iterators-closures.md): 22 câu hỏi, Mid-Level - [Smart Pointers](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/smart-pointers.md): 22 câu hỏi, Mid-Level - [Concurrency Basics](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/concurrency-basics.md): 20 câu hỏi, Mid-Level - [async/await](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/async-await.md): 22 câu hỏi, Mid-Level - [Testing](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/testing.md): 18 câu hỏi, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/cargo-ecosystem.md): 18 câu hỏi, Mid-Level - [Pattern Matching](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/pattern-matching.md): 18 câu hỏi, Mid-Level - [Macro](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/macros.md): 20 câu hỏi, Mid-Level - [Serde & Serialization](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/serde-serialization.md): 20 câu hỏi, Mid-Level - [Unsafe Rust](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/unsafe-rust.md): 20 câu hỏi, Senior - [Trait nâng cao](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/advanced-traits.md): 22 câu hỏi, Senior - [Lifetime Nâng Cao](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/advanced-lifetimes.md): 20 câu hỏi, Senior - [Type System](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/type-system.md): 20 câu hỏi, Senior - [Tokio & Async I/O](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/tokio-async.md): 22 câu hỏi, Senior - [Tối ưu hóa Hiệu suất](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/performance-optimization.md): 20 câu hỏi, Senior - [Memory Management](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/memory-management.md): 20 câu hỏi, Senior - [Web Frameworks](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/web-frameworks.md): 22 câu hỏi, Senior - [Design Pattern trong Rust](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/design-patterns.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/database-integration