| File | Date | Author | Commit |
|---|---|---|---|
| .idea | 2024-12-11 |
|
[17687c] fix: Исправлена опечатка в слове Consumer |
| gmafffff.training.producerConsumer | 2024-12-12 |
|
[12d39e] feat: Подготовлен запуск приложения |
| .hgignore | 2024-12-10 |
|
[c46c2e] chore: Создан проект |
| gmafffff.training.producerConsumer.sln | 2024-12-11 |
|
[17687c] fix: Исправлена опечатка в слове Consumer |
| gmafffff.training.producerConsumer.sln.DotSettings | 2024-12-11 |
|
[17687c] fix: Исправлена опечатка в слове Consumer |
| readme.md | 2024-12-12 |
|
[445cff] docs: Исправление стиля |
Тестовое задание для собеседования
На решение задачи мне потребовалось 😓:
| задача | время, час |
|---|---|
| Вникнуть в ТЗ | 0.5 |
| Создать проект | 0.5 |
| Настроить хост | 0.8 |
| Создать модель | 14.6 |
| Проверка | 1.0 |
| Рефакторинг | 0.8 |
| Документация | 0.3 |
Всего: 18.5 часов.
Переполненный склад не принимает товар с завода.
Уровень складских запасов не должен падать ниже 95%.
Вместимость грузовика типа 1 — n·4 единиц, типа 2 - 1.1·n·4 и т.д.
Грузовиков столько же сколько и заводов.
В реальной жизни для решения подобной задачи скорее всего можно использовать akka.net — это избавит код от
низкоуровневых деталей многопоточности.
Приложение не требует дополнительных телодвижений и может быть собрано и запущено в IDE.
После запуска приложение выполнит длинный ряд подготовительных шагов для перехода к полнофункциональной симуляции.
Потом управление будет передано пользователю в CLI.
Протокол исполнения сохраняется в логе в папке со сборкой.
Сборка проекта сохраняется в каталоге %temp%\gmafffff\training\producerConsumer\
Есть несколько заводов, каждый из которых выпускает продукцию одного типа. Например, завод A выпускает продукт "a",
завод B - продукт "b" и т.д. Каждый завод выпускает разное количество своей продукции. Завод А - n единиц в час, B - 1.1
·n единиц в 1 час, С - 1.2·n единиц продукции в час и т.д. Размерами продукции пренебрегаем и предполагаем одинаковыми
для всех фабрик, однако каждый продукт имеет уникальные свойства: название, вес, тип упаковки.
Необходимо организовать эффективное складирование продукции заводов, а так же доставку в торговые сети из расчёта, что
склад может вмещать M · (сумму продукции всех фабрик в час). По заполнению склада не менее чем на 95% склад должен
начинать освобождаться от продукции следующим образом. Продукцию со склада забирает грузовой транспорт различной
вместимости (не менее двух видов грузовиков). Грузовик может забирать продукцию разных типов.
М может быть переменным, но не менее 100. Число заводов может быть переменным, но не менее трёх. n может быть
переменным, но не менее 50
Необходимо вывести следующие результаты работы алгоритма:
Приложение предлагается реализовать многопоточным.
Публичная собственность