В этой подборке вопросы сгруппированы по формату «System Design», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: backend, api, database.
Для системы персонализированных рекомендаций товаров на маркетплейсе можно использовать гибридный подход, объединяющий коллаборативную фильтрацию и контентные методы.
Для системы анализа инцидентов на промышленном оборудовании с параллельным поиском по документам и SQL можно спроектировать граф состояний LangGraph следующим образом:
Для системы рассылок с A/B тестированием заголовков, с генерацией вариантов с помощью LLM (Large Language Model), можно спроектировать следующую архитектуру:
Для проектирования REST-эндпоинта с тремя источниками данных и учетом требований по пропускной способности и времени отклика, предлагаю следующий подход:
Для сервиса Лояльности, который на основе количества доставленных и не отменённых заказов выдаёт размер скидки, предлагаю следующую архитектуру и интеграционные механизмы:
Хорошо спроектированные классы для работы с многопоточностью в Java обычно следуют принципам безопасности потоков (thread-safety) и минимизации блокировок. Вот несколько примеров: