
Iterators & Closures
Iterator trait, iterator adapters (map, filter, fold), синтаксис closure, move closures, Fn traits
1Який trait має реалізувати тип, щоб його можна було використати в циклі for у Rust?
Який trait має реалізувати тип, щоб його можна було використати в циклі for у Rust?
Відповідь
Trait IntoIterator дозволяє перетворити тип на ітератор. Цикл for автоматично викликає into_iter() для виразу. Типи на кшталт Vec, масивів і діапазонів реалізують цей trait за замовчуванням, що дозволяє обходити їх безпосередньо за допомогою for.
2Який метод trait Iterator обов'язково має бути реалізований?
Який метод trait Iterator обов'язково має бути реалізований?
Відповідь
Метод next() — єдиний обов'язковий метод trait Iterator. Він повертає Option<Self::Item>: або Some(item), якщо залишилися елементи, або None, коли ітерація завершена. Усі інші методи на кшталт map, filter чи collect мають реалізації за замовчуванням на основі next().
3У чому різниця між iter(), iter_mut() та into_iter() для Vec<T>?
У чому різниця між iter(), iter_mut() та into_iter() для Vec<T>?
Відповідь
iter() повертає ітератор по незмінних посиланнях (&T), iter_mut() — по змінних посиланнях (&mut T), а into_iter() споживає Vec і повертає елементи за значенням (T). Вибір залежить від того, чи хочете ви читати, змінювати чи отримати власність над елементами.
Що таке lazy ітератор у Rust і чому це важливо?
Який правильний синтаксис для визначення closure, що приймає два параметри i32 і повертає їхню суму?
+19 питань зі співбесід
Інші теми співбесід Rust
Основи Rust
Ownership & Borrowing
Structs & Enums
Обробка помилок
Колекції
Модулі та пакети
Traits
Generics
Lifetimes
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 та симуляторів співбесід.
Почни безкоштовно