Какое главное преимущество generator expression `(x*2 for x in big_list)` над list comprehension `[x*2 for x in big_list]`?
Pythonmediummiddle
Проверяет знание Python и pandas для анализа данных.
generatorlist-comprehensionpythonmemory
Варианты ответа
Generator работает быстрее за счёт компиляции в C-код интерпретатором Python, тогда как list comprehension остаётся на уровне байт-кода и требует больше CPU-тактов при выполнении
Generator кеширует уже вычисленные элементы и переиспользует при повторном проходе, что даёт выигрыш в сценариях с несколькими итерациями над одной коллекцией данных pipeline
Generator использует lazy evaluation — элементы считаются по одному при итерации, память не выделяется под весь результат сразу. Подходит для больших данных или когда нужна часть
Generator автоматически параллелит вычисления на ядрах CPU через concurrent.futures, а list comprehension всегда выполняется последовательно в одном потоке без возможности ускорения
Как разобрать этот вопрос на собеседовании
Подумай, какая структура данных и какой инструмент pandas решают задачу с наименьшей сложностью: векторизация вместо циклов, groupby/merge вместо ручных склеек, корректная работа с NaN и типами. Интервьюер смотрит на читаемость кода и на то, понимаешь ли ты, что происходит «под капотом» — копия или вью, сложность операции, утечки памяти на больших данных.
На собеседовании по такому вопросу важно не только назвать ответ, но и кратко объяснить, почему он верный.
Тема вопроса — «Python». Чтобы подготовиться к похожим задачам, отрабатывай их на практике: python-тренажёр помогает довести навык до автоматизма, а раздел вопросов — увидеть формулировки, которые реально встречаются на интервью аналитика данных.
Разбор ответа
Подробный разбор с объяснением «почему правильный ответ верный» и почему остальные неверны — после регистрации.
3000+ вопросов с разбором, quiz-режим с проверкой, AI-собес и подготовка к интервью аналитика.