Підіб'ємо короткі підсумки того, що ми почули на лекції.

Якими бувають тестові завдання?

  • Тривалі (від 3 днів до тижня),
  • Короткі (2-3 години).

Етапи виконання тестового завдання

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

Що має бути в тестовому завданні (особливо тривалому)?

  • Обов'язково:
    • README,
    • Використання Maven\Gradle,
    • Застосування SOLID,
    • Інтеграційні та юніт-тести,
    • Чистий код.
  • Додатково було б непогано:
    • Логування,
    • Залити проєкт на Github (якщо не сказано іншого),
    • Застосувати CI\CD,
    • Docker\Docker-compose,
    • DB-міграція,
    • Swagger,
    • Деплой.

Важливо! Після надсилання завдання обов'язково запитайте зворотний зв'язок. Навіть якщо вам відмовили, спитайте, що було не так у вашому коді.

Насамкінець — трохи корисних статей.

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

Цікавий матеріал про логування.

Тестове завдання може стати цікавим проєктом. Переконайтеся, прочитавши наступну статтю:

Як тестове завдання на співбесіду перетворилося на open-source бібліотеку