Python для Junior-разработчика: шаблон теста

Шаблон тестаPython Junior

Готовый тест для первичного отбора Junior Python-разработчиков: 12 вопросов с правильными ответами о типах данных, срезах, коллекциях, исключениях и типичных ловушках языка.

14 вопросовоколо 12 минут3 блока вопросовтестовые вопросы с баллами

Шаблон скопируется в ваш аккаунт — добавьте вопросы о фреймворках и библиотеках вашего стека.

Живой пример анкетыОткрыть в новой вкладке

Так анкету увидят респонденты — её можно пройти прямо здесь.

Зачем нужен тест по Python для Junior

На позицию Junior-разработчика откликается много кандидатов, и проверить каждого на техническом интервью дорого. Короткий тест на базовые знания языка помогает выбрать тех, с кем стоит разговаривать дальше.

Вопросы проверяют то, что должен понимать начинающий разработчик на Python 3: целочисленное деление, типы, изменяемые и неизменяемые объекты, срезы, работу со словарями и множествами, исключения, сравнение через is и ==, а также классическую ловушку с изменяемым аргументом по умолчанию. Все ответы проверены запуском кода.

Быстрый отсев

Тест показывает базовый уровень до того, как вы потратите время на интервью.

Понимание, а не память

Вопросы с кодом проверяют, как кандидат читает программы.

Повод для разговора

Ошибки в тесте удобно обсудить на техническом интервью.

Вопросы теста по Python

Тест содержит 14 вопросов: имя, ссылку на портфолио и 12 тестовых вопросов. Первый блок посвящён типам данных и операциям, второй — коллекциям, объектам и неочевидному поведению языка.

Данные кандидата

  1. Фамилия и имя
  2. Ссылка на GitHub или портфолио

Типы данных и операции

  1. Что выведет print(7 // 2)?
  2. Что выведет print(type(3 / 2))?
  3. Какой из этих типов неизменяемый?
  4. Что выведет код: s = "python"; print(s[1:4])?
  5. Что вернёт d.get("b", 0), если d = {"a": 1}?

Коллекции, объекты и ловушки

  1. Что выведет код: a = [1, 2]; b = a; b.append(3); print(a)?
  2. Что выведет print([x * 2 for x in range(3)])?
  3. Что выведет print(len({1, 2, 2, 3}))?
  4. Какое исключение возникнет при обращении d["x"], если ключа "x" в словаре нет?
  5. Что выведет print(0.1 + 0.2 == 0.3)?
  6. Чем оператор is отличается от ==?
  7. Функция объявлена так: def add(x, items=[]): items.append(x); return items. Что вернёт вызов add(2), если перед ним был вызов add(1)?

Все примеры кода рассчитаны на Python 3. Если вы нанимаете разработчиков под конкретный стек, добавьте вопросы о Django, FastAPI, pandas или тестировании с pytest.

Как провести тест по Python

Тест используют как первый этап отбора, перед тестовым заданием или техническим интервью.

1

Скопируйте шаблон

Тест с правильными ответами появится в вашем аккаунте.
2

Добавьте свой стек

Включите вопросы о фреймворках и библиотеках команды.
3

Настройте таймер

Ограничьте время, чтобы ответы не проверяли в интерпретаторе.
4

Отправьте ссылку

Разместите её в описании вакансии или отправьте кандидатам.

Встройте тест на страницу вакансии или карьерного сайта, чтобы кандидаты проходили его сразу после отклика. Включите случайный порядок вариантов и ограничение повторного заполнения. Для небольшого практического задания добавьте вопрос с загрузкой файла, а уведомления на e-mail сообщат о каждом новом результате.

Тест по Python готов к отбору

Скопируйте шаблон и отправьте ссылку кандидатам на позицию Junior.
Использовать шаблон

Как использовать результаты теста

Testograf подсчитывает баллы и показывает распределение ответов по каждому вопросу. Подробнее о типах вопросов и отчётах — в разделе «Функционал Testograf».

  1. Отберите кандидатов. Пригласите на интервью тех, кто набрал проходной балл.
  2. Подготовьте интервью. Спросите кандидата, почему он выбрал неверный ответ, — это покажет ход его мысли.
  3. Сравните потоки. Выгрузите результаты в XLSX и сравните кандидатов разных вакансий.

Баллы кандидатов в одном отчёте

Посмотрите демо-отчёт: диаграммы по вопросам, общий балл и ответы каждого кандидата.Посмотреть результаты
Какой из этих типов неизменяемый?tuple84 %dict11 %list5 %данные демо-опросаОткрыть отчёт →

Советы по тестированию разработчиков

Тест с вариантами ответа не заменяет код-ревью, но хорошо работает как фильтр. Похожий формат для фронтенда — тест по JavaScript для Middle-разработчика.

Проверяйте чтение кода

Вопросы «что выведет код» показывают понимание лучше определений.

Не делайте тест длинным

12–15 вопросов за 10–15 минут достаточно для первого этапа.

Объясняйте формат

Предупредите кандидата о таймере и количестве вопросов.

Частые вопросы

Какой уровень Python проверяет тест?

Базовый уровень Junior: типы данных, коллекции, срезы, исключения и особенности работы с объектами. Для Middle добавьте вопросы о генераторах, декораторах и асинхронности.

Почему 0.1 + 0.2 == 0.3 даёт False?

Числа с плавающей точкой хранятся в двоичном виде с ограниченной точностью, поэтому сумма немного отличается от 0.3. Для сравнения используют math.isclose или тип Decimal.

Как не дать кандидату запустить код?

Полностью исключить это нельзя, но таймер на вопросы и случайный порядок вариантов заметно усложняют проверку в интерпретаторе.

Можно ли добавить практическое задание?

Да. Добавьте вопрос с длинным текстом для кода или вопрос с загрузкой файла и проверьте ответы вручную в отчёте.

Можно ли встроить тест на сайт с вакансией?

Да. Тест можно встроить на страницу, показать во всплывающем окне или отправить ссылкой.

Заключение

Тест по Python для Junior-разработчика помогает быстро отобрать кандидатов, которые понимают основы языка и умеют читать код. Скопируйте шаблон, добавьте вопросы о своём стеке и используйте его как первый этап технического отбора.

Другие шаблоны тестов

Все шаблоны опросов

Запустите тест по Python

Готовые вопросы с кодом, таймер, баллы и отчёт по каждому кандидату.

Результаты демо-опроса Так выглядит отчёт по тесту по Python
Продолжая пользование настоящим сайтом, Вы выражаете своё согласие на обработку Сookie-файлов в соответствии с Политикой использования Cookie-файлов