Разборы задач

Проектирование онлайн-аукциона

Постановка задачи

🛍️ Что такое онлайн-аукцион?

Онлайн-аукцион - это сервис, где пользователи выставляют товары на продажу, а другие пользователи соревнуются за покупку, повышая ставки до окончания аукциона. Побеждает тот, чья ставка оказалась самой высокой.

Как и в других разборах, мы пройдем по задаче шаг за шагом, используя структуру интервью по System Design. Деталей здесь больше, чем обычно требуется на собеседовании, но именно они помогают лучше разобраться в теме и глубже понять компромиссы.

Функциональные требования

Основные требования

  1. Пользователи могут создавать аукцион, указывая стартовую цену и дату окончания.
  2. Пользователи могут делать ставки на лот. Ставка принимается только в том случае, если она выше текущей максимальной ставки.
  3. Пользователи могут просматривать аукцион, включая текущую максимальную ставку.

За рамками задачи

  • Пользователи могут искать товары.
  • Пользователи могут фильтровать товары по категории.
  • Пользователи могут сортировать товары по цене.
  • Пользователи могут просматривать историю ставок по аукциону.

Нефункциональные требования

Прежде чем переходить к нефункциональным требованиям, стоит уточнить у интервьюера ожидаемый масштаб системы. Понимание масштаба с самого начала сильно влияет на архитектурные решения дальше по ходу проектирования.

Перейдите на Premium, чтобы продолжить

Разблокируйте доступ к этой статье и всем остальным материалам с NowInterview Premium

Перейти на Premium