
Collections
Vec<T>, String, HashMap, HashSet, Iteratoren, collect, Ownership mit Collections
1Welche Methode ermöglicht das Hinzufügen eines Elements am Ende eines Vec<T>?
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.
2Was ist der Hauptunterschied zwischen String und &str in Rust?
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.
3Wie erstellt man einen neuen leeren Vec<i32> in Rust?
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.
Was gibt die Methode get() bei einem Vec<T> zurück?
Welche Datenstruktur sollte man verwenden, um Schlüssel mit Werten mit durchschnittlichem O(1)-Zugriff zu verknüpfen?
+17 Interview-Fragen
Weitere Rust-Interviewthemen
Rust-Grundlagen
Ownership & Borrowing
Structs & Enums
Fehlerbehandlung
Module & Packages
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Makros
Serde & Serialisierung
Unsafe Rust
Fortgeschrittene Traits
Fortgeschrittene Lifetimes
Type System
Tokio & Async I/O
Performance-Optimierung
Memory Management
Web Frameworks
Database Integration
Rust Design Patterns
Meistere Rust für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten