Выберите НЕВЕРНОЕ утверждение о модели памяти Python.

Очевидно неверно утверждение, что list реализован как связный список: в CPython это динамический массив ссылок. Но вопрос неточен и в части ручного освобождения памяти и универсальности refcount.

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

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

Очевидно неверно утверждение, что list реализован как связный список: в CPython это динамический массив ссылок. Но вопрос неточен и в части ручного освобождения памяти и универсальности refcount.

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

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

Условие

Выберите НЕВЕРНОЕ утверждение о модели памяти Python.

  • list в Python реализован как связный список
  • Механизм сбора мусора Python способен удалять циклические ссылки
  • Python реализует счётчик ссылок для каждого объекта
  • Python переиспользует некоторые небольшие объекты, однократно выделяя под них память
  • Python предоставляет возможность ручного освобождения памяти

Ответ

Очевидно неверно утверждение, что list реализован как связный список: в CPython это динамический массив ссылок. Но вопрос неточен и в части ручного освобождения памяти и универсальности refcount.

Циклический GC способен собирать недостижимые циклы, а некоторые небольшие объекты переиспользуются. Подсчёт ссылок характерен для CPython, но не является обязательной моделью всех реализаций Python. del удаляет ссылку или привязку, а не гарантированно освобождает объект и не равен free; gc.collect() лишь запускает сборку. Поэтому при ожидании одного ответа выбирают первый вариант, но на интервью стоит отметить неоднозначность последнего и привязку деталей к CPython.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее