Описание:

Схема данных в БД:

Короткий ответ

Что ответить на собеседовании

Схема данных в БД:

Подробный разбор

Ответ с пояснениями

Условие

Описание: Мы разрабатываем веб-приложение, представляющее из себя веб-страницу, на которой можно рисовать многоугольники. При этом можно изменять ранее сохранённую фигуру. Ограничение по цвету нет. Ограничений по числу многоугольников нет. Ограничений по расположению фигур нет (могут накладываться друг на друга в рамках страницы).

Задание:

  1. Описать сохраняемые данные в БД.
  2. Предложить методы REST API для взаимодействия между frontend и backend.

Ответ

  1. Схема данных в БД:
  • Таблица polygons:

    • id (UUID или SERIAL) — уникальный идентификатор многоугольника
    • name (string) — опциональное имя
    • color (string) — цвет фигуры (например, HEX или RGB)
  • Таблица points:

    • id — уникальный идентификатор точки
    • polygon_id — внешний ключ на polygons.id
    • order — порядок точки в многоугольнике
    • x, y — координаты точки

Так можно хранить произвольное число многоугольников с произвольным числом вершин и цветом.


  1. REST API:
  • GET /polygons — получить список всех многоугольников с их точками и цветами

  • GET /polygons/{id} — получить конкретный многоугольник

  • POST /polygons — создать новый многоугольник

    • Тело запроса: { "name": "", "color": "#ff0000", "points": [{"x":0, "y":0}, ...] }
  • PUT /polygons/{id} — обновить многоугольник (цвет, точки, имя)

  • DELETE /polygons/{id} — удалить многоугольник

Такой набор методов позволит создавать, читать, изменять и удалять многоугольники, а также получать их список для отображения на фронтенде.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее