Rust

Database Integration

SQLx, Diesel, async Datenbankzugriff, Connection Pooling, Migrationen, Query Builder, ORM-Patterns

20 Interview-Fragen·
Senior
1

Was ist der Hauptunterschied zwischen SQLx und Diesel bei der Query-Verifizierung?

Antwort

SQLx führt die Query-Verifizierung zur Compile-Zeit durch, indem es sich während des Build-Prozesses mit einer echten Datenbank verbindet. Diesel verwendet eine Rust-DSL (Domain-Specific Language), um typsichere Queries zu erstellen, ohne zur Compile-Zeit eine Datenbankverbindung zu benötigen. Beide Ansätze gewährleisten Typsicherheit, aber SQLx erlaubt das Schreiben von verifiziertem rohem SQL, während Diesel die Nutzung seiner Rust-API vorschreibt.

2

Welches Makro in SQLx ermöglicht das Ausführen einer Query und das automatische Mapping der Ergebnisse auf eine Rust-Struct?

Antwort

Das query_as!-Makro von SQLx führt eine SQL-Query aus und mappt die Ergebnisse automatisch auf eine angegebene Rust-Struct. Dieses Makro überprüft zur Compile-Zeit, dass die zurückgegebenen Spalten mit den Struct-Feldern übereinstimmen, und gewährleistet so Typsicherheit. Das query!-Makro gibt einen anonymen Typ zurück, während query_scalar! verwendet wird, um einen einzelnen Wert zu extrahieren.

3

Wie konfiguriert man einen Connection Pool mit SQLx für eine async PostgreSQL-Anwendung?

Antwort

SQLx verwendet PgPoolOptions, um einen async PostgreSQL-Connection-Pool zu konfigurieren. Die Methode max_connections legt die maximale Anzahl an Verbindungen fest, und connect erstellt den Pool aus der Datenbank-URL. Der Pool verwaltet die Verbindungsbeschaffung und -freigabe automatisch und unterstützt konfigurierbare Timeouts und Retries.

4

Wie definiert man in Diesel ein Tabellenschema, um typsichere CRUD-Operationen zu ermöglichen?

5

Welchen Diesel-Trait muss eine Struct implementieren, um Daten in eine Tabelle einzufügen?

+17 Interview-Fragen

Meistere Rust für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten