
Type System
Zero-cost abstractions、newtype pattern、type aliases、phantom types、const generics
20 面接問題·
Senior
1Rust における zero-cost abstraction とは何ですか?
1
Rust における zero-cost abstraction とは何ですか?
回答
zero-cost abstraction とは、手書きの同等コードと比べて実行時コストが一切発生しない抽象化です。Rust コンパイラはこれらの抽象化を最適化し、生成されるコードが手書きの低レベルコードと同じくらい効率的になり、追加のオーバーヘッドが発生しないようにします。
2Rust における newtype pattern の主な利点は何ですか?
2
Rust における newtype pattern の主な利点は何ですか?
回答
newtype pattern は既存の型をラップする新しい独立した型を作成し、compile time での型安全性を提供します。これにより、基盤となる型が同じでも意味が異なる値、たとえば両方とも整数で表されるユーザー ID と製品 ID を混同することを防ぎます。
3Rustでtype aliasを宣言するにはどうすればよいですか?
3
Rustでtype aliasを宣言するにはどうすればよいですか?
回答
type aliasは、typeキーワードに続けてaliasの名前と対象の型を記述して宣言します。例えば、type Kilometers = i32 は i32 のaliasを作成します。newtype patternとは異なり、type aliasは別個の新しい型ではなく、元の型と互換的に使用できる単なる同義語にすぎません。
4
type safetyの観点から、type aliasとnewtypeの違いは何ですか?
5
Rustにおけるphantom typeとは何ですか?
+17 面接問題
その他の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問async/await
Mid-Level
22問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問Tokio & Async I/O
Senior
22問パフォーマンス最適化
Senior
20問Memory Management
Senior
20問Web Frameworks
Senior
22問Database Integration
Senior
20問Rust デザインパターン
Senior
20問