В этой подборке вопросы сгруппированы по формату «System Design», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: backend, api, database.
Проектирование системы сохранений: переход от локальной модели к серверной и двунаправленная запись Архитектура: абстрактный слой сохранения, объединяющий локальное и серверное хранилища Локальное сохранение:…
data pipeline — это цепочка последовательных операций обработки данных надёжность достигается за счёт обработки ошибок, повторных попыток и мониторинга масштабируемость обеспечивают распределённые системы и…
Архитектура переключения между сервисами аналитики Область: архитектура интеграций с аналитическими сервисами Применить адаптер или обертку (wrapper/facade) над сервисом Определить абстрактный интерфейс с базовыми…
сервис для подсчёта просмотров видео в интернете основные требования: высокая производительность под нагрузкой, точность подсчётов и возможность масштабирования приём событий о просмотрах через API или SDK,…
UI и управление состоянием описываю структуру формы, набор полей и уровни вложенности связываю элементы с моделью данных и синхронизирую состояние задаю правила через валидаторы, часто используя схемы Yup или Joi…
Как спроектировать спецификацию фронтенда для рабочего места менеджера с CRUD? интерфейс back office для управления заказами базовый набор операций: CRUD (Create, Read, Update, Delete) над заказами экран списка…
Сложности перехода на микросервисы: границы и дублирование функций Выделить точные границы сервисов сложно из-за взаимозависимостей и особенностей бизнес-логики Для снижения связности и повышения автономности…
Риски и решения при интеграции синхронной внешней системы с асинхронной внутренней внутренний сервис может оказаться заблокирован в ожидании внешнего ответа возрастают латентность и вероятность потери…
Проектирование нового сервиса с нуля анализ требований: функциональные и нефункциональные характеристики выбор архитектурного подхода: монолит или микросервисы моделирование данных: схемы, базы данных и API…
Как обосновать выбор системы очередей для проекта? контекст: подбор системы очередей для асинхронной обработки и взаимодействия между компонентами RabbitMQ: надёжный брокер на основе AMQP-протокола с поддержкой…
масштабируемость: монолит перестаёт справляться с ростом нагрузки сложность сопровождения: множество взаимозависимостей и длительные релизы скорость разработки: общий код провоцирует конфликты внутри команды…
Система обрабатывает нагрузку, в десять раз превышающую расчетную: возможные последствия Превышение TPS означает, что система способна выполнять 1000 транзакций в секунду при установленном проектном ограничении в 100…