Rust

Collecties

Vec<T>, String, HashMap, HashSet, iterators, collect, ownership met collections

20 gespreksvragen·
Junior
1

Welke methode maakt het mogelijk om een element aan het einde van een Vec<T> toe te voegen?

Antwoord

De methode push() voegt een element toe aan het einde van de vector en vergroot de grootte met 1. Deze bewerking heeft een geamortiseerde O(1)-complexiteit omdat de vector mogelijk geheugen opnieuw moet toewijzen als de capaciteit wordt overschreden. Om meerdere elementen toe te voegen, kunnen extend() of append() worden gebruikt, afhankelijk van de behoeften.

2

Wat is het belangrijkste verschil tussen String en &str in Rust?

Antwoord

String is een bezeten type (owned) dat op de heap wordt opgeslagen, veranderbaar en van grootte aanpasbaar. &str is een onveranderlijke referentie naar een UTF-8-reeks, vaak een 'string slice' genoemd. String bezit zijn eigen gegevens en kan worden gewijzigd, terwijl &str bestaande gegevens leent zonder ze te bezitten. Dit onderscheid is fundamenteel voor geheugenbeheer in Rust.

3

Hoe maak je een nieuwe lege Vec<i32> in Rust?

Antwoord

Vec::new() maakt een lege vector zonder initiële toewijzing. De macro vec![] kan ook een lege vector maken, maar Vec::new() is de standaard expliciete methode. Het generieke type kan worden afgeleid of expliciet worden opgegeven met de turbofish-syntaxis Vec::<i32>::new() of via een type-annotatie.

4

Wat geeft de methode get() terug op een Vec<T>?

5

Welke datastructuur gebruik je om sleutels aan waarden te koppelen met gemiddeld O(1)-toegang?

+17 gespreksvragen

Beheers Rust voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis