Вернуться в видеотекуШкольник разработал Blazogram? / Техсобес на позицию Trainee Python Developer / Mock interview
Запись mock-собеседования по Python: теория языка, подробный code review библиотеки Blazogram, лайвкодинг обхода файлов и итоговый фидбек кандидату.
- Направление
- Backend
- Формат
- Мок-собеседование
- Длительность
- 2 ч 26 мин
Коротко о видео
Это тестовое (mock) собеседование на позицию Trainee Python Developer с восьмиклассником Егором, который рассказывает о первых Telegram-ботах и библиотеке Blazogram. Интервьюеры проверяют понимание изменяемости объектов, областей видимости, замыканий и декораторов, затем подробно разбирают архитектуру, документацию, зависимости и SQL-запросы в Blazogram. В лайвкодинге кандидат с подсказками пишет функцию рекурсивного обхода файлов с маской, логированием и передаваемыми callback-функциями; в конце получает развёрнутый фидбек и рекомендации по обучению.
Затронутые темы
Что взять на заметку
- Для Python важно различать изменение объекта и переназначение имени: при конкатенации строк создаётся новый объект, а изменение списка видно через все имена, ссылающиеся на тот же объект.
- При подготовке проекта к обсуждению стоит уметь объяснить его архитектуру: разделить ответственность по модулям, вынести данные из захардкоженного кода в базу и предусмотреть операции добавления и удаления.
- Библиотека должна устанавливаться и запускаться по README без ручной установки неочевидных зависимостей; нужны документация, type hints и понятный публичный контракт.
- SQL-запросы с внешними значениями нельзя собирать конкатенацией строк: параметризованные запросы уменьшают риск SQL-инъекций.
- Для взаимозаменяемых способов подключения — short polling, long polling и WebSocket — лучше проектировать отдельные компоненты с общим интерфейсом, а не разрастать проверки типов в одном цикле.
- В задаче обхода файлов пригодились `os.walk`, сборка полного пути и контекстный менеджер для автоматического закрытия файлов; итератор `os.walk` нужно перебирать в цикле.
- Логирование, проверку маски и обработку содержимого удобно передавать как функции: no-op callback позволяет не дублировать условные проверки по всему коду.