跳到主要内容

工程化与构建交付 ✅

覆盖项目结构/多端适配、状态管理与模块化、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