可观测性与埋点

共 23 题
#

1. 链路关联(TraceId、UserId、SessionId)与发布标记

A TraceId 与 SessionId 粒度相同,可以互换
B 发布标记只用于记录部署时间
C TraceId 关联请求、SessionId 关联会话、UserId 关联用户,配合 release 版本标记可支撑按用户/会话/版本的切片分析与回滚决策 ✓ 正确答案
D UserId 无需在登出时清除
#

2. 日志脱敏、采样、批量与重试策略

A 4xx 与 5xx 错误都应无限重试
B 脱敏应在业务代码各处分别实现
C 在 SDK 出口统一脱敏、按事件价值分层采样、批量压缩发送,重试采用指数退避且 4xx 不重试,并设队列上限与卸载兜底 ✓ 正确答案
D 采样率不影响聚合结果的统计意义
#

3. OpenTelemetry Collector + 后端(Jaeger/Tempo/Honeycomb)

A Collector 只能接收服务端数据,不支持前端
B 前端 SDK 必须直连 Jaeger 才能上报
C Collector 通过接收器-处理器-导出器架构汇聚多端 trace,统一采样、脱敏与重试后再分发到 Jaeger/Tempo/Honeycomb 等后端 ✓ 正确答案
D Collector 不做任何数据改写
#

4. OpenTelemetry JS(@opentelemetry/instrumentation-document-load)

A 它只能手动打点,无自动检测
B 它自动生成 navigation 与 resource span,零侵入采集页面加载性能,并与后端 trace 经 traceparent 贯通 ✓ 正确答案
C 资源 span 无法区分类型
D 它与 Web Vitals 数据完全重复,无需同时使用
#

5. 曝光/点击埋点的设计模式(声明式指令/属性驱动 vs 命令式调用)与各自适用场景

A 声明式埋点可以表达任意复杂逻辑,无需命令式
B 声明式(属性/指令驱动)适合通用交互、批量治理,命令式适合复杂事件携带上下文,两者共用统一 track 内核按场景分层使用 ✓ 正确答案
C 命令式埋点完全不可维护
D 埋点无需统一事件协议
#

6. sendBeacon 与 fetch keepalive 保证页面卸载时上报可靠性的机制与各自限制(体积、响应不可读)

A sendBeacon 可以读取服务端响应并自定义请求头
B 二者都由浏览器接管保证卸载期投递,但都有体积(约 64KB)限制且响应不可读,sendBeacon 不能自定义 header,需按场景选型并降级兜底 ✓ 正确答案
C 普通 fetch 在卸载时也能可靠完成
D keepalive 请求可以无限期存活
#

7. 埋点 SDK 架构,事件队列、批量上报、采样、失败重试与离线缓存的设计

A 每条事件都单独立即上报,不设队列
B 离线缓存无需清理,可无限增长
C 失败事件应无限重试直到成功
D 事件经"采样→队列批量→退避重试→离线持久化恢复"管道处理,设容量与 TTL 上限、4xx 不重试,卸载用 sendBeacon 兜底 ✓ 正确答案
#

8. 合成监控(Synthetic Monitoring)与 RUM 的互补

A 合成监控可控可复现,适合发布回归与可用性探测;RUM 反映真实分布,两者配合覆盖"主动验证+被动感知" ✓ 正确答案
B 合成监控能完全代表真实用户体验
C RUM 可以替代所有拨测场景
D 两种监控采集的数据完全一致
#

9. 告警分级(P0/P1/P2/P3)与 SLO/SLA 设计

A 告警按影响面/损失/时效分级,SLO 以错误率与 Web Vitals 分位等指标定义错误预算,预算消耗速率驱动告警升级,避免告警疲劳 ✓ 正确答案
B 告警级别只由错误数量决定
C SLO 与告警完全无关
D P0 告警可以任意触发,无需升级机制
#

10. navigation PerformanceEntry 与 Long Tasks API 的持续采集

A longtask 无法与交互事件关联
B 两类 entry 都是持续产生,采集方式相同
C navigation entry 每页只产生一条,需尽早注册并 buffered 读取;longtask 是持续流式数据,需常驻观察并聚合上报 ✓ 正确答案
D navigation entry 在 load 前即可读取完整字段
#

11. 前端数据收集的隐私合规边界(最小化/同意/删除)如何界定与落地?

A 最小化原则只适用于后端,前端采集无需考虑
B 合规落地需 consent 门控采集、URL 与字段脱敏、数据 TTL 与删除通道,并遵循最小化采集,避免影子采集 ✓ 正确答案
C 用户同意后即可无限期保存所有数据
D 设备指纹跨站追踪属于最小化采集
#

12. OpenTelemetry 在前端的浏览器端 SDK

A OTel 只能用于服务端
B instrumentation 无法自动拦截 fetch
C OTel 浏览器 SDK 由 provider、instrumentation、exporter 组成,通过 traceparent 传播上下文,与 Sentry 共存时需保证单一 trace 源避免 traceId 冲突 ✓ 正确答案
D OTel 与 Sentry 必须二选一
#

13. OpenTelemetry 自动检测(auto-instrumentation)

A 自动检测可以理解所有业务语义
B 自动检测不会产生任何性能开销
C 自动检测通过 patch 原生 API 生成网络/加载/交互 span,业务语义需手动打点补充,并配置忽略规则与采样控制数据量 ✓ 正确答案
D 自动检测覆盖所有第三方库的内部传输
#

14. IntersectionObserver 实现曝光埋点的工程实践(threshold 选择、去重、可见性判定)

A 元素只要进入视口一瞬就算曝光,无需去重
B threshold 只影响回调次数,不影响判定
C 用 threshold 与持续时长判定有效曝光、unobserve 去重、页面隐藏不计,并批量观察与降级兜底,是工程要点 ✓ 正确答案
D 曝光埋点必须为每个元素单独创建 observer
#

15. 埋点数据治理,事件 schema 管理、命名规范、版本化与灰度校验

A 通过集中 schema 管理、统一命名规范、版本化兼容演进与灰度校验流程,可保证埋点数据的长期质量 ✓ 正确答案
B 埋点字段可以随意增删,无需管理
C 破坏性字段变更可以随时全量上线
D 埋点无需 CI 校验
#

16. 无埋点/全埋点(autotrack)方案的工程价值与数据噪声边界

A 全埋点可以完全替代手动埋点
B 全埋点不存在隐私风险
C 全埋点记录的事件都带有完整业务参数
D 全埋点零接入覆盖广,但存在语义缺失、元素身份漂移、数据噪声与隐私风险,需过滤治理并与手动埋点混合使用 ✓ 正确答案
#

17. A/B 实验分流与埋点归因的数据一致性(实验组标识随事件上报、曝光时机记录)

A 实验标识可以在分析阶段反查补录
B 实验标识须在事件产生时随事件携带并持久化,曝光实验以可见时机为归因起点,配合分配版本处理分流调整,保证前后口径一致 ✓ 正确答案
C 曝光与点击可以用不同口径归因
D 分流比例调整后历史事件自动跟随新分组
#

18. 埋点反作弊与数据质量,设备指纹、会话重放与异常流量识别

A 埋点数据天然可信,无需反作弊
B 刷量流量对分析结果无影响
C 设备指纹可以无限期跨站追踪用户
D 用事件幂等去重、设备指纹与行为模式识别异常流量、分层存储并在核心指标剔除可疑数据,可保障数据可信度 ✓ 正确答案
#

19. OpenTelemetry Logs/Metrics 与 Sentry/Bugsnag Errors 在告警分级的工程取舍

A 所有监控数据都适合用同一种告警方式
B Metrics 适合阈值/SLO 告警,Errors 适合新增缺陷事件告警,Logs 提供详情,统一路由并去重可避免多渠道重复轰炸 ✓ 正确答案
C 错误告警可以完全替代指标告警
D 日志无需聚合即可直接告警
#

20. Trace Context(W3C traceparent)

A traceparent 只包含 trace-id 一个字段
B 前后端必须使用不同的 trace-id
C traceparent 含 version/trace-id/parent-id/flags,由前端生成并注入请求头、后端延续,sampled 标志决定 trace 是否采样保留 ✓ 正确答案
D tracestate 是 traceparent 的必填部分
#

21. 埋点与隐私合规(GDPR/个保法、consent 管理)的协作,敏感字段的最小化采集

A 用户同意一次后即可永久采集所有字段
B 敏感字段只要脱敏就可以全量采集
C 按 consent 分级门控采集,敏感字段按"不采集/脱敏/假名化"三档最小化处置,并提供删除与导出支持数据主体权利 ✓ 正确答案
D 合规要求只影响后端存储,不影响前端 SDK
#

22. 实时埋点管道(上报接入、Kafka 消费)与离线分析链路的分工

A 离线链路延迟更低,适合实时告警
B 实时链路支撑秒级告警与大盘,离线链路支撑深度分析,同源事件双路消费,前端上报需保证结构化与幂等 ✓ 正确答案
C 两条链路可以各自定义清洗口径
D 前端上报无需携带准确时间戳
#

23. 埋点验证与回归测试(debug 模式、日志回放、CI 中 schema 校验)的工程实践

A debug 模式做即时验证、录制回放与 E2E 断言做回归、CI 中 schema 校验阻断漂移,三层配合保障埋点质量 ✓ 正确答案
B 埋点发布后无需验证,出错再修
C schema 校验只能在后端执行
D 测试环境可以直连线上埋点网关