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

Что такое стек вызовов функций

Стек вызовов (call stack) — это структура данных, которая хранит информацию о вызовах методов в программе. Работает по принципу LIFO (Last In, First Out): последний вызванный метод обрабатывается первым.

При вызове метода в стек помещается новый фрейм (кадр стека), содержащий:

  • Локальные переменные метода
  • Параметры
  • Адрес возврата (куда вернуться после выполнения)

Когда метод завершается, его фрейм удаляется из стека, управление возвращается предыдущему методу.

Пример:

java
void methodA() {
    methodB();
}

void methodB() {
    methodC();
}

void methodC() {
    System.out.println("В стеке сейчас: methodC -> methodB -> methodA");
}

При вызове methodA() стек будет расти, а затем уменьшаться по мере завершения методов. Если стек переполняется (например, при бесконечной рекурсии), возникает StackOverflowError.

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

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

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

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