Rust

Collections

Vec<T>, String, HashMap, HashSet, Iteratoren, collect, Ownership mit Collections

20 Interview-Fragen·
Junior
1

Welche Methode ermöglicht das Hinzufügen eines Elements am Ende eines Vec<T>?

Antwort

Die Methode push() fügt ein Element am Ende des Vektors hinzu und erhöht seine Größe um 1. Diese Operation hat eine amortisierte Komplexität von O(1), da der Vektor möglicherweise Speicher neu zuweisen muss, wenn die Kapazität überschritten wird. Um mehrere Elemente hinzuzufügen, können je nach Bedarf extend() oder append() verwendet werden.

2

Was ist der Hauptunterschied zwischen String und &str in Rust?

Antwort

String ist ein besitzender Typ (owned), der auf dem Heap gespeichert wird, veränderbar und größenveränderbar. &str ist eine unveränderliche Referenz auf eine UTF-8-Sequenz, oft als 'string slice' bezeichnet. String besitzt seine Daten und kann verändert werden, während &str vorhandene Daten ausleiht, ohne sie zu besitzen. Diese Unterscheidung ist grundlegend für die Speicherverwaltung in Rust.

3

Wie erstellt man einen neuen leeren Vec<i32> in Rust?

Antwort

Vec::new() erstellt einen leeren Vektor ohne anfängliche Zuweisung. Das Makro vec![] kann ebenfalls einen leeren Vektor erstellen, aber Vec::new() ist die standardmäßige explizite Methode. Der generische Typ kann abgeleitet oder explizit mit der Turbofish-Syntax Vec::<i32>::new() oder durch eine Typannotation angegeben werden.

4

Was gibt die Methode get() bei einem Vec<T> zurück?

5

Welche Datenstruktur sollte man verwenden, um Schlüssel mit Werten mit durchschnittlichem O(1)-Zugriff zu verknüpfen?

+17 Interview-Fragen

Meistere Rust für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten