大疆售后 RMS 系统重构 - Hard-Mode 面试题
覆盖:100+ 页面协作治理、工程化、低代码落地(Schema/渲染器/扩展)、大规模数据性能与稳定性
1. 大型项目协作与代码质量
- 100+ 页面多人协作:你认为“质量体系”的最小闭环是什么?
- 追问:只上 ESLint/Prettier 为什么不够?缺哪一环(评审、测试、发布门禁、回滚)?
- 你怎么设计“规则治理的分层”——哪些必须强制,哪些允许例外?
- 追问:如何避免“规则过严导致全员 disable”?
- Commitlint/语义化版本/变更日志:它们在交付里解决了什么具体问题?
- 追问:你怎么把它们和发布流水线、灰度回滚绑定起来?
- Code Review 你更看重什么:业务正确性、可维护性、性能、安全、可观测性?为什么?
- 追问:你会如何设计 review checklist?如何落地(工具/流程/培训)?
2. 低代码平台:架构与可扩展性(效率 +40%)
- “效率提升 40%”的计算口径是什么?如何避免统计偏差?
- 追问:是从需求到上线周期,还是页面搭建工时?对照组是什么?
- Schema(JSON Schema 或自定义 DSL)你如何设计?哪些字段必须内置,哪些必须可扩展?
- 追问:如何处理版本兼容(schema v1/v2)?
- 组件注册与动态渲染:如何实现“运行时可插拔”,且不会导致 bundle 失控?
- 追问:按需加载怎么做?如何避免所有物料一次性打进主包?
- 表单/表格配置化的“边界”在哪里?哪些场景你会果断退出低代码?
- 追问:复杂交互、跨字段联动、性能、可测试性分别怎么处理?
- 拖拽编辑器的数据流怎么设计?你如何保证画布状态、schema、预览三者一致?
- 追问:撤销/重做(undo/redo)怎么实现?性能怎么保障?
- 你如何设计“扩展点”:自定义组件、事件、校验、权限、埋点?
- 追问:扩展点过多会导致平台失控,你怎么治理?
3. 性能与稳定性:日均 1W+ 工单
- 你怎么定义前端“稳定性指标”?仅靠 Sentry 错误率够吗?
- 追问:白屏率、接口失败率、关键交互成功率、卡顿率如何做?
- 万级数据渲染:虚拟滚动的关键难点是什么?你遇到过哪些坑?
- 追问:动态高度、sticky header、跳转定位、选中状态、滚动同步怎么解决?
- 分页 vs 虚拟列表 vs 服务端聚合:你怎么选?
- 追问:如果用户要求“全量搜索/全量导出”,前端怎么设计?
- 请求防抖/节流你怎么落地?如何避免引入“请求丢失/状态错乱”?
- 追问:竞态条件(race condition)怎么处理?取消请求怎么做?
- 你如何处理“慢接口导致的交互卡顿”,并保证用户感知可控?
- 追问:乐观更新、骨架/占位、分片渲染、优先级调度如何组合?
4. 工程化与发布治理
- 你怎么把“质量门禁”接入 CI:哪些指标阻断发布,哪些只告警?
- 追问:性能回退如何自动化检测?
- 你如何设计灰度与回滚策略,确保大规模业务系统可控?
- 追问:按用户、按组织、按环境灰度?前端灰度开关如何实现?
- 依赖升级(如 UI 库/构建工具)你怎么评估风险并推进?
- 追问:如何做影响面分析、回归策略、分阶段上线?