Rust

Koleksiyonlar

Vec<T>, String, HashMap, HashSet, iteratörler, collect, koleksiyonlarda ownership

20 mülakat soruları·
Junior
1

Bir Vec<T>'nin sonuna eleman eklemeye hangi metot izin verir?

Cevap

push() metodu vektörün sonuna bir eleman ekler ve boyutunu 1 artırır. Bu işlemin amortize edilmiş karmaşıklığı O(1)'dir çünkü kapasite aşılırsa vektörün belleği yeniden tahsis etmesi gerekebilir. Birden fazla eleman eklemek için ihtiyaca göre extend() veya append() kullanılabilir.

2

Rust'ta String ile &str arasındaki temel fark nedir?

Cevap

String, heap üzerinde saklanan, değiştirilebilir ve yeniden boyutlandırılabilir sahip olunan (owned) bir türdür. &str ise bir UTF-8 dizisine yapılan değiştirilemez bir referanstır ve genellikle 'string slice' olarak adlandırılır. String verilerine sahiptir ve değiştirilebilir, &str ise mevcut verileri sahiplenmeden ödünç alır. Bu ayrım, Rust'ta bellek yönetimi açısından temeldir.

3

Rust'ta yeni bir boş Vec<i32> nasıl oluşturulur?

Cevap

Vec::new() başlangıç tahsisi olmadan boş bir vektör oluşturur. vec![] makrosu da boş bir vektör oluşturabilir, ancak Vec::new() standart açık yöntemdir. Genel tür çıkarsanabilir veya turbofish söz dizimi Vec::<i32>::new() ya da tür açıklaması ile açıkça belirtilebilir.

4

get() metodu bir Vec<T> üzerinde ne döndürür?

5

Anahtarları değerlerle ortalama O(1) erişimle ilişkilendirmek için hangi veri yapısı kullanılır?

+17 mülakat soruları

Bir sonraki mülakatın için Rust'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla