Разборы задач
Проектирование онлайн-аукциона
Постановка задачи
🛍️ Что такое онлайн-аукцион?
Онлайн-аукцион - это сервис, где пользователи выставляют товары на продажу, а другие пользователи соревнуются за покупку, повышая ставки до окончания аукциона. Побеждает тот, чья ставка оказалась самой высокой.
Как и в других разборах, мы пройдем по задаче шаг за шагом, используя структуру интервью по System Design. Деталей здесь больше, чем обычно требуется на собеседовании, но именно они помогают лучше разобраться в теме и глубже понять компромиссы.
Функциональные требования
Основные требования
- Пользователи могут создавать аукцион, указывая стартовую цену и дату окончания.
- Пользователи могут делать ставки на лот. Ставка принимается только в том случае, если она выше текущей максимальной ставки.
- Пользователи могут просматривать аукцион, включая текущую максимальную ставку.
За рамками задачи
- Пользователи могут искать товары.
- Пользователи могут фильтровать товары по категории.
- Пользователи могут сортировать товары по цене.
- Пользователи могут просматривать историю ставок по аукциону.
Нефункциональные требования
Прежде чем переходить к нефункциональным требованиям, стоит уточнить у интервьюера ожидаемый масштаб системы. Понимание масштаба с самого начала сильно влияет на архитектурные решения дальше по ходу проектирования.
Перейдите на Premium, чтобы продолжить
Разблокируйте доступ к этой статье и всем остальным материалам с NowInterview Premium
Перейти на Premium