Rust

Database Integration

SQLx, Diesel, acceso async a bases de datos, connection pooling, migraciones, query builders, patrones ORM

20 preguntas de entrevista·
Senior
1

¿Cuál es la principal diferencia entre SQLx y Diesel en cuanto a la verificación de consultas?

Respuesta

SQLx realiza la verificación de queries en tiempo de compilación conectándose a una base de datos real durante el proceso de build. Diesel usa un DSL (Domain-Specific Language) de Rust para construir queries type-safe sin necesitar una conexión a la base de datos en tiempo de compilación. Ambos enfoques garantizan la seguridad de tipos, pero SQLx permite escribir SQL crudo verificado, mientras que Diesel impone el uso de su API de Rust.

2

En SQLx, ¿qué macro permite ejecutar una query y mapear automáticamente los resultados a una struct de Rust?

Respuesta

La macro query_as! de SQLx ejecuta una query SQL y mapea automáticamente los resultados a una struct de Rust especificada. Esta macro verifica en tiempo de compilación que las columnas retornadas coincidan con los campos de la struct, garantizando la seguridad de tipos. La macro query! retorna un tipo anónimo, mientras que query_scalar! se usa para extraer un único valor.

3

¿Cómo configurar un connection pool con SQLx para una aplicación PostgreSQL async?

Respuesta

SQLx usa PgPoolOptions para configurar un connection pool de PostgreSQL asíncrono. El método max_connections define el número máximo de conexiones, y connect crea el pool a partir de la URL de la base de datos. El pool gestiona automáticamente la adquisición y liberación de conexiones, y soporta timeouts y retries configurables.

4

En Diesel, ¿cómo definir un esquema de tabla para habilitar operaciones CRUD type-safe?

5

¿Qué trait de Diesel debe implementar una struct para poder insertar datos en una tabla?

+17 preguntas de entrevista

Domina Rust para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis