
Ownership & Borrowing
ownership のルール、move semantics、borrowing(&T、&mut T)、lifetimes、ダングリング参照
22 面接問題·
Junior
1Rust における ownership とは何ですか?
1
Rust における ownership とは何ですか?
回答
ownership は Rust の基盤となるシステムで、garbage collector なしでメモリ安全性を保証します。各値には単一の所有者があり、所有者が scope から外れるとメモリは自動的に解放されます。このシステムにより、data races や use-after-free をコンパイル時に防ぐことができます。
2Rust では、1 つの値はいくつの所有者を持つことができますか?
2
Rust では、1 つの値はいくつの所有者を持つことができますか?
回答
Rust では、1 つの値は同時に 1 人の所有者しか持つことができません。これが ownership の第一のルールです。ownership が移動(move)されると、以前の所有者はその値にアクセスできなくなります。このルールにより、コードの 2 つの部分が同じメモリを変更したり解放したりすることが決して起こらないことが保証されます。
3Rustで変数がscopeから外れると何が起こりますか?
3
Rustで変数がscopeから外れると何が起こりますか?
回答
変数がscopeから外れると、Rustは自動的にdrop関数を呼び出してメモリを解放します。この動作は決定的で予測可能であり、メモリを非決定的に解放するgarbage collectorとは異なります。このパターンはRAII(Resource Acquisition Is Initialization)と呼ばれます。
4
Rustにおけるmoveとは何ですか?
5
RustでCopy traitを実装する型はどれですか?
+19 面接問題
その他のRust面接トピック
Rustの基礎
Junior
25問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問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問