«Добро пожаловать, искатель знаний. Сегодня мы погрузимся в проект по усилению боевой эффективности Адептус Астартес. Ваша задача — спроектировать API для тактического ядра брони космодесантника, МК X «Гравис-Арматум».
Система управляет двумя ключевыми концепциями:
Боевые Мандаты (Pacts): Это кибернетические приказы, загружаемые в доспех. Они определяют цель, зону боевых действий (планету) и ресурс, который будет разблокирован при выполнении (например, доступ к огнемёту или орбитальной бомбардировке). Каждый мандат имеет статус (например, ВЫДАН, АКТИВЕН, ВЫПОЛНЕН) и требует определённого количества подтверждений для выполнения.
Подношения Империуму (Tributes): Это акты, которые засчитываются в выполнение мандата. Например, сканеры доспеха автоматически регистрируют подношение типа xenos_purge при уничтожении цели. Каждое подношение привязано к конкретному мандату.
Микросервис должен предоставлять API для следующих операций:
Управление Боевыми Мандатами (создание, просмотр, обновление статуса).
Регистрация Подношений Империуму и их привязка к мандатам.
Получение тактической сводки по текущему состоянию выполнения мандата для отображения на HUD бойца.
Ваша задача: Спроектировать REST API для этого микросервиса.
Ответьте на следующие вопросы:
Какие конкретные эндпоинты (URL, HTTP-методы) вы предложите? Для каждого опишите его цель.
Какие данные будут передаваться в телах запросов и ответов (в виде JSON)? Какие HTTP статус-коды вы будете использовать в различных сценариях и почему?
Как вы организуете получение сводной информации о состоянии мандата (прогресс выполнения)?
А теперь, проявите инициативу. Какие уточняющие вопросы вы зададите Архитектору (мне), прежде чем окончательно зафиксировать дизайн API?
Post #908
1.02K
Вы пришли на собеседование
- 🤣 13
- 👍 6