Вопросы на собеседовании по Python
Автор: Aaron Cao · Обновлено
Ждите три уровня: механику языка, то есть изменяемость, генераторы и декораторы; поведение среды выполнения, прежде всего GIL; и прикладной код по структурам данных. Чаще отказывают за слабое объяснение причин, а не за неверный синтаксис.
Вопросы, которые возвращаются снова и снова
Проработать список из двухсот вопросов по Python кажется продуктивным и редко меняет исход собеседования. Этот раздел сужает поле до тех немногих вопросов, что повторяются на телефонных отборах и технических этапах, и показывает, из чего состоит сильный ответ. Основной сигнал несёт небольшое число возможностей языка.
- Изменяемые значения аргументов по умолчанию. Почему
def f(x=[])накапливает значения между вызовами? Значения по умолчанию вычисляются один раз, при определении функции, а не при каждом вызове. - Генераторы против списков. Когда
yieldлучше построения списка? Когда последовательность велика или когда чтение можно прервать раньше. - Декораторы. Что на самом деле возвращает декоратор и зачем обёртке нужен
functools.wraps? - GIL. Почему потоки, нагружающие процессор, не масштабируются в CPython и что использовать вместо них?
- Поверхностное и глубокое копирование. Что ломается, когда вложенную структуру копируют срезом?
- Идентичность против равенства. Почему проверка
isна малых целых числах в консоли даёт обманчивый результат.
Что отличает зачёт от отказа
Два кандидата могут дать одинаково верное определение GIL, и дальше пройдёт только один. Разницу обычно создаёт второе предложение.
Бэкенд-инженера, проходившего собеседование на позицию уровня L5 в публичном облачном сервисе, спросили, почему его служба замедлялась под нагрузкой. Он назвал GIL, а затем продолжил: горячий путь занимался разбором JSON, поэтому потоки были неподходящим инструментом, и перенос этого этапа в пул процессов восстановил пропускную способность. Названное ограничение принесло частичный зачёт. Связь ограничения с решением принесла этап.
Стройте каждый ответ из трёх тактов: что возможность делает, зачем она существует и когда вы бы её избегали. Третий такт пропускают чаще всего, и именно он показывает зрелость суждения. Другие страницы про технические, поведенческие и проектировочные этапы собраны в разделе типы собеседований.
Как готовиться без зубрёжки
Прочитать ответ и произнести ответ — разные навыки, и проверяют только один из них. Репетируйте вслух, по часам, теми же словами, которыми будете говорить на звонке.
- Запишите ответ на каждый повторяющийся вопрос тремя предложениями, затем произнесите его, не подглядывая.
- Выберите две возможности, которыми пользуетесь ежедневно, и подготовьте по одному честному ограничению для каждой. Умение критиковать собственные инструменты читается как опыт.
- Принесите одну реальную историю отладки, где поведение Python вас удивило и вы разобрались почему.
- Прикладную половину тренируйте отдельно: словари, множества, сортировка с функцией ключа и работа со строками покрывают большую долю отборов.
Если хотите пройти пробный круг с ИИ-интервьюером на время перед настоящим этапом, это на странице пробного собеседования.
Где ассистент помогает, а где нет
SubcueAI — нативное настольное приложение для macOS и Windows. Оно захватывает обе стороны разговора, расшифровывает речь в реальном времени и показывает опорную структуру на плавающем оверлее, который остаётся локальным на вашей машине, поэтому не подключается к встрече как участник или бот. Для этапа по Python полезный результат — это подсказка структуры, а не готовый ответ: конкретика должна быть вашей, потому что следующий вопрос будет про тот код, который вы только что описали.
Честные ограничения важнее возможностей. Если вы демонстрируете экран, всё, что на этом экране, становится видимым. Если этап проходит на прокторинговой платформе оценки или на устройстве, управляемом компанией, ассистент неприменим. Установка и разрешения описаны на странице руководства.
Частые вопросы
Всё ещё спрашивают про GIL на собеседованиях по Python?
Сколько мелочей по Python нужно заучивать?
Входят ли задачи на код в собеседование по Python?
Стоит ли признавать, что я не знаю ответа?
Можно ли использовать ИИ-ассистента на собеседовании по Python?
Похожие вопросы
- Как подготовиться к панельному интервью?
- Что такое информационное интервью и как его провести?
- Какие вопросы о лидерстве чаще всего задают на собеседовании?
- Какие вопросы задают на втором собеседовании?
- Что такое собеседование HireVue и как к нему подготовиться?
- Как эффективно отвечать на вопросы на собеседовании?