# Tokio & Async I/O (Rust) > Tokio runtime, async tasks, select!, join!, timeout, tokio::spawn, async файловий/мережевий I/O - 22 питань зі співбесід - Senior - [Питання зі співбесід: Rust](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy.md) ## 1. Яка основна роль runtime Tokio в асинхронному застосунку на Rust? **Відповідь** Runtime Tokio надає executor, який виконує poll майбутніх (futures) до їх завершення. Він також керує багатопотоковим scheduler (за замовчуванням) для розподілу завдань між кількома потоками OS, а також reactor для асинхронних операцій I/O. Без runtime майбутні Rust нічого не роблять, оскільки вони за замовчуванням lazy. ## 2. Як ініціалізувати runtime Tokio за допомогою макроса #[tokio::main]? **Відповідь** Макрос #[tokio::main] перетворює асинхронну функцію main() на синхронну точку входу, яка створює багатопотоковий runtime Tokio та виконує async-функцію. Цей макрос автоматично генерує необхідний boilerplate для створення runtime та блокування доти, доки головна future не завершиться. ## 3. Яка різниця між #[tokio::main] та #[tokio::main(flavor = "current_thread")]? **Відповідь** За замовчуванням #[tokio::main] створює багатопотоковий runtime, який розподіляє завдання між пулом worker threads. З flavor = "current_thread" runtime виконує всі завдання лише в головному потоці, що корисно для тестів, простих застосунків або коли потрібно уникнути спільного використання даних між потоками. ## Ще 19 доступних питань - Що робить tokio::spawn() і який тип він повертає? - Чому майбутні (futures), що передаються в tokio::spawn(), повинні бути 'static? Зареєструйся безкоштовно: https://sharpskill.dev/uk/login ## Інші теми співбесід Rust - [Основи Rust](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/rust-basics.md): 25 запитань, Junior - [Ownership & Borrowing](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/ownership-borrowing.md): 22 запитань, Junior - [Structs & Enums](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/structs-enums.md): 20 запитань, Junior - [Обробка помилок](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/error-handling.md): 18 запитань, Junior - [Колекції](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/collections.md): 20 запитань, Junior - [Модулі та пакети](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/modules-packages.md): 18 запитань, Junior - [Traits](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/traits.md): 22 запитань, Mid-Level - [Generics](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/generics.md): 20 запитань, Mid-Level - [Lifetimes](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/lifetimes.md): 20 запитань, Mid-Level - [Iterators & Closures](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/iterators-closures.md): 22 запитань, Mid-Level - [Smart Pointers](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/smart-pointers.md): 22 запитань, Mid-Level - [Concurrency Basics](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/concurrency-basics.md): 20 запитань, Mid-Level - [async/await](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/async-await.md): 22 запитань, Mid-Level - [Testing](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/testing.md): 18 запитань, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/cargo-ecosystem.md): 18 запитань, Mid-Level - [Pattern Matching](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/pattern-matching.md): 18 запитань, Mid-Level - [Макроси](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/macros.md): 20 запитань, Mid-Level - [Serde та серіалізація](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/serde-serialization.md): 20 запитань, Mid-Level - [Unsafe Rust](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/unsafe-rust.md): 20 запитань, Senior - [Просунуті trait'и](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/advanced-traits.md): 22 запитань, Senior - [Просунуті Lifetimes](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/advanced-lifetimes.md): 20 запитань, Senior - [Type System](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/type-system.md): 20 запитань, Senior - [Оптимізація продуктивності](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/performance-optimization.md): 20 запитань, Senior - [Memory Management](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/memory-management.md): 20 запитань, Senior - [Web Frameworks](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/web-frameworks.md): 22 запитань, Senior - [Database Integration](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/database-integration.md): 20 запитань, Senior - [Патерни проєктування Rust](https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/design-patterns.md): 20 запитань, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/uk/technologies/rust/pytannia-spivbesidy/tokio-async