Rust

Колекції

Vec<T>, String, HashMap, HashSet, ітератори, collect, ownership з колекціями

20 питань зі співбесід·
Junior
1

Який метод дозволяє додати елемент у кінець Vec<T>?

Відповідь

Метод push() додає елемент у кінець вектора, збільшуючи його розмір на 1. Ця операція має амортизовану складність O(1), оскільки вектору може знадобитися перерозподілити пам'ять, якщо перевищено місткість. Щоб додати кілька елементів, можна використати extend() або append() залежно від потреб.

2

Яка основна різниця між String і &str у Rust?

Відповідь

String — це власний (owned) тип, що зберігається в heap, змінюваний і з регульованим розміром. &str — це незмінне посилання на UTF-8 послідовність, яке часто називають 'string slice'. String володіє своїми даними і може бути змінений, тоді як &str позичає наявні дані, не володіючи ними. Це розрізнення є фундаментальним для керування пам'яттю в Rust.

3

Як створити новий порожній Vec<i32> у Rust?

Відповідь

Vec::new() створює порожній вектор без початкового виділення пам'яті. Макрос vec![] також може створити порожній вектор, але Vec::new() — це стандартний явний метод. Узагальнений тип може бути виведений або явно вказаний за допомогою синтаксису turbofish Vec::<i32>::new() чи анотацією типу.

4

Що повертає метод get() для Vec<T>?

5

Яку структуру даних використовувати для пов'язування ключів зі значеннями із середнім доступом O(1)?

+17 питань зі співбесід

Опануй Rust для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно