
Ownership & Borrowing
Правила ownership, move semantics, borrowing (&T, &mut T), lifetimes, висячі посилання
1Що таке ownership у Rust?
Що таке ownership у Rust?
Відповідь
Ownership — це фундаментальна система Rust, яка гарантує безпеку пам'яті без garbage collector. Кожне значення має єдиного власника, і пам'ять автоматично звільняється, коли власник виходить за межі scope. Ця система запобігає data races та помилкам use-after-free на етапі компіляції.
2Скільки власників може мати значення у Rust?
Скільки власників може мати значення у Rust?
Відповідь
У Rust значення може мати лише одного власника одночасно. Це перше правило ownership. Коли ownership передається (move), попередній власник більше не може отримати доступ до значення. Це правило гарантує, що жодні дві частини коду ніколи не зможуть змінювати чи звільняти ту саму пам'ять.
3Що відбувається, коли змінна виходить за межі scope в Rust?
Що відбувається, коли змінна виходить за межі scope в Rust?
Відповідь
Коли змінна виходить за межі scope, Rust автоматично викликає функцію drop, яка звільняє пам'ять. Така поведінка є детермінованою та передбачуваною, на відміну від garbage collector, які звільняють пам'ять недетерміновано. Цей патерн називається RAII (Resource Acquisition Is Initialization).
Що таке move в Rust?
Які типи реалізують trait Copy в Rust?
+19 питань зі співбесід
Інші теми співбесід Rust
Основи Rust
Structs & Enums
Обробка помилок
Колекції
Модулі та пакети
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Макроси
Serde та серіалізація
Unsafe Rust
Просунуті trait'и
Просунуті Lifetimes
Type System
Tokio & Async I/O
Оптимізація продуктивності
Memory Management
Web Frameworks
Database Integration
Патерни проєктування Rust
Опануй Rust для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно