Підіб'ємо короткі підсумки того, що ми почули на лекції.
Якими бувають тестові завдання?
- Тривалі (від 3 днів до тижня),
- Короткі (2-3 години).
Етапи виконання тестового завдання
- Підготовчий етап (тут ми ще не кодимо!)
- Переконатися у правильному розумінні завдання, поставити запитання.
- Продумати, які є граничні випадки.
- Продумати, що є бізнес-сценарієм завдання, а що виходить за його межі.
- Написання коду
- Спочатку — код-сирець. Він не повинен сяяти красою. Головне, щоб працював і правильно вирішував завдання.
- Якщо код працює правильно, проводимо ітеративний рефакторинг.
- Покриваємо код тестами.
- Оформлення тестового завдання. Напишіть Readme, де поясніть суть вашого рішення і опишіть основні класи.
Що має бути в тестовому завданні (особливо тривалому)?
- Обов'язково:
- README,
- Використання Maven\Gradle,
- Застосування SOLID,
- Інтеграційні та юніт-тести,
- Чистий код.
- Додатково було б непогано:
- Логування,
- Залити проєкт на Github (якщо не сказано іншого),
- Застосувати CI\CD,
- Docker\Docker-compose,
- DB-міграція,
- Swagger,
- Деплой.
Важливо! Після надсилання завдання обов'язково запитайте зворотний зв'язок. Навіть якщо вам відмовили, спитайте, що було не так у вашому коді.
Насамкінець — трохи корисних статей.
Приклад складного тестового завдання.
Цікавий матеріал про логування.
Тестове завдання може стати цікавим проєктом. Переконайтеся, прочитавши наступну статтю:
Як тестове завдання на співбесіду перетворилося на open-source бібліотеку
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ