Rust

Database Integration

SQLx, Diesel, acesso async a bancos de dados, connection pooling, migrações, query builders, padrões ORM

20 perguntas de entrevista·
Senior
1

Qual é a principal diferença entre SQLx e Diesel quanto à verificação de queries?

Resposta

O SQLx realiza a verificação de queries em tempo de compilação conectando-se a um banco de dados real durante o processo de build. O Diesel usa um DSL (Domain-Specific Language) de Rust para construir queries type-safe sem exigir uma conexão com o banco de dados em tempo de compilação. Ambas as abordagens garantem a segurança de tipos, mas o SQLx permite escrever SQL bruto verificado, enquanto o Diesel impõe o uso de sua API Rust.

2

No SQLx, qual macro permite executar uma query e mapear automaticamente os resultados para uma struct de Rust?

Resposta

A macro query_as! do SQLx executa uma query SQL e mapeia automaticamente os resultados para uma struct de Rust especificada. Essa macro verifica em tempo de compilação se as colunas retornadas correspondem aos campos da struct, garantindo a segurança de tipos. A macro query! retorna um tipo anônimo, enquanto query_scalar! é usada para extrair um único valor.

3

Como configurar um connection pool com SQLx para uma aplicação PostgreSQL async?

Resposta

O SQLx usa PgPoolOptions para configurar um connection pool PostgreSQL assíncrono. O método max_connections define o número máximo de conexões, e connect cria o pool a partir da URL do banco de dados. O pool gerencia automaticamente a aquisição e liberação de conexões, e suporta timeouts e retries configuráveis.

4

No Diesel, como definir um esquema de tabela para habilitar operações CRUD type-safe?

5

Qual trait do Diesel uma struct deve implementar para inserir dados em uma tabela?

+17 perguntas de entrevista

Domine Rust para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis