Ответ вслух Middle System design на фронте обновлено

Уведомления

Вопрос

Спроектируй уведомления: в приложении, по почте и push. Не раздражая пользователя.

Веди разговор вслух, как на секции. Начинать с решения - главная ошибка: первые полторы минуты только вопросы.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Разделяем каналы по срочности: в приложении - всё, push - то, ради чего стоит отвлечь, почта - то, что переживёт задержку. Про разрешение на push отдельно: запрос при первом входе - гарантированный отказ навсегда.

Что должно прозвучать в ответе

  • уточнил типы событий, срочность и настройки пользователя

  • в приложении - подписка или опрос, счётчик непрочитанных

  • push требует разрешения: спрашивать в момент ценности, а не при входе

  • сервис-воркер получает push и показывает уведомление, даже если вкладка закрыта

  • дедупликация: одно событие не должно прийти и в приложении, и push, и почтой

  • группировка и ограничение частоты, чтобы не спамить

  • синхронизация прочитанного между устройствами

  • настройки каналов и возможность отключить

Что могут спросить следом

  • Когда спрашивать разрешение на push?
  • Как не прислать одно событие тремя каналами?
  • Что делать, если пользователь запретил уведомления?

Разбор

Разделяем каналы по срочности: в приложении - всё, push - то, ради чего стоит отвлечь, почта - то, что переживёт задержку.

Про разрешение на push отдельно: запрос при первом входе - гарантированный отказ навсегда. Спрашивать надо в момент, когда ценность очевидна («сообщить, когда придёт ответ?»), и пережить отказ без поломки.

Дедупликация - то, что чаще всего забывают. Одно событие не должно прийти тремя каналами; нужна политика: push только если пользователь не в приложении, почта только если не прочитал за N минут.

Группировка и ограничение частоты: десять лайков - одно уведомление «10 новых». Без этого функция превращается в причину удалить приложение.

Прочитанное синхронизируется между устройствами: отметил на телефоне - счётчик в браузере обновился. Это подписка или опрос при возврате фокуса вкладки.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.