Рано или поздно, когда приходит время искать новую работу, попадается вакансия, для которой нужно делать тестовое задание. К этому все относятся по разному: кто-то считает, что оно по-любому должно оплачиваться и вообще, что-то писать несколько дней для компании, в которой ты не работаешь — это зашквар.
С другой стороны, тестовое — оно как «вместо тысячи слов», лучший способ показать что ТЫ умеешь. И я с этим согласен. Но с таким подходом возникает другая проблема — обычно компании на тестовое могут дать два типичных ответа: «Нам понравилось ваше решение, когда готовы выходить?» и «Тот, кто делал ревью, передал, что ему не понравилось...».
И последнее произошло со мной в очередной раз. Но я бы хотел получить ответы.
Хочу так же уточнить. Для работ такого типа у меня достаточно давно создано ядро, которое я совершенствую, когда приходит время писать очередное тестовое, и вписываю в него бизнес-логику тестовой задачи.
Задача ниже — не исключение, однако в данной задаче я применил Solr, и его оболочка была для меня новым инструментом. Так же в данной задаче мне показалось логичным применить DI, чего я в прошлые разы не делал в виду гораздо меньшего числа взаимозависимых классов.
Задача:
https://www.wildberries.ru/catalog/elektronika
Разработать:
Библиотеки любые, фреймворки нельзя, язык PHP
Решение:
Сделано за 3 дня. https://github.com/gluck1986/exampleCatalog потыкать api: http://2.58.68.23/ (скоро вырублю, дорого :) ) спека app/spec/spec.yaml в корне initDb.php - создать фейковые данные (пара часов)
Кому интересно, пишите email как-нибудь мне, скину инвайт в stoplight и доску с декомпозицией.
Официальный ответ допишу позже.