# Memory Management (Rust) > Stack vs heap, allocator, Drop trait, RAII, memory leaks with Rc cycles, Pin - 20 questions d'entretien - Senior - [Questions d'entretien: Rust](https://sharpskill.dev/fr/technologies/rust/questions-entretien.md) ## 1. En Rust, où sont stockées les variables locales de type primitif comme i32 ou bool ? **Réponse** Les variables locales de type primitif sont stockées sur la stack (pile). La stack offre une allocation et désallocation très rapide car elle fonctionne selon le principe LIFO (Last In, First Out). Les types primitifs ont une taille connue à la compilation, ce qui permet au compilateur de réserver l'espace nécessaire sur la stack frame de la fonction courante. ## 2. Quel smart pointer utiliser pour allouer une valeur sur le heap avec un unique propriétaire ? **Réponse** Box est le smart pointer le plus simple pour allouer des données sur le heap. Il garantit un unique propriétaire et libère automatiquement la mémoire lorsque le Box sort du scope. Box est utile pour les types de taille inconnue à la compilation, pour les grandes structures qu'on ne veut pas copier sur la stack, ou pour les types récursifs. ## 3. Qu'est-ce que le pattern RAII (Resource Acquisition Is Initialization) en Rust ? **Réponse** RAII est un pattern où les ressources (mémoire, fichiers, connexions) sont acquises lors de la création d'un objet et libérées automatiquement lors de sa destruction. En Rust, cela se fait via le trait Drop qui est appelé automatiquement quand une valeur sort du scope. Ce pattern garantit qu'aucune ressource n'est oubliée et évite les fuites mémoire. ## 17 questions supplémentaires disponibles - Quand le trait Drop est-il automatiquement appelé en Rust ? - Comment créer une fuite mémoire (memory leak) avec Rc en Rust ? 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 - [Collections](https://sharpskill.dev/fr/technologies/rust/questions-entretien/collections.md): 20 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 - [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/memory-management