Вернуться в видеотекуДжун оптимизировал логистику на складе, но с трудом написал range() ? / Техсобес Junior Python Dev
Запись мок-собеседования Junior Python-разработчика: разбор пет-проектов, теории Python и лайвкодинг реализации range(), после которого участнику дают развёрнутые рекомендации по развитию и портфолио.
- Направление
- Backend
- Формат
- Мок-собеседование
- Грейд
- Junior
- Длительность
- 2 ч 16 мин
Коротко о видео
Это тестовое (мок) собеседование на Junior Python-разработчика с кандидатом Ярославом. Он рассказывает о Telegram-боте для изучения английских слов, небольшом Django-проекте и, по его словам, о боте, который упорядочивал позиции в складском заказе для сокращения маршрута сборщика. Собеседующие разбирают основы Python, работу словарей и хешей, глобальное состояние, ООП, SQLite, SQL-инъекции, aiogram и Django; затем кандидат в лайвкодинге пытается реализовать аналог range(). В финале интервьюеры дают обратную связь по практике программирования, безопасности бота, портфолио, README, тестам и подготовке к собеседованиям.
Затронутые темы
Что взять на заметку
- В Telegram-боте кандидата SQL-запросы частично собираются строковой интерполяцией; собеседующие указывают на риск SQL-инъекции и рекомендуют везде использовать параметризованные запросы.
- Для бота на aiogram обсуждают передачу готового интерфейса работы с БД через middleware и повторное использование соединений/пула вместо нового подключения в каждом handler.
- При реализации аналога range() полезно заранее разделить задачу на разбор одного, двух и трёх аргументов, генерацию последовательности и проверку граничных случаев.
- Нельзя использовать 0 как признак непереданного аргумента range(): ноль — допустимое значение диапазона; в обсуждении предлагают sentinel-значение None и явную проверку is None.
- Проверять собственную реализацию range() нужно не только на range(10), но и на пустом диапазоне, start/stop, отрицательных значениях и несовпадениях с поведением встроенной функции.
- В финальной обратной связи интервьюеры советуют решать учебные задачи самостоятельно, а не ограничиваться кодом от ChatGPT: важно уметь объяснить алгоритм, структуру решения и причину исправления бага.
- Для портфолио рекомендуют выносить проекты в отдельные репозитории, добавлять понятные README, тесты, обработку ошибок, логирование и содержательные сообщения коммитов.