# Lifetime Nâng Cao (Rust) > Higher-ranked trait bounds (HRTB), lifetime subtyping, variance (covariant, contravariant, invariant), 'static vs 'a, NLL - 20 câu hỏi phỏng vấn - Senior - [Câu hỏi phỏng vấn: Rust](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van.md) ## 1. Higher-Ranked Trait Bound (HRTB) trong Rust là gì? **Câu trả lời** Higher-Ranked Trait Bound (HRTB) cho phép chỉ định rằng một hàm hoặc một trait phải hoạt động cho mọi lifetime có thể, không chỉ một lifetime cụ thể. Cú pháp for<'a> cho biết trait bound phải được thỏa mãn cho bất kỳ lifetime 'a nào do phía gọi lựa chọn. Tính năng này thiết yếu cho các closure và callback cần nhận các tham chiếu với lifetime khác nhau. ## 2. Sự khác biệt giữa fn foo<'a>(f: impl Fn(&'a str)) và fn foo(f: impl for<'a> Fn(&'a str)) là gì? **Câu trả lời** Với fn foo<'a>, lifetime 'a được phía gọi cố định tại thời điểm gọi và giữ nguyên trong suốt quá trình thực thi. Với for<'a>, closure phải hoạt động cho bất kỳ lifetime nào, cho phép gọi nó nhiều lần với các tham chiếu có lifetime khác nhau. Sự phân biệt này rất quan trọng đối với các API gọi một closure nhiều lần với các tham chiếu tạm thời khác nhau. ## 3. Lifetime subtyping trong Rust là gì và 'a: 'b có nghĩa là gì? **Câu trả lời** Lifetime subtyping thiết lập một quan hệ subtyping giữa các lifetime. Ký hiệu 'a: 'b nghĩa là 'a sống ít nhất bằng 'b, do đó 'a là một subtype của 'b. Một tham chiếu với lifetime dài hơn có thể được dùng ở nơi mong đợi một lifetime ngắn hơn. Quan hệ này là covariant đối với các tham chiếu bất biến, cho phép truyền một tham chiếu với lifetime dài hơn vào nơi mà một lifetime ngắn hơn là đủ. ## Còn 17 câu hỏi nữa - Variance trong Rust là gì và nó ảnh hưởng đến các kiểu generic như thế nào? - Tại sao &mut T lại invariant đối với T trong khi &T lại covariant? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Rust khác - [Cơ bản về Rust](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/rust-basics.md): 25 câu hỏi, Junior - [Ownership & Borrowing](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/ownership-borrowing.md): 22 câu hỏi, Junior - [Structs & Enums](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/structs-enums.md): 20 câu hỏi, Junior - [Xử lý lỗi](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/error-handling.md): 18 câu hỏi, Junior - [Collections](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/collections.md): 20 câu hỏi, Junior - [Modules & Packages](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/modules-packages.md): 18 câu hỏi, Junior - [Traits](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/traits.md): 22 câu hỏi, Mid-Level - [Generics](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/generics.md): 20 câu hỏi, Mid-Level - [Lifetimes](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/lifetimes.md): 20 câu hỏi, Mid-Level - [Iterators & Closures](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/iterators-closures.md): 22 câu hỏi, Mid-Level - [Smart Pointers](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/smart-pointers.md): 22 câu hỏi, Mid-Level - [Concurrency Basics](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/concurrency-basics.md): 20 câu hỏi, Mid-Level - [async/await](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/async-await.md): 22 câu hỏi, Mid-Level - [Testing](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/testing.md): 18 câu hỏi, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/cargo-ecosystem.md): 18 câu hỏi, Mid-Level - [Pattern Matching](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/pattern-matching.md): 18 câu hỏi, Mid-Level - [Macro](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/macros.md): 20 câu hỏi, Mid-Level - [Serde & Serialization](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/serde-serialization.md): 20 câu hỏi, Mid-Level - [Unsafe Rust](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/unsafe-rust.md): 20 câu hỏi, Senior - [Trait nâng cao](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/advanced-traits.md): 22 câu hỏi, Senior - [Type System](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/type-system.md): 20 câu hỏi, Senior - [Tokio & Async I/O](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/tokio-async.md): 22 câu hỏi, Senior - [Tối ưu hóa Hiệu suất](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/performance-optimization.md): 20 câu hỏi, Senior - [Memory Management](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/memory-management.md): 20 câu hỏi, Senior - [Web Frameworks](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/web-frameworks.md): 22 câu hỏi, Senior - [Database Integration](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/database-integration.md): 20 câu hỏi, Senior - [Design Pattern trong Rust](https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/design-patterns.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/rust/cau-hoi-phong-van/advanced-lifetimes