Паттерны проектирования
Вопросов: 36 из 24 собеседований. Источник указан в заголовке группы.
Все вопросы
Заголовок раздела «Все вопросы»4dev — 4 кв 2025
Заголовок раздела «4dev — 4 кв 2025»- Какую архитектурную гибкость дает использование интерфейсов между слоями приложения?
Avito / Авито (скрининг) - 2 — 3 кв 2025
Заголовок раздела «Avito / Авито (скрининг) - 2 — 3 кв 2025»- Что такое асинхронное API. Для чего нужно и как реализуется?
Cloud.ru — 4 кв 2025
Заголовок раздела «Cloud.ru — 4 кв 2025»- Что такое синглтон?
- Как на техническом языке называется «матрешка»?
EnjoyPro — 4 кв 2025
Заголовок раздела «EnjoyPro — 4 кв 2025»- Какие архитектурные паттерны вы использовали в своей практике? Приходилось ли вам реализовывать их самостоятельно и какие задачи они решали?
Headframe — 1 кв 2026
Заголовок раздела «Headframe — 1 кв 2026»- Какие подходы к организации кода используете в проектах?
Kaspersky / Касперский - 2
Заголовок раздела «Kaspersky / Касперский - 2»- Что такое event sourcing?
- Что такое CQRS?
Lamoda / Ламода - 1
Заголовок раздела «Lamoda / Ламода - 1»- Как решается проблема дубликатов входящих запросов?
Magnit / Магнит - 2 (E-com) — 1 кв 2025
Заголовок раздела «Magnit / Магнит - 2 (E-com) — 1 кв 2025»- Применяли ли у себя паттерн graceful degradation?
MTS / МТС (Enablement platform)
Заголовок раздела «MTS / МТС (Enablement platform)»- Рассказать про SOLID, и др. архитектурные паттерны.
Ozon / Озон (финал) - 2
Заголовок раздела «Ozon / Озон (финал) - 2»Доп. вопросы: как можно хранить историю изменений чтобы была возможность отматывать назад.
Positive Technologies
Заголовок раздела «Positive Technologies»- Что такое сервисы/хэндлеры/репозитории/слои/адаптеры и юзкейсы?
RedLab — 2 кв 2026
Заголовок раздела «RedLab — 2 кв 2026»- Назови принципы SOLID и антипаттерн для каждого из них.
- Какие виды порождающих паттернов существуют?
Samokat / Самокат (полный список)
Заголовок раздела «Samokat / Самокат (полный список)»- Какие можете перечислить 3 любых шаблона проектирования (уровня кода)?
Sber (Селекти) - 1 — 1 кв 2026
Заголовок раздела «Sber (Селекти) - 1 — 1 кв 2026»- Каких паттернов и архитектурных подходов вы придерживались?
SberMarket / СберМаркет (Купер) - 2 — 1 кв 2026
Заголовок раздела «SberMarket / СберМаркет (Купер) - 2 — 1 кв 2026»- Этот функционал реализован только для gRPC-сервера. Как бы вы перестроили архитектуру, чтобы ту же бизнес-логику можно было переиспользовать для HTTP-эндпоинтов и для консьюмера событий без дублирования кода?
Selectel / Селектел
Заголовок раздела «Selectel / Селектел»- Что делать, если нижестоящий сервис начал пятисотить?
Syntes AI — 1 кв 2026
Заголовок раздела «Syntes AI — 1 кв 2026»- Как вы реализовывали retry, backoff, circuit breaker при вызовах между сервисами?
- Как вы определяете оптимальные тайм-ауты для серверных вызовов? Какие стратегии применяете на клиенте?
- Какую стратегию пагинации вы бы выбрали для ленты с бесконечной прокруткой?
TSUM / ЦУМ
Заголовок раздела «TSUM / ЦУМ»- Знаком ли ты с антипаттерном God Function?
Vitech / Витех (Ви.Tech) - 2 — 1 кв 2025
Заголовок раздела «Vitech / Витех (Ви.Tech) - 2 — 1 кв 2025»- Для чего нужен rate-limiter?
Wildberries / WB - 13
Заголовок раздела «Wildberries / WB - 13»- Расскажи про GoF паттерны
- Расскажи про cqrs
Wildberries / WB - 5 (Команда спецпроектов) — 1 кв 2025
Заголовок раздела «Wildberries / WB - 5 (Команда спецпроектов) — 1 кв 2025»- Какие есть стратегии джойнов (не про left, right). Как оптимально сджойнить маленькую и большую таблицу? (переключить стратегию джойнов).
Wildberries / WB - 8 (Поисковая платформа)
Заголовок раздела «Wildberries / WB - 8 (Поисковая платформа)»- Какие есть основные стратегии масштабирования баз данных?
Yadro / Ядро
Заголовок раздела «Yadro / Ядро»- Что такое анемичная модель?
- Пользовался ли доменными событиями?
- Какие еще практики дизайна использовал?
- Какие паттерны проектирования использовал?
Клауд Солюшенс — 1 кв 2026
Заголовок раздела «Клауд Солюшенс — 1 кв 2026»- Что такое паттерн «синглтон»? Для чего он нужен и как его правильно реализовать в Go?
- Предположим,
sync.Onceотсутствует в стандартной библиотеке. Как вы реализуете потокобезопасный синглтон с ленивой инициализацией, используя другие примитивы из пакетаsync? - Какие паттерны проектирования из классической книги «банды четырех» вы применяли на практике в Go? Приведите примеры.
- Сделайте решение расширяемым: если через месяц добавятся
kind = "bicycle"иkind = "house", изменения в коде должны быть минимальными и локализованными.