System Design
26 окт 2026
Отделите интерактивное перемещение аннотаций от тяжёлого расчёта пикселей: рисуйте быстро, а анализ выполняйте асинхронно и порционно.
Читать ответ →
System Design
26 окт 2026
На карточке лучше показывать подтверждённые backend текущую цену, прежнюю цену и условия скидки; frontend отвечает за представление.
Читать ответ →
System Design
26 окт 2026
Разделите Todo на ввод, список, элемент и фильтры, а связанные переходы состояния при необходимости вынесите в reducer.
Читать ответ →
System Design
26 окт 2026
Без описания проекта риски определяют через модель угроз: данные, роли, точки входа и доверительные границы.
Читать ответ →
System Design
26 окт 2026
Серверные данные и клиентское глобальное состояние стоит разделять: у них разные правила кеширования и жизненного цикла.
Читать ответ →
System Design
26 окт 2026
Локальное хранение полезно для черновиков и очереди офлайн-отправки, если продукту действительно нужна работа без сети.
Читать ответ →
System Design
26 окт 2026
Тяжёлые формулы выносят в Web Worker, считают только изменившиеся зависимости, а видимые строки таблицы виртуализируют.
Читать ответ →
System Design
26 окт 2026
Мессенджер разделяют на хранение истории, доставку онлайн-событий, вложения и уведомления, сохраняя единый контроль доступа.
Читать ответ →
System Design
26 окт 2026
Большой PDF лучше формировать фоновой задачей: сразу вернуть ID отчёта и дать пользователю статус и ссылку после готовности.
Читать ответ →
System Design
26 окт 2026
Для списка ключей я проверил бы отдельные операции чтения, применения и удаления, понятные ошибки и права доступа.
Читать ответ →
System Design
26 окт 2026
API мессенджера должно разделять управление чатами, историю сообщений, отправку и загрузку файлов, проверяя участие пользователя в каждом чате.
Читать ответ →
System Design
26 окт 2026
Перед переключением сравнивайте ключевые пользовательские сценарии, ошибки и задержки старого и нового кабинета на сопоставимых группах.
Читать ответ →