# Geavanceerde Lifetimes (Rust) > Higher-ranked trait bounds (HRTB), lifetime subtyping, variance (covariant, contravariant, invariant), 'static vs 'a, NLL - 20 gespreksvragen - Senior - [Gespreksvragen: Rust](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen.md) ## 1. Wat is een Higher-Ranked Trait Bound (HRTB) in Rust? **Antwoord** Een Higher-Ranked Trait Bound (HRTB) maakt het mogelijk om aan te geven dat een functie of trait moet werken voor alle mogelijke lifetimes, niet alleen een specifieke. De for<'a>-syntaxis geeft aan dat de trait bound moet worden voldaan voor elke lifetime 'a die door de aanroeper wordt gekozen. Deze functie is essentieel voor closures en callbacks die referenties met verschillende lifetimes moeten accepteren. ## 2. Wat is het verschil tussen fn foo<'a>(f: impl Fn(&'a str)) en fn foo(f: impl for<'a> Fn(&'a str))? **Antwoord** Bij fn foo<'a> wordt de lifetime 'a door de aanroeper vastgelegd op het moment van aanroep en blijft deze gelijk gedurende de hele uitvoering. Bij for<'a> moet de closure voor elke lifetime werken, waardoor deze meerdere keren kan worden aangeroepen met referenties van verschillende lifetimes. Dit onderscheid is cruciaal voor API's die een closure meerdere keren aanroepen met verschillende tijdelijke referenties. ## 3. Wat is lifetime subtyping in Rust en wat betekent 'a: 'b? **Antwoord** Lifetime subtyping legt een subtyping-relatie tussen lifetimes vast. De notatie 'a: 'b betekent dat 'a minstens zo lang leeft als 'b, dus 'a is een subtype van 'b. Een referentie met een langere lifetime kan worden gebruikt waar een kortere lifetime wordt verwacht. Deze relatie is covariant voor onveranderlijke referenties, waardoor een referentie met een langere lifetime kan worden doorgegeven waar een kortere zou volstaan. ## Nog 17 vragen beschikbaar - Wat is variance in Rust en hoe beïnvloedt het generieke typen? - Waarom is &mut T invariant met betrekking tot T terwijl &T covariant is? Meld je gratis aan: https://sharpskill.dev/nl/login ## Andere Rust-sollicitatieonderwerpen - [Rust-basis](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/rust-basics.md): 25 vragen, Junior - [Ownership & Borrowing](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/ownership-borrowing.md): 22 vragen, Junior - [Structs & Enums](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/structs-enums.md): 20 vragen, Junior - [Foutafhandeling](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/error-handling.md): 18 vragen, Junior - [Collecties](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/collections.md): 20 vragen, Junior - [Modules & Packages](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/modules-packages.md): 18 vragen, Junior - [Traits](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/traits.md): 22 vragen, Mid-Level - [Generics](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/generics.md): 20 vragen, Mid-Level - [Lifetimes](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/lifetimes.md): 20 vragen, Mid-Level - [Iterators & Closures](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/iterators-closures.md): 22 vragen, Mid-Level - [Smart Pointers](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/smart-pointers.md): 22 vragen, Mid-Level - [Concurrency Basics](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/concurrency-basics.md): 20 vragen, Mid-Level - [async/await](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/async-await.md): 22 vragen, Mid-Level - [Testing](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/testing.md): 18 vragen, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/cargo-ecosystem.md): 18 vragen, Mid-Level - [Pattern Matching](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/pattern-matching.md): 18 vragen, Mid-Level - [Macro's](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/macros.md): 20 vragen, Mid-Level - [Serde & serialisatie](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/serde-serialization.md): 20 vragen, Mid-Level - [Unsafe Rust](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/unsafe-rust.md): 20 vragen, Senior - [Geavanceerde traits](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/advanced-traits.md): 22 vragen, Senior - [Type System](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/type-system.md): 20 vragen, Senior - [Tokio & Async I/O](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/tokio-async.md): 22 vragen, Senior - [Prestatie-optimalisatie](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/performance-optimization.md): 20 vragen, Senior - [Memory Management](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/memory-management.md): 20 vragen, Senior - [Web Frameworks](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/web-frameworks.md): 22 vragen, Senior - [Database Integration](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/database-integration.md): 20 vragen, Senior - [Rust Design Patterns](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/design-patterns.md): 20 vragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/advanced-lifetimes