Спроектируй каталог с фильтрами
Вопрос
Спроектируй страницу каталога маркетплейса: фильтры (цена, бренд, размер), сортировка, сетка товаров, нужна индексация поисковиками. Пройди этапы: требования, оценка нагрузки, API, данные, компоненты, узкие места.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Требования: фильтры, сортировка, пагинация, SEO, шаринг ссылки, мобильная версия, быстрый первый экран
Оценка: миллионы товаров, десятки фасетов, тысячи значений бренда, частые изменения фильтров
API: GET /catalog с фильтрами, сортировкой и курсором или страницей, ответ с товарами и счётчиками фасетов
Данные: состояние фильтров в URL, серверные данные в кеше по ключу фильтров
Компоненты: FiltersPanel, ProductGrid, ProductCard, Pagination; SSR или ISR для популярных комбинаций
Узкие места: SEO и канонические URL для комбинаций, дебаунс ползунка цены, отмена запросов, картинки, CLS от скелетонов
Что могут спросить следом
- Пагинация или бесконечный скролл для каталога и почему?
- Как не плодить дубли страниц в поиске?
Разбор
Требования: фильтры по цене, бренду, размеру, сортировка, поисковики должны видеть каталог, ссылкой с фильтрами можно поделиться. Масштаб: товаров миллионы, у фасетов тысячи значений, пользователь кликает фильтры часто. API: один GET с фильтрами и сортировкой, ответ содержит товары и количество по каждому значению фасета, чтобы показывать «Nike (124)». Данные: весь выбор фильтров живёт в URL, это источник правды, а серверный ответ кешируется по ключу из этих параметров. Рендеринг: первая выдача SSR или ISR для популярных категорий, дальше переходы на клиенте. Для каталога выбираю обычную пагинацию или «показать ещё» с номером страницы в URL: так проще SEO и возврат к позиции. Узкие места: дебаунс ползунка цены, отмена устаревших запросов, канонические URL и noindex для бесконечных комбинаций фильтров, фиксированные размеры карточек против CLS, адаптивные картинки.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.