
async/await
async関数、Futureトレイト、tokioランタイム、asyncブロック、.await構文、Streams、Pin<T>、キャンセル、executorパターン
22 面接問題·
Mid-Level
1Rustでasyncキーワードを付けて宣言された関数は何を返しますか?
1
Rustでasyncキーワードを付けて宣言された関数は何を返しますか?
回答
async関数は、Futureトレイトを実装する型を自動的に返します。コンパイラは関数本体をFutureを実装するステートマシンに変換します。戻り値はすぐに計算されるわけではなく、Futureが.awaitで待機されるか、runtimeによって実行されたときにのみ計算されます。
2RustにおけるFutureトレイトの主な役割は何ですか?
2
RustにおけるFutureトレイトの主な役割は何ですか?
回答
Futureトレイトは、まだ完了していない可能性のある非同期計算を表します。そのpollメソッドにより、executorはFutureが準備完了(Poll::Ready)か、待機が必要(Poll::Pending)かを確認できます。これはRustにおける非同期処理の基本的な仕組みであり、ノンブロッキングで効率的な実行を可能にします。
3Rustで非同期コードを実行するために、なぜtokioのようなruntimeが必要なのですか?
3
Rustで非同期コードを実行するために、なぜtokioのようなruntimeが必要なのですか?
回答
Rustは、言語を最小限に保ち、必要に応じてruntimeを選択できるようにするため、標準ライブラリに非同期runtimeを含めていません。tokioのようなruntimeは、Futureをpollするexecutor、タスクを管理するscheduler、そして非同期I/Oを提供します。runtimeがなければ、Futureは決して実行されません。
4
Rustにおけるasync blockとasync functionの違いは何ですか?
5
RustでFutureに対して.awaitを使うと何が起こりますか?
+19 面接問題
その他のRust面接トピック
Rustの基礎
Junior
25問Ownership & Borrowing
Junior
22問Structs & Enums
Junior
20問エラー処理
Junior
18問コレクション
Junior
20問モジュールとパッケージ
Junior
18問Traits
Mid-Level
22問Generics
Mid-Level
20問Lifetimes
Mid-Level
20問Iterators & Closures
Mid-Level
22問Smart Pointers
Mid-Level
22問Concurrency Basics
Mid-Level
20問Testing
Mid-Level
18問Cargo & Ecosystem
Mid-Level
18問Pattern Matching
Mid-Level
18問マクロ
Mid-Level
20問Serde とシリアライゼーション
Mid-Level
20問Unsafe Rust
Senior
20問高度なトレイト
Senior
22問高度な lifetime
Senior
20問Type System
Senior
20問Tokio & Async I/O
Senior
22問パフォーマンス最適化
Senior
20問Memory Management
Senior
20問Web Frameworks
Senior
22問Database Integration
Senior
20問Rust デザインパターン
Senior
20問