Уведомления
Вопрос
Спроектируй уведомления: в приложении, по почте и push. Не раздражая пользователя.
Веди разговор вслух, как на секции. Начинать с решения - главная ошибка: первые полторы минуты только вопросы.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
уточнил типы событий, срочность и настройки пользователя
в приложении - подписка или опрос, счётчик непрочитанных
push требует разрешения: спрашивать в момент ценности, а не при входе
сервис-воркер получает push и показывает уведомление, даже если вкладка закрыта
дедупликация: одно событие не должно прийти и в приложении, и push, и почтой
группировка и ограничение частоты, чтобы не спамить
синхронизация прочитанного между устройствами
настройки каналов и возможность отключить
Что могут спросить следом
- Когда спрашивать разрешение на push?
- Как не прислать одно событие тремя каналами?
- Что делать, если пользователь запретил уведомления?
Разбор
Разделяем каналы по срочности: в приложении - всё, push - то, ради чего стоит отвлечь, почта - то, что переживёт задержку.
Про разрешение на push отдельно: запрос при первом входе - гарантированный отказ навсегда. Спрашивать надо в момент, когда ценность очевидна («сообщить, когда придёт ответ?»), и пережить отказ без поломки.
Дедупликация - то, что чаще всего забывают. Одно событие не должно прийти тремя каналами; нужна политика: push только если пользователь не в приложении, почта только если не прочитал за N минут.
Группировка и ограничение частоты: десять лайков - одно уведомление «10 новых». Без этого функция превращается в причину удалить приложение.
Прочитанное синхронизируется между устройствами: отметил на телефоне - счётчик в браузере обновился. Это подписка или опрос при возврате фокуса вкладки.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.