Rust

Database Integration

SQLx, Diesel, async database access, connection pooling, migrations, query builders, ORM patterns

20 questions d'entretien·
Senior
1

Quelle est la principale différence entre SQLx et Diesel en termes de vérification des requêtes ?

Réponse

SQLx effectue une vérification des requêtes SQL au moment de la compilation en se connectant à une base de données réelle pendant le processus de build. Diesel utilise un DSL (Domain-Specific Language) Rust pour construire des requêtes type-safe sans nécessiter de connexion à la base de données pendant la compilation. Les deux approches garantissent la sécurité des types, mais SQLx permet d'écrire du SQL brut vérifié, tandis que Diesel impose l'utilisation de son API Rust.

2

Dans SQLx, quelle macro permet d'exécuter une requête et de mapper automatiquement les résultats vers une structure Rust ?

Réponse

La macro query_as! de SQLx permet d'exécuter une requête SQL et de mapper automatiquement les résultats vers une structure Rust spécifiée. Cette macro vérifie à la compilation que les colonnes retournées correspondent aux champs de la structure, garantissant ainsi la sécurité des types. La macro query! retourne un type anonyme, tandis que query_scalar! est utilisée pour extraire une seule valeur.

3

Comment configurer un pool de connexions avec SQLx pour une application PostgreSQL async ?

Réponse

SQLx utilise PgPoolOptions pour configurer un pool de connexions PostgreSQL asynchrone. La méthode max_connections définit le nombre maximum de connexions, et connect permet de créer le pool à partir de l'URL de la base de données. Le pool gère automatiquement l'acquisition et la libération des connexions, et supporte les timeouts et retries configurables.

4

Dans Diesel, comment définir un schéma de table pour activer les opérations CRUD type-safe ?

5

Quel trait Diesel doit implémenter une structure pour pouvoir insérer des données dans une table ?

+17 questions d'entretien

Maîtrise Rust pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement