Вернуться в видеотеку

Лайвкодинг на Python с собеседования

Кандидат на собеседовании перерабатывает функцию для обработки файла и набрасывает тесты. В диалоге обсуждаются имена, параметры, Django settings, corner cases, моки и параметризация тестов.

Источник: Python собеседования

Открыть на YouTube

Коротко о видео

Это отдельный фрагмент лайвкодинга из ранее записанного собеседования. После короткого разговора о пет-проектах интервьюер даёт кандидату задачу: исправить существующий Python-код и написать тесты. Кандидат обсуждает, какие данные нужны для осмысленного именования, переносит путь к файлу и целевую сумму в параметры функции, а также рассматривает конфигурацию через Django settings. Затем он выбирает случаи для тестирования, включая базовый и граничный, создаёт тестовые данные и думает о параметризации. Отдельно обсуждаются два подхода к файлам в тестах: mock или реальные фикстуры. Запись содержит весь ход рассуждений, включая просьбу о подсказке по pytest.parametrize.

Затронутые темы

Что взять на заметку

  • Давайте функциям и параметрам имена по их роли в предметной задаче.
  • Не прячьте переменные окружения и конфигурацию в теле бизнес-логики.
  • Начинайте тесты с базового и граничных случаев.
  • Выбирайте между моками и файловыми фикстурами по цели теста.
  • Умейте применять параметризацию в pytest.

Рекомендуем посмотреть

1:23:14
BackendLead

Python: техническое собеседование Lead-инженера

Техническое интервью на позицию Lead Python Engineer. Интервьюер проверяет опыт кандидата в SDLC и методологиях разработки, веб-протоколах и TLS, безопасности, ООП, тестировании, Git/CI/CD, инфраструктуре и внутреннем устройстве Python. Практическая часть включает SQL-задачи с JOIN и агрегациями, а также рефакторинг сервиса денежных переводов с транзакциями, блокировками и архитектурными границами.