
Memory Management
Stack ve heap, allocator, Drop trait, RAII, Rc döngülerinden kaynaklanan bellek sızıntıları, Pin<T>
1Rust'ta i32 veya bool gibi ilkel türlerdeki yerel değişkenler nerede saklanır?
Rust'ta i32 veya bool gibi ilkel türlerdeki yerel değişkenler nerede saklanır?
Cevap
İlkel türlerdeki yerel değişkenler stack üzerinde saklanır. Stack, LIFO (Last In, First Out) prensibiyle çalıştığı için çok hızlı tahsis ve serbest bırakma sağlar. İlkel türlerin boyutu derleme zamanında bilindiğinden, derleyici mevcut fonksiyonun stack frame'inde gerekli alanı ayırabilir.
2Tek bir sahibe sahip bir değeri heap üzerinde tahsis etmek için hangi smart pointer kullanılmalıdır?
Tek bir sahibe sahip bir değeri heap üzerinde tahsis etmek için hangi smart pointer kullanılmalıdır?
Cevap
Box<T>, heap üzerinde tahsis için en basit smart pointer'dır. Tek sahipliği garanti eder ve Box scope'tan çıktığında belleği otomatik olarak serbest bırakır. Box, derleme zamanında boyutu bilinmeyen türler, stack üzerinde kopyalanmak istenmeyen büyük yapılar veya özyinelemeli türler için kullanışlıdır.
3Rust'ta RAII (Resource Acquisition Is Initialization) deseni nedir?
Rust'ta RAII (Resource Acquisition Is Initialization) deseni nedir?
Cevap
RAII, kaynakların (bellek, dosyalar, bağlantılar) bir nesnenin oluşturulması sırasında edinildiği ve yok edilmesi sırasında otomatik olarak serbest bırakıldığı bir desendir. Rust'ta bu, bir değer scope dışına çıktığında otomatik olarak çağrılan Drop trait'i aracılığıyla gerçekleştirilir. Bu desen, hiçbir kaynağın unutulmamasını sağlar ve bellek sızıntılarını önler.
Rust'ta Drop trait'i ne zaman otomatik olarak çağrılır?
Rust'ta Rc<T> ile nasıl bir bellek sızıntısı (memory leak) oluşturulabilir?
+17 mülakat soruları
Diğer Rust mülakat konuları
Rust Temelleri
Ownership & Borrowing
Structs & Enums
Hata Yönetimi
Koleksiyonlar
Modüller ve Paketler
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Makrolar
Serde ve Serileştirme
Unsafe Rust
Gelişmiş Trait'ler
İleri Düzey Lifetime
Type System
Tokio & Async I/O
Performans Optimizasyonu
Web Frameworks
Database Integration
Rust Tasarım Desenleri
Bir sonraki mülakatın için Rust'de uzmanlaş
Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.
Ücretsiz başla