Использовали ли логирование ошибок на проекте и какие инструменты
Что проверяют
Работали ли вы с ошибками в проде, а не только в DevTools, и понимаете ли, что без настройки такие инструменты дают шум вместо пользы. Следом спрашивают, как читали стек минифицированного кода и как отделяли важные ошибки от мусора.
Как отвечать
Опирайтесь на свой проект и держите каркас:
- инструмент: чаще всего Sentry, облачный или self-hosted, иногда совместимый с ним GlitchTip. Для записи сессий LogRocket или Session Replay в Sentry, в крупных компаниях встречаются Datadog RUM и Grafana Faro;
- что ловится: SDK подписывается на
window.onerrorиunhandledrejection, в React добавляют Error Boundary, во Vueapp.config.errorHandler. HTTP-ошибки отдельная история:fetchне отклоняет промис на 404 и 500, их отправляют сами; - source maps: загружаются в Sentry при сборке и привязываются к релизу, иначе стек указывает в первую строку минифицированного бандла. Публично их не выкладывают;
- контекст: версия релиза, маршрут, браузер, breadcrumbs с последними действиями и запросами, идентификатор пользователя без персональных данных;
- шум и объём:
beforeSendиignoreErrorsпротив ошибок из расширений браузера и чужих скриптов,sampleRateиtracesSampleRate, алерты только на новые и массовые ошибки.
Дальше один реальный случай: какая ошибка пришла, что было в стеке и breadcrumbs, как нашли причину. Метрику называйте, только если её действительно считали.
Если мониторинга на проекте не было, скажите честно: смотрели логи бэкенда и воспроизводили по описаниям пользователей. Затем расскажите, как настроили бы Sentry, это покажет понимание задачи.
Где спотыкаются
Подключают SDK без source maps. Ошибки собираются, но разобрать их нельзя, и через месяц в сервис никто не заходит.
Шлют всё подряд, включая console.log и предупреждения. Квота кончается, алерты превращаются в фон, настоящую ошибку никто не замечает.
Отправляют в сторонний сервис персональные данные: email, токены в URL, содержимое форм, запись сессии без маскирования полей. Для российских компаний это ещё и вопрос 152-ФЗ.