
Collezioni
Vec<T>, String, HashMap, HashSet, iteratori, collect, ownership con le collezioni
1Quale metodo consente di aggiungere un elemento alla fine di un Vec<T>?
Quale metodo consente di aggiungere un elemento alla fine di un Vec<T>?
Risposta
Il metodo push() aggiunge un elemento alla fine del vettore, aumentandone la dimensione di 1. Questa operazione ha una complessità ammortizzata O(1) perché il vettore potrebbe dover riallocare la memoria se la capacità viene superata. Per aggiungere più elementi, è possibile usare extend() o append() a seconda delle esigenze.
2Qual è la differenza principale tra String e &str in Rust?
Qual è la differenza principale tra String e &str in Rust?
Risposta
String è un tipo posseduto (owned) memorizzato nell'heap, mutabile e ridimensionabile. &str è un riferimento immutabile a una sequenza UTF-8, spesso chiamato 'string slice'. String possiede i propri dati e può essere modificato, mentre &str prende in prestito dati esistenti senza possederli. Questa distinzione è fondamentale per la gestione della memoria in Rust.
3Come creare un nuovo Vec<i32> vuoto in Rust?
Come creare un nuovo Vec<i32> vuoto in Rust?
Risposta
Vec::new() crea un vettore vuoto senza allocazione iniziale. Anche la macro vec![] può creare un vettore vuoto, ma Vec::new() è il metodo esplicito standard. Il tipo generico può essere dedotto o specificato esplicitamente con la sintassi turbofish Vec::<i32>::new() o tramite annotazione di tipo.
Cosa restituisce il metodo get() su un Vec<T>?
Quale struttura dati usare per associare chiavi a valori con accesso O(1) in media?
+17 domande da colloquio
Altri argomenti di colloquio Rust
Fondamenti di Rust
Ownership & Borrowing
Structs & Enums
Gestione degli errori
Moduli e package
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macro
Serde e serializzazione
Unsafe Rust
Trait avanzati
Lifetime Avanzati
Type System
Tokio & Async I/O
Ottimizzazione delle Prestazioni
Memory Management
Web Frameworks
Database Integration
Design Pattern in Rust
Padroneggia Rust per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis