Была ли витрина товаров в проекте ломбарда
Что проверяют
Это вопрос по вашему резюме: интервьюер проверяет, действительно ли вы делали то, что там написано, и насколько глубоко. Следом обычно просят нарисовать схему: откуда витрина берёт товары, как устроены фильтры и что происходит, когда два покупателя хотят одну вещь.
Как отвечать
Если витрина была, рассказывайте про свою часть и про решения, а не перечисляйте технологии. Хороший каркас для Go-бэкенда:
- откуда товары: у ломбарда витрина не отдельный каталог, а продолжение залоговой системы. Невыкупленная вещь попадает в продажу только после окончания льготного срока, поэтому статусная модель вида «в залоге → невыкуплен → на витрине → в резерве → продан» и переходы между статусами это ядро задачи;
- API:
net/http(с Go 1.22 стандартный роутер понимает методы и параметры в пути) или chi/gin,pgxдля PostgreSQL, таймауты черезcontext; - фильтры и поиск: составные индексы под частые фильтры (категория, филиал, цена), пагинация по ключу вместо
OFFSETна больших выборках, поиск черезtsvectorилиpg_trgm; - гонка за вещь: товар уникален, второго такого на складе нет. Резерв делается условным
UPDATE ... WHERE status = 'available'с проверкойRowsAffected()или черезSELECT ... FOR UPDATEв транзакции; - кэш: если был Redis, объясните инвалидацию. Проданная вещь, которая висит в кэше, это реальная жалоба покупателя;
- фото: объектное хранилище и превью, а не картинки в базе.
Если витрины не было, не выдумывайте. Скажите, что в проекте её не было или её делала другая команда, назовите, чем занимались вы, и коротко опишите, как спроектировали бы её сами. Это честно и показывает то же инженерное мышление.
Где спотыкаются
Отвечают «да, была» и замолкают. Вопрос открытый, от вас ждут рассказа, иначе следующие вопросы будут уже с подозрением.
Приписывают себе работу всей команды, включая фронтенд на React. На уточнениях про чужую часть это быстро всплывает.
Называют выдуманные метрики вроде «рост пользователей на 30%», не зная, кто и как их считал. Лучше конкретика, которую вы можете защитить: время ответа API, число товаров, количество филиалов.