
async/await
async функції, trait Future, runtime tokio, async блоки, синтаксис .await, Streams, Pin<T>, скасування, патерни executor
1Що повертає в Rust функція, оголошена з ключовим словом async?
Що повертає в Rust функція, оголошена з ключовим словом async?
Відповідь
Функція async автоматично повертає тип, який реалізує trait Future. Компілятор перетворює тіло функції на машину станів, яка реалізує Future. Значення, що повертається, не обчислюється одразу: воно буде обчислене лише тоді, коли Future очікується через .await або виконується runtime.
2Яка основна роль trait Future в Rust?
Яка основна роль trait Future в Rust?
Відповідь
Trait Future представляє асинхронне обчислення, яке може бути ще не завершеним. Його метод poll дозволяє executor перевіряти, чи Future готовий (Poll::Ready), чи має чекати (Poll::Pending). Це фундаментальний механізм асинхронності в Rust, що забезпечує неблокувальне та ефективне виконання.
3Чому для виконання async-коду в Rust потрібен runtime, як-от tokio?
Чому для виконання async-коду в Rust потрібен runtime, як-от tokio?
Відповідь
Rust не включає асинхронний runtime до своєї стандартної бібліотеки, щоб зберегти мову мінімальною та дозволити вибір runtime залежно від потреб. Runtime, як-от tokio, надає executor, що опитує (poll) Futures, scheduler для керування завданнями та асинхронне I/O. Без runtime Futures ніколи б не виконувалися.
Яка різниця між async block та async function в Rust?
Що відбувається, коли використовується .await на Future в Rust?
+19 питань зі співбесід
Інші теми співбесід Rust
Основи Rust
Ownership & Borrowing
Structs & Enums
Обробка помилок
Колекції
Модулі та пакети
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
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 та симуляторів співбесід.
Почни безкоштовно