
Smart Pointers
Box<T>, Rc<T>, Arc<T>, RefCell<T>, interior mutability, traits Deref e Drop
1Qual é o principal caso de uso de Box<T> em Rust?
Qual é o principal caso de uso de Box<T> em Rust?
Resposta
Box<T> aloca dados no heap em vez da stack. Isso é útil para tipos com tamanho desconhecido em tempo de compilação (tipos recursivos), para transferir a ownership de grandes volumes de dados sem copiar, ou para criar trait objects. O próprio ponteiro Box tem tamanho fixo na stack.
2Como definir um tipo recursivo como uma lista encadeada em Rust?
Como definir um tipo recursivo como uma lista encadeada em Rust?
Resposta
Um tipo recursivo direto como enum List { Cons(i32, List), Nil } não compila porque o compilador não consegue determinar o tamanho. Usando Box<List>, cria-se uma indireção com tamanho fixo (ponteiro), permitindo que o compilador calcule o tamanho do tipo.
3Qual é a principal diferença entre Rc<T> e Arc<T>?
Qual é a principal diferença entre Rc<T> e Arc<T>?
Resposta
Rc (Reference Counted) usa um contador de referências não atômico, o que o torna mais eficiente, porém limitado a uma única thread. Arc (Atomically Reference Counted) usa operações atômicas para o contador, permitindo o compartilhamento entre threads, mas com uma leve sobrecarga de desempenho.
O que o trait Deref permite em Rust?
O que é a mutabilidade interior (interior mutability) em Rust?
+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
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macros
Serde e serialização
Unsafe Rust
Traits avançados
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