
Traits avançados
Associated types vs generics, GATs, trait objects, palavra-chave dyn, object safety, vtables
1Qual é a principal diferença entre um associated type e um parâmetro generic em um trait?
Qual é a principal diferença entre um associated type e um parâmetro generic em um trait?
Resposta
Um associated type permite apenas uma implementação do trait por tipo, enquanto um parâmetro generic permite várias implementações. Com um associated type, o tipo é determinado pela própria implementação, o que simplifica a inferência de tipos e evita especificar o tipo a cada uso.
2Qual palavra-chave é usada para criar um trait object em Rust?
Qual palavra-chave é usada para criar um trait object em Rust?
Resposta
A palavra-chave dyn é usada para criar um trait object em Rust. Ela indica que o dispatch de métodos acontecerá dinamicamente em tempo de execução por meio de uma vtable, ao contrário do dispatch estático com generics, que é resolvido em tempo de compilação.
3O que é uma vtable no contexto dos trait objects?
O que é uma vtable no contexto dos trait objects?
Resposta
Uma vtable (virtual table) é uma tabela de ponteiros para as implementações dos métodos do trait para um tipo concreto. Ela é usada para o dispatch dinâmico de trait objects, permitindo chamar o método correto em tempo de execução sem conhecer o tipo concreto em tempo de compilação.
Que condição um trait deve cumprir para ser object-safe?
Por que o trait Clone não é object-safe?
+19 perguntas de entrevista
Outros temas de entrevista Rust
Fundamentos de Rust
Ownership & Borrowing
Structs & Enums
Tratamento de erros
Coleções
Módulos e Pacotes
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macros
Serde e serialização
Unsafe Rust
Lifetimes Avançados
Type System
Tokio & Async I/O
Otimização de Desempenho
Memory Management
Web Frameworks
Database Integration
Padrões de design em Rust
Domine Rust para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis