
Ownership & Borrowing
Reguły ownership, move semantics, borrowing (&T, &mut T), lifetimes, wiszące referencje
1Czym jest ownership w Rust?
Czym jest ownership w Rust?
Odpowiedź
Ownership to fundamentalny system w Rust, który gwarantuje bezpieczeństwo pamięci bez garbage collectora. Każda wartość ma jednego właściciela, a pamięć jest automatycznie zwalniana, gdy właściciel opuszcza scope. System ten zapobiega data races oraz błędom use-after-free na etapie kompilacji.
2Ilu właścicieli może mieć wartość w Rust?
Ilu właścicieli może mieć wartość w Rust?
Odpowiedź
W Rust wartość może mieć tylko jednego właściciela w danym momencie. To pierwsza reguła ownership. Gdy ownership zostaje przeniesiony (move), poprzedni właściciel nie ma już dostępu do wartości. Reguła ta gwarantuje, że nigdy dwie części kodu nie mogą modyfikować ani zwalniać tej samej pamięci.
3Co dzieje się, gdy zmienna wychodzi poza scope w Rust?
Co dzieje się, gdy zmienna wychodzi poza scope w Rust?
Odpowiedź
Gdy zmienna wychodzi poza scope, Rust automatycznie wywołuje funkcję drop, która zwalnia pamięć. To zachowanie jest deterministyczne i przewidywalne, w przeciwieństwie do garbage collectorów, które zwalniają pamięć w sposób niedeterministyczny. Ten wzorzec nazywa się RAII (Resource Acquisition Is Initialization).
Czym jest move w Rust?
Które typy implementują trait Copy w Rust?
+19 pytań z rozmów
Inne tematy rekrutacyjne Rust
Podstawy Rusta
Structs & Enums
Obsługa błędów
Kolekcje
Moduły i pakiety
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Makra
Serde i serializacja
Unsafe Rust
Zaawansowane traity
Zaawansowane Lifetime
Type System
Tokio & Async I/O
Optymalizacja Wydajności
Memory Management
Web Frameworks
Database Integration
Wzorce projektowe w Rust
Opanuj Rust na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo