# Collections (Rust) > Vec, String, HashMap, HashSet, iterators, collect, ownership with collections - 20 questions d'entretien - Junior - [Questions d'entretien: Rust](https://sharpskill.dev/fr/technologies/rust/questions-entretien.md) ## 1. Quelle méthode permet d'ajouter un élément à la fin d'un Vec ? **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 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::::new() ou par annotation de type. ## 17 questions supplémentaires disponibles - Que retourne la méthode get() sur un Vec ? - Quelle structure de données utiliser pour associer des clés à des valeurs avec un accès O(1) en moyenne ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien Rust - [Les bases de Rust](https://sharpskill.dev/fr/technologies/rust/questions-entretien/rust-basics.md): 25 questions, Junior - [Ownership & Borrowing](https://sharpskill.dev/fr/technologies/rust/questions-entretien/ownership-borrowing.md): 22 questions, Junior - [Structs & Enums](https://sharpskill.dev/fr/technologies/rust/questions-entretien/structs-enums.md): 20 questions, Junior - [Gestion des erreurs](https://sharpskill.dev/fr/technologies/rust/questions-entretien/error-handling.md): 18 questions, Junior - [Modules & Packages](https://sharpskill.dev/fr/technologies/rust/questions-entretien/modules-packages.md): 18 questions, Junior - [Traits](https://sharpskill.dev/fr/technologies/rust/questions-entretien/traits.md): 22 questions, Confirmé - [Generics](https://sharpskill.dev/fr/technologies/rust/questions-entretien/generics.md): 20 questions, Confirmé - [Lifetimes](https://sharpskill.dev/fr/technologies/rust/questions-entretien/lifetimes.md): 20 questions, Confirmé - [Iterators & Closures](https://sharpskill.dev/fr/technologies/rust/questions-entretien/iterators-closures.md): 22 questions, Confirmé - [Smart Pointers](https://sharpskill.dev/fr/technologies/rust/questions-entretien/smart-pointers.md): 22 questions, Confirmé - [Concurrency Basics](https://sharpskill.dev/fr/technologies/rust/questions-entretien/concurrency-basics.md): 20 questions, Confirmé - [async/await](https://sharpskill.dev/fr/technologies/rust/questions-entretien/async-await.md): 22 questions, Confirmé - [Testing](https://sharpskill.dev/fr/technologies/rust/questions-entretien/testing.md): 18 questions, Confirmé - [Cargo & Ecosystem](https://sharpskill.dev/fr/technologies/rust/questions-entretien/cargo-ecosystem.md): 18 questions, Confirmé - [Pattern Matching](https://sharpskill.dev/fr/technologies/rust/questions-entretien/pattern-matching.md): 18 questions, Confirmé - [Macros](https://sharpskill.dev/fr/technologies/rust/questions-entretien/macros.md): 20 questions, Confirmé - [Serde & Serialization](https://sharpskill.dev/fr/technologies/rust/questions-entretien/serde-serialization.md): 20 questions, Confirmé - [Unsafe Rust](https://sharpskill.dev/fr/technologies/rust/questions-entretien/unsafe-rust.md): 20 questions, Senior - [Traits Avancés](https://sharpskill.dev/fr/technologies/rust/questions-entretien/advanced-traits.md): 22 questions, Senior - [Lifetimes Avancés](https://sharpskill.dev/fr/technologies/rust/questions-entretien/advanced-lifetimes.md): 20 questions, Senior - [Type System](https://sharpskill.dev/fr/technologies/rust/questions-entretien/type-system.md): 20 questions, Senior - [Tokio & Async I/O](https://sharpskill.dev/fr/technologies/rust/questions-entretien/tokio-async.md): 22 questions, Senior - [Optimisation de Performance](https://sharpskill.dev/fr/technologies/rust/questions-entretien/performance-optimization.md): 20 questions, Senior - [Memory Management](https://sharpskill.dev/fr/technologies/rust/questions-entretien/memory-management.md): 20 questions, Senior - [Web Frameworks](https://sharpskill.dev/fr/technologies/rust/questions-entretien/web-frameworks.md): 22 questions, Senior - [Database Integration](https://sharpskill.dev/fr/technologies/rust/questions-entretien/database-integration.md): 20 questions, Senior - [Design Patterns Rust](https://sharpskill.dev/fr/technologies/rust/questions-entretien/design-patterns.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/rust/questions-entretien/collections