Вернуться в видеотекуКоротко о видео
Это тренировочное собеседование двух Python junior+ — Максима и Артура — в рамках подготовки студентов Яндекс Практикума, а не реальный найм. Сначала участники отвечают на вопросы о SOLID, ООП, наследовании, генерализации и композиции, затем вместе рефакторят пример файлового менеджера для подсчёта статистики TXT- и CSV-файлов. В финале интервьюеры отмечают уверенную теорию, но советуют больше практиковаться в декомпозиции кода и сначала описывать назначение методов словами.
Затронутые темы
Что взять на заметку
- Для вопросов по SOLID стоит уметь не только расшифровать принципы, но и показать нарушение SRP на классе, который одновременно читает файл, считает статистику, работает с UI и удаляет данные.
- Наследование следует объяснять как отношение обобщения и специализации («is-a»), а не как механическое получение методов родителя; для независимой функциональности чаще обсуждают композицию.
- При рефакторинге файлового менеджера участники выделяют отдельно чтение файла, расчёт статистики, выбор файла пользователем и отображение результата.
- Взаимодействие с пользователем предлагается вынести из FileStatManager: менеджер должен заниматься обработкой файла, а не запросом пути или сообщениями UI.
- Для TXT и CSV рассматривается общий контракт обработки файла с разными реализациями подсчёта: CSV дополнительно считает столбцы, TXT — строки.
- Перед удалением или переименованием существующих методов нужно сохранять работоспособность текущих вызовов: в обсуждаемом рабочем проекте нет тестов, а неизвестные зависимости могут находиться в большой кодовой базе.
- Для объёмного незнакомого кода интервьюер советует сначала кратко записать назначение каждого метода, затем группировать методы по ответственности, а не пытаться удержать всю логику в памяти.