Реализовать бесстрашную систему выполнения заказов. Сценарий использования классический:
- В системе есть заказчики и исполнители. Заказчик публикует заказ и указывает его стоимость.
- Исполнитель видит список заказов, доступных для исполнения.
- Исполнитель выбирает заказ для выполнения, при этом исполнителю на счёт зачисляется стоимость заказа за вычетом комиссии системы.
- У одного заказа может быть только один исполнитель. Если заказ выполнен, он исчезает из списка.
Прочитали сценарий и готовы прислать результат через час? Стойте. Самое главное. Мы ищем тех, кто создавая лампочку помнит, что пользоваться ею будут на космическом корабле.
Ваша система должна быть способна пережить ядерную зиму. Нужно предусмотреть все возможные риски.
Мы хотим увидеть, как минимум:
- Надёжность работы под действительно высокой нагрузкой.
- Точность операций с деньгами.
- Устойчивость к основным типам атак.
- Возможность восстановить состояние системы при отказе оборудования.
Нам интересен Ваш собственный код, а не умение использовать готовые библиотеки. Поэтому предпочтительно использование PHP без ООП. Допустимо выполнение задания на python/java без чрезмерного использования сторонних наработок.
Основное хранилище — MySQL, вспомогательные — redis или memcached.
Мы ожидаем от Вас код, максимально приближенный к боевому. Следует предусмотреть вариант, когда каждая таблица располагается в отдельной БД (транзакции и JOIN — не вариант).
Клиентская сторона — SPA.