До кода уточните размеры XML, требования к проверке, длительность обработки, доступ, формат протокола и ожидания по отмене/повтору. Затем спроектируйте асинхронный жизненный цикл задания.
Ситуационная задача: нужно с нуля сделать страницу загрузки XML-файлов, сервер длительно обрабатывает их CPU-bound-задачами и возвращает протокол. Какие будут ваши первые действия до написания кода?
До кода уточните размеры XML, требования к проверке, длительность обработки, доступ, формат протокола и ожидания по отмене/повтору. Затем спроектируйте асинхронный жизненный цикл задания.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
До кода уточните размеры XML, требования к проверке, длительность обработки, доступ, формат протокола и ожидания по отмене/повтору. Затем спроектируйте асинхронный жизненный цикл задания.
Загрузка создаёт job ID, worker выполняет CPU-bound обработку отдельно от web-процесса, интерфейс получает статус и результат. Нужны лимиты файла, безопасный XML-парсер без внешних сущностей, дедупликация, ошибки и сроки хранения. Согласуйте прогресс, повторный вход пользователя и нагрузку, прежде чем выбирать конкретные библиотеки.