Найти в Дзене

Вы пришли на собеседование

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

Вы пришли на собеседование

«Добро пожаловать, искатель знаний. Сегодня мы погрузимся в проект по усилению боевой эффективности Адептус Астартес. Ваша задача — спроектировать API для тактического ядра брони космодесантника, МК X «Гравис-Арматум».

Система управляет двумя ключевыми концепциями:

Боевые Мандаты (Pacts): Это кибернетические приказы, загружаемые в доспех. Они определяют цель, зону боевых действий (планету) и ресурс, который будет разблокирован при выполнении (например, доступ к огнемёту или орбитальной бомбардировке). Каждый мандат имеет статус (например, ВЫДАН, АКТИВЕН, ВЫПОЛНЕН) и требует определённого количества подтверждений для выполнения.

Подношения Империуму (Tributes): Это акты, которые засчитываются в выполнение мандата. Например, сканеры доспеха автоматически регистрируют подношение типа xenos_purge при уничтожении цели. Каждое подношение привязано к конкретному мандату.

Микросервис должен предоставлять API для следующих операций:

Управление Боевыми Мандатами (создание, просмотр, обновление статуса).

Регистрация Подношений Империуму и их привязка к мандатам.

Получение тактической сводки по текущему состоянию выполнения мандата для отображения на HUD бойца.

Ваша задача: Спроектировать REST API для этого микросервиса.

Ответьте на следующие вопросы:

Какие конкретные эндпоинты (URL, HTTP-методы) вы предложите? Для каждого опишите его цель.

Какие данные будут передаваться в телах запросов и ответов (в виде JSON)? Какие HTTP статус-коды вы будете использовать в различных сценариях и почему?

Как вы организуете получение сводной информации о состоянии мандата (прогресс выполнения)?

А теперь, проявите инициативу. Какие уточняющие вопросы вы зададите Архитектору (мне), прежде чем окончательно зафиксировать дизайн API?