工程化与构建交付 ✅
覆盖项目结构/多端适配、状态管理与模块化、CI/CD、质量保障与监控。
项目结构与多端适配如何设计?
答案
核心概念:
按“领域/业务模块/通用能力”分层;平台差异通过适配器(Platform.OS)、代码拆分与依赖注入管理。
示例说明:
export const isIOS = Platform.OS === 'ios'
面试官视角:
- 要点清单: 分层与边界;差异收敛
- 加分项: 代码生成/模板;依赖治理
- 常见失误: 平台分支散落
延伸阅读:
- 官方平台差异指南
包体与资源如何优化与监控?
答案
核心概念:
减小 JS bundle、资源按需与格式优化、原生依赖精简;持续监控体积与阈值告警。
示例说明:
策略:代码拆分/动态加载/资源压缩
面试官视角:
- 要点清单: 体积来源拆解;监控
- 加分项: 产物审计;白名单
- 常见失误: 多架构全部打入
延伸阅读:
- Metro 文档
CI/CD 与自动化发布如何落地?
答案
核心概念:
流水线包含 Lint/TypeCheck → 单测 → 构建 → E2E → 发布;密钥安全与可回滚。
示例说明:
管道: GitHub Actions / Jenkins / CircleCI
面试官视角:
- 要点清单: 可重复/可审计/回滚
- 加分项: 多环境;差异化构建
- 常见失误: 密钥泄漏
延伸阅读:
- Fastlane/Gradle/Xcode Build
质量保障:测试体系如何搭建?
答案
核心概念:
Jest 单测、RNTL 组件测试、Detox E2E;关键链路与回归用例固化。
示例说明:
// RNTL 交互测试示意
面试官视角:
- 要点清单: 分层测试;稳定性
- 加分项: CI 并行;快照与可访问性
- 常见失误: 仅快照;E2E 不稳定
延伸阅读:
- Jest/RNTL/Detox
监控与稳定性如何设计?
答案
核心概念:
崩溃/错误/性能/网络统一上报;指标看板与阈值告警;灰度/回滚。
示例说明:
Sentry/Crashlytics + Flipper + 自建埋点平台
面试官视角:
- 要点清单: 指标体系;应急回滚
- 加分项: 端维度分析
- 常见失误: 只有 PV/UV
延伸阅读:
- Sentry/Crashlytics/Flipper