Rust

Coleções

Vec<T>, String, HashMap, HashSet, iteradores, collect, ownership com coleções

20 perguntas de entrevista·
Junior
1

Qual método permite adicionar um elemento ao final de um Vec<T>?

Resposta

O método push() adiciona um elemento ao final do vetor, aumentando seu tamanho em 1. Essa operação tem complexidade amortizada O(1) porque o vetor pode precisar realocar memória se a capacidade for excedida. Para adicionar vários elementos, é possível usar extend() ou append() conforme a necessidade.

2

Qual é a principal diferença entre String e &str em Rust?

Resposta

String é um tipo de propriedade (owned) armazenado no heap, mutável e redimensionável. &str é uma referência imutável a uma sequência UTF-8, frequentemente chamada de 'string slice'. String possui seus dados e pode ser modificada, enquanto &str toma emprestado dados existentes sem possuí-los. Essa distinção é fundamental para o gerenciamento de memória em Rust.

3

Como criar um novo Vec<i32> vazio em Rust?

Resposta

Vec::new() cria um vetor vazio sem alocação inicial. A macro vec![] também pode criar um vetor vazio, mas Vec::new() é o método explícito padrão. O tipo genérico pode ser inferido ou especificado explicitamente com a sintaxe turbofish Vec::<i32>::new() ou por anotação de tipo.

4

O que o método get() retorna em um Vec<T>?

5

Qual estrutura de dados usar para associar chaves a valores com acesso O(1) em média?

+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