Объясните, что подразумевается под понятием утечка памяти в контексте программирования.

Утечка памяти — это ситуация, когда программа выделяет память (например, с помощью malloc в C), но затем не освобождает её после использования.

Короткий ответ

Что ответить на собеседовании

Утечка памяти — это ситуация, когда программа выделяет память (например, с помощью malloc в C), но затем не освобождает её после использования. В результате эта память остаётся занята и недоступна для повторного использования, что со временем может привести к исчерпанию доступной памяти и снижению производительности.

Подробный разбор

Ответ с пояснениями

Утечка памяти — это ситуация, когда программа выделяет память (например, с помощью malloc в C), но затем не освобождает её после использования. В результате эта память остаётся занята и недоступна для повторного использования, что со временем может привести к исчерпанию доступной памяти и снижению производительности.

Пример утечки памяти в C:

#include <stdlib.h>

void leak() {
    int* ptr = malloc(sizeof(int) * 10);
    // Используем ptr
    // Но забываем вызвать free(ptr);
}

Здесь память выделяется, но не освобождается, что приводит к утечке.

В языках с автоматическим управлением памятью (например, Java) утечки могут возникать, если объекты остаются доступны через ссылки, хотя они больше не нужны, что мешает сборщику мусора освободить память.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку