# Memory Management (Rust) > Stack vs heap, allocator, Drop trait, RAII, memory leak akibat siklus Rc, Pin - 20 pertanyaan wawancara - Senior - [Pertanyaan Wawancara: Rust](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara.md) ## 1. Di Rust, di mana variabel lokal bertipe primitif seperti i32 atau bool disimpan? **Jawaban** Variabel lokal bertipe primitif disimpan di stack. Stack menyediakan alokasi dan dealokasi yang sangat cepat karena bekerja berdasarkan prinsip LIFO (Last In, First Out). Tipe primitif memiliki ukuran yang diketahui saat kompilasi, sehingga compiler dapat mencadangkan ruang yang diperlukan pada stack frame fungsi saat ini. ## 2. Smart pointer mana yang harus digunakan untuk mengalokasikan sebuah nilai di heap dengan satu pemilik tunggal? **Jawaban** Box adalah smart pointer paling sederhana untuk alokasi di heap. Ia menjamin kepemilikan tunggal dan secara otomatis membebaskan memori saat Box keluar dari scope. Box berguna untuk tipe dengan ukuran yang tidak diketahui saat kompilasi, untuk struktur besar yang tidak ingin disalin di stack, atau untuk tipe rekursif. ## 3. Apa itu pola RAII (Resource Acquisition Is Initialization) di Rust? **Jawaban** RAII adalah pola di mana sumber daya (memori, file, koneksi) diperoleh saat pembuatan objek dan dilepaskan secara otomatis saat objek dihancurkan. Di Rust, hal ini dilakukan melalui trait Drop yang dipanggil secara otomatis ketika sebuah nilai keluar dari scope. Pola ini memastikan tidak ada sumber daya yang terlupakan dan mencegah kebocoran memori. ## 17 pertanyaan lagi tersedia - Kapan trait Drop dipanggil secara otomatis di Rust? - Bagaimana kebocoran memori (memory leak) dapat terjadi dengan Rc di Rust? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara Rust lainnya - [Dasar-Dasar Rust](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/rust-basics.md): 25 pertanyaan, Junior - [Ownership & Borrowing](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/ownership-borrowing.md): 22 pertanyaan, Junior - [Structs & Enums](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/structs-enums.md): 20 pertanyaan, Junior - [Penanganan Error](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/error-handling.md): 18 pertanyaan, Junior - [Collections](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/collections.md): 20 pertanyaan, Junior - [Module & Package](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/modules-packages.md): 18 pertanyaan, Junior - [Traits](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/traits.md): 22 pertanyaan, Mid-Level - [Generics](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/generics.md): 20 pertanyaan, Mid-Level - [Lifetimes](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/lifetimes.md): 20 pertanyaan, Mid-Level - [Iterators & Closures](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/iterators-closures.md): 22 pertanyaan, Mid-Level - [Smart Pointers](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/smart-pointers.md): 22 pertanyaan, Mid-Level - [Concurrency Basics](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/concurrency-basics.md): 20 pertanyaan, Mid-Level - [async/await](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/async-await.md): 22 pertanyaan, Mid-Level - [Testing](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/testing.md): 18 pertanyaan, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/cargo-ecosystem.md): 18 pertanyaan, Mid-Level - [Pattern Matching](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/pattern-matching.md): 18 pertanyaan, Mid-Level - [Macro](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/macros.md): 20 pertanyaan, Mid-Level - [Serde & Serialisasi](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/serde-serialization.md): 20 pertanyaan, Mid-Level - [Unsafe Rust](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/unsafe-rust.md): 20 pertanyaan, Senior - [Trait Lanjutan](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/advanced-traits.md): 22 pertanyaan, Senior - [Lifetime Lanjutan](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/advanced-lifetimes.md): 20 pertanyaan, Senior - [Type System](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/type-system.md): 20 pertanyaan, Senior - [Tokio & Async I/O](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/tokio-async.md): 22 pertanyaan, Senior - [Optimasi Performa](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/performance-optimization.md): 20 pertanyaan, Senior - [Web Frameworks](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/web-frameworks.md): 22 pertanyaan, Senior - [Database Integration](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/database-integration.md): 20 pertanyaan, Senior - [Design Pattern Rust](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/design-patterns.md): 20 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/memory-management