Rust

Collections

Vec<T>, String, HashMap, HashSet, iterators, collect, ownership with collections

20 questions d'entretien·
Junior
1

Quelle méthode permet d'ajouter un élément à la fin d'un Vec<T> ?

Réponse

La méthode push() ajoute un élément à la fin du vecteur, augmentant sa taille de 1. Cette opération a une complexité amortie O(1) car le vecteur peut devoir réallouer sa mémoire si la capacité est dépassée. Pour ajouter plusieurs éléments, il est possible d'utiliser extend() ou append() selon les besoins.

2

Quelle est la différence principale entre String et &str en Rust ?

Réponse

String est un type possédé (owned) stocké sur le heap, mutable et redimensionnable. &str est une référence immuable vers une séquence UTF-8, souvent appelée 'string slice'. String possède ses données et peut être modifié, tandis que &str emprunte des données existantes sans les posséder. Cette distinction est fondamentale pour la gestion de la mémoire en Rust.

3

Comment créer un nouveau Vec<i32> vide en Rust ?

Réponse

Vec::new() crée un vecteur vide sans allocation initiale. La macro vec![] peut aussi créer un vecteur vide, mais Vec::new() est la méthode explicite standard. Le type générique peut être inféré ou spécifié explicitement avec la syntaxe turbofish Vec::<i32>::new() ou par annotation de type.

4

Que retourne la méthode get() sur un Vec<T> ?

5

Quelle structure de données utiliser pour associer des clés à des valeurs avec un accès O(1) en moyenne ?

+17 questions d'entretien

Maîtrise Rust pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement