Встречается на собеседованиях • сегодня

В чем разница между моделью управления памятью в Rust и в других языках

Rust использует систему владения (ownership) с проверкой заимствований (borrowing) и временем жизни (lifetimes) для управления памятью без сборщика мусора (GC). Это обеспечивает безопасность памяти на этапе компиляции.

Ключевые отличия:

  • Без GC: В отличие от Python/Java/Go, Rust не полагается на сборщик мусора.
  • Нет ручного управления: В отличие от C/C++, не нужно вручную выделять/освобождать память.
  • Статическая проверка: Компилятор гарантирует отсутствие висячих указателей, гонок данных и т.д.

Пример:

rust
fn main() {
    let s = String::from("hello");  // s владеет строкой
    takes_ownership(s);             // право владения передано функции
    // println!("{}", s);           // Ошибка! s больше не валидна
}

fn takes_ownership(s: String) {     // s теперь владеет строкой
    println!("{}", s);
}                                   // память автоматически освобождается

В Python/C# память управляется GC, в C/C++ — вручную, а Rust сочетает безопасность с производительностью.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы