# 1. 发现一个页面功能报错,如何系统化定位是前端、后端还是数据问题?请给出完整排查链路。 A 一旦报错就应直接改代码,无需定位 B 排查链路应逐层排除:先看请求与响应是否符合契约,再查后端日志与数据库数据,最后定位到代码 ✓ 正确答案 C 所有报错都一定是后端 bug D 数据问题与前端后端无关,无需排查
# 2. 如何通过日志(ELK/grep)与 traceId 追踪一次请求的全链路,定位缺陷根因? A traceId 每次请求都会变化,但只在单个服务内有效 B 日志只有纯文本才能用 traceId 检索 C 用 traceId 作为关联键,可把一次请求经过多服务的日志串联起来还原全链路 ✓ 正确答案 D traceId 只能定位 SQL 问题,无法定位业务异常
# 3. 移动端 App 前后端缺陷定位的特殊性,抓包代理、HTTPS 证书、弱网与缓存如何排查 A App 与 Web 的定位方法完全相同,无需额外处理 B App 内缓存不会影响功能 C 弱网问题只出现在 Web 端 D App 排查需处理证书信任、代理、SSL Pinning、弱网与缓存等特有变量,再结合抓包与日志定位 ✓ 正确答案
# 4. 接口返回正常但页面展示异常,可能的原因与验证方法有哪些? A 接口正常就说明页面一定正常 B 只可能是后端返回格式错误 C 问题多在渲染层,需核对接口返回数据与前端处理/状态管理/渲染逻辑是否一致 ✓ 正确答案 D 无需排查,刷新即可
# 5. 线上偶现 bug 无法复现时的定位思路(日志、监控、录屏、埋点回放)? A 偶现 bug 无法复现,只能放弃 B 偶现问题只能靠猜,无规律可循 C 通过日志、监控告警、录屏回放与埋点留痕,再归纳共性并主动诱发复现 ✓ 正确答案 D 录屏与埋点只对功能 bug 有用,对偶现问题无效
# 6. 前后端缺陷判定的标准流程,抓包(Network)、接口响应、页面渲染三个环节如何逐层定位? A 三层流程顺序可以任意颠倒 B 抓包层与渲染层无关,可跳过其一 C 只要接口响应正常就可判定为前端问题 D 依次检查请求是否发出、接口响应是否符合契约、页面渲染是否正常,逐层定位归属 ✓ 正确答案
# 7. 接口调用正常但页面显示异常的可能原因,前端渲染、缓存、CDN、状态管理如何排查? A 一定是状态管理问题 B 接口正常即可认定页面正常 C CDN 缓存不会影响页面显示 D 需依次排查前端渲染、状态管理、缓存与 CDN 旧资源,确认数据到位但展示链路出错 ✓ 正确答案
# 8. 前后端缺陷的划分,数据、逻辑与渲染? A 数据问题、逻辑问题、渲染问题都可以归为后端 B 渲染问题通常也属于后端 C 先验证数据是否错误,再验证处理逻辑,最后验证渲染,三层分别对应不同的根因与排查工具 ✓ 正确答案 D 数据正确就一定没有逻辑问题
# 9. 利用埋点与用户行为回放定位前端缺陷,事件流、网络请求与状态变更如何串联 A 埋点只能记录点击,无法记录请求与状态 B 按时间轴串联事件流、网络请求与状态变更,可还原操作过程并定位缺陷发生的一步 ✓ 正确答案 C 回放只能用于性能分析,无法定位 bug D 埋点回放会改变用户真实操作
# 10. 线上偶发问题的证据链收集,日志、监控、录屏、埋点回放如何组合还原现场? A 只要看日志就能还原所有现场 B 录屏与埋点只能用于功能问题 C 以异常时刻为锚点,把日志、监控、录屏、埋点回放按时间对齐,交叉验证还原完整现场 ✓ 正确答案 D 监控告警无法用于定位偶发问题
# 11. 前端错误监控与 sourcemap 还原,线上 JS 报错如何映射回源码定位缺陷? A sourcemap 对定位线上 JS 报错没有帮助 B 线上报错无法映射到源码,只能看压缩后的行号 C sourcemap 应随生产代码直接暴露给浏览器 D 通过 sourcemap 可把压缩混淆的报错映射回原始源码,配合监控平台定位缺陷 ✓ 正确答案
# 12. 四层二分定位法,如何在前端渲染、网络传输、后端逻辑与数据存储之间二分缩小缺陷范围,最小化排查时间? A 每次二分用一个客观判据排除一半可能,使排查从逐个遍历降为更少的判断 ✓ 正确答案 B 应从前端渲染到数据存储逐层都排查一遍再下结论 C 二分只能用于网络问题 D 判据凭主观经验即可,无需抓包或日志
# 13. 请求未发出或被缓存的定位,Service Worker、HTTP 缓存、请求拦截与脚本早退如何排查点击无反应类问题? A 点击无反应一定是后端接口问题 B 只要 Network 有请求就能说明功能正常 C Service Worker 不可能影响请求 D 需排查事件是否触发、请求是否发出、Service Worker/HTTP 缓存/拦截器是否拦截或使请求早退 ✓ 正确答案
# 14. 测试环境正常而生产环境异常的常见原因清单? A 一定是测试没测出来的代码 bug B 生产并发高不会导致异常 C 生产异常与测试环境无关,无需对比 D 常见原因包括配置/数据/缓存/并发/灰度/安全等环境差异,应逐项对比测试与生产 ✓ 正确答案
# 15. 如何区分数据问题与逻辑问题,接口返回错误数据 vs 前端处理逻辑错误,各自的排查工具与手段? A 接口返回错就一定是库内数据错 B 前端逻辑错误与接口返回无关 C 数据问题只能靠前端排查 D 先比对接口返回与数据库原始数据,再验证加工逻辑,接口数据对则问题在前端逻辑 ✓ 正确答案
# 16. 跨团队缺陷的责任判定与沟通,如何用证据(报文、截图、日志)推动前后端高效协作修复? A 用报文、截图、日志等证据与契约判定责任,并在缺陷单中提供复现步骤与证据推动协作 ✓ 正确答案 B 责任判定主要靠口头争论 C 跨团队缺陷无需统一记录 D 证据会拖慢修复,应直接改代码
# 17. 日志分级与日志规范对缺陷定位的影响,结构化日志、traceId 与上下文信息如何设计? A 结构化日志 + traceId + 上下文信息能让日志可检索、可串联、可定位,分级保障可信度 ✓ 正确答案 B 日志级别越高记录信息越多,应生产全程用 DEBUG C 日志无需规范,任意输出即可 D traceId 只对前端有用
# 18. 跨端(App/H5/小程序)缺陷定位的差异,各端调试工具与网络代理的配置差异? A App 用真机代理+证书,H5 用浏览器 DevTools,小程序用开发者工具,各端代理与证书处理不同 ✓ 正确答案 B 三端可用完全相同的调试工具与代理配置 C 小程序没有域名白名单限制 D 跨端问题表现一定相同
# 19. 接口慢的定位分工,如何从接口耗时分布(网络、应用、数据库)定位到慢 SQL 与锁,测试需要哪些权限与工具? A 接口慢一定是网络问题 B 慢 SQL 无法通过日志定位 C 把耗时拆成网络、应用、数据库三层,用慢查询日志与 EXPLAIN 定位慢 SQL 与锁,测试需相关权限与工具 ✓ 正确答案 D 测试无需数据库权限即可定位慢 SQL