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

В чём разница между стеком и кучей

Стек и куча — это области памяти, но с разными принципами работы.

Стек:

  • Быстрый доступ, выделяется и освобождается автоматически (LIFO).
  • Хранит локальные переменные, параметры методов, ссылки на объекты.
  • Ограничен по размеру (может переполниться).

Куча:

  • Динамическая память, управляется вручную (в C# — сборщиком мусора).
  • Хранит объекты, созданные через new.
  • Медленнее, но гибче (нет жесткого лимита).

Пример:

csharp
void Method() {
    int a = 5;          // в стеке
    var obj = new object(); // объект в куче, ссылка (obj) — в стеке
} // 'a' и 'obj' удаляются из стека, объект в куче остаётся до GC

Итог: стек — для быстрых, кратковременных данных, куча — для долгоживущих объектов.

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

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

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

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