Джун пишет веб и решает задачи на LeetCode? / Лайвкодинг как в Бигтехe / Техсобес Junior Python Dev
Учебное mock-собеседование Junior Python-разработчика: теория backend-разработки, две алгоритмические задачи в лайвкодинге и итоговый фидбек по ответам кандидата.
Python Mentor
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 2,1 тыс.
- Лайки на YouTube: 46
Таймлайн
Коротко о видео
Это тестовое (mock) техническое собеседование на позицию Junior Python-разработчика. Кандидат рассказывает о проектах на Django и FastAPI, а интервьюеры проверяют понимание подписок, аутентификации и авторизации, JWT, тестирования, ООП, SQLAlchemy и устройства веб-фреймворков. В лайвкодинге разбирают поиск общего префикса строк и задачу Daily Temperatures с монотонным стеком, после чего дают развёрнутый учебный фидбек.
Затронутые темы
Что взять на заметку
- Для механизма подписок недостаточно таблицы с двумя связями пользователей: уведомления можно строить по модели Observer, где субъект хранит подписчиков и умеет их оповещать.
- Аутентификация подтверждает личность пользователя, а авторизация определяет его права; роли, permissions и группы относятся к модели разграничения доступа.
- JWT обычно подписывается, а не шифруется: его payload можно прочитать, а ценность токена в проверке подписи и возможности строить stateless-взаимодействие вместо серверных сессий.
- В unit-тестах внешние зависимости нужно мокать; для интеграционных проверок внешнего API или почты можно использовать фейковый сервер с заранее заданными ответами.
- Для общего префикса строк обсуждается цель O(суммарной длины строк) и O(1) дополнительной памяти без сортировки; при работе со строками важно учитывать стоимость конкатенации из-за их неизменяемости.
- Задача Daily Temperatures решается монотонно убывающим стеком индексов: каждый индекс добавляется и извлекается не более одного раза, поэтому суммарная сложность O(n).
- По фидбеку интервьюеров, при подготовке стоит уверенно различать технические термины и быть готовым объяснить указанные в резюме ООП, SOLID, интерфейсы и используемые технологии.