Подведем краткие итоги того, что мы услышали на лекции.

Какие бывают тестовые задания?

  • Длительные (от 3 дней до недели),
  • Краткие (2-3 часа).

Этапы выполнения тестового задания

  1. Подготовительный этап (здесь мы еще не кодим!)
    • Убедиться в правильном понимании задания, задать вопросы.
    • Продумать, какие есть граничные случаи.
    • Продумать, что есть бизнес-сценарием задачи, а что выходит за его рамки.
  2. Написание кода
    • Сначала — код-сырец. Он не должен блистать красотой. Главное — чтобы работал и правильно решал задачу.
    • Если код работает правильно, проводим итеративный рефакторинг.
    • Покрываем код тестами.
  3. Оформление тестового задания. Напишите Readme, в котором поясните суть вашего решения и опишите основные классы.

Что должно быть в тестовом задании (особенно длительном)?

  • Обязательно:
    • README,
    • Использование Maven\Gradle,
    • Применение SOLID,
    • Интеграционные и юнит-тесты,
    • Чистый код.
  • Дополнительно было бы неплохо:
    • Логирование,
    • Залейте проект на Github (если не сказано другого),
    • Примените CI\CD,
    • Docker\Docker-compose,
    • DB-миграция,
    • Swagger,
    • Деплой.

Важно! После отсылки задания обязательно запросите обратную связь. Даже если вам отказали, спросите, что было не так в вашем коде.

Напоследок — немного полезных статей.

Пример сложного тестового задания.

Интересный материал о логировании.

Тестовое задание может стать интересным проектом. Убедитесь сами, прочитав следующую статью:

Как тестовое задание на собеседование превратилось в open-source библиотеку