鸿蒙面试线路
[ 2025.4.22更新 ]
鸿蒙工程师学习线路(七阶段进化流)
🎯 目标:掌握 HarmonyOS 应用与系统开发所需技能,涵盖 OpenHarmony 架构、分布式能力、原生语言 ArkTS、应用框架与系统接口,具备独立开发鸿蒙端应用或设备驱动能力。
第一阶段:系统架构与发展认知
目标:理解鸿蒙系统的定位、构成与发展路线,避免一问三不知
1. 鸿蒙简介
- HarmonyOS(商用) vs OpenHarmony(开源)
- 面向全场景、全终端、全生态:手机、穿戴、TV、IoT
2. 系统架构
- 微内核架构:驱动分离、模块解耦
- 三层架构:内核层、基础服务层、应用框架层
- 核心特性:分布式软总线、元服务、方舟引擎
3. 面试常问
- 鸿蒙和安卓、iOS 最大的区别是?
- 微内核比宏内核好在哪?
第二阶段:开发环境与语言基础
目标:能搭建环境、写出 Hello World,不被 DevEco Studio 吓到
1. 开发语言选型
- ArkTS(方舟类型系统 TypeScript 超集)
- Java(部分兼容)、C/C++(底层模块)
2. 开发工具链
- DevEco Studio:鸿蒙官方 IDE
- OpenHarmony 编译构建流程:gn + ninja
- 模拟器 / 真机调试(HiSpark、Watch、Tablet)
3. 入门实战
- 创建鸿蒙项目,理解 UI 页面、逻辑控制结构
- 熟悉 UI 描述语言(类似前端 JSX 写法)
第三阶段:ArkTS 与 UI 开发
目标:掌握鸿蒙应用开发核心语言 ArkTS 与 UI 构建方式
1. ArkTS 语法体系
- 类型系统、组件生命周期、状态管理
- 事件绑定、条件渲染、组件通信
2. UI 构建
- 基础组件:Text, Button, Image, List, Scroll
- 自定义组件与复用
- 多设备适配(响应式布局)
3. 面试点
- ArkTS 与 TypeScript 的区别?
- 如何实现组件间的数据通信?
第四阶段:分布式能力与多端协同
目标:理解鸿蒙最具特色的分布式特性,掌握常见多端通信场景
1. 分布式技术核心
- 分布式调度:一次开发,多端部署
- 分布式数据管理:统一账号、统一文件系统
- 分布式 UI 组件流转:页面流转
2. 分布式能力 API
- DeviceManager:发现、连接设备
- ContinuationManager:页面/任务流转接口
- 文件同步、多端协作(如跨设备输入)
3. 面试必考
- 怎么实现从手机平板“拖一拖”页面就过去?
- 分布式软总线的工作原理?
第五阶段:系统能力、权限与设备接口
目标:掌握鸿蒙应用调用系统服务的方式与权限管理机制
1. 系统接口调用
- 媒体能力:拍照、相册、音频播放
- 网络能力:HTTP、Socket、蓝牙、NFC
- 设备能力:传感器、电池、定位、联系人
2. 权限机制
- 声明权限、动态请求
- 系统能力白名单与运行时授权机制
3. 面试常问
- 如何实现蓝牙配对与数据传输?
- 系统能力调用失败如何调试?
第六阶段:应用发布、模块化与组件化开发
目标:理解鸿蒙应用的打包机制,掌握模块拆分与组件通信策略
1. 模块与能力划分
- 应用结构:entry + feature module
- Ability(页面)与 ServiceAbility(后台服务)
2. 应用打包与发布
- HAP 包打包机制
- 安装包签名、权限配置、升级策略
- 应用市场发布流程(AppGallery)
3. 面试加分项
- 鸿蒙中的 FA 和 PA 有什么区别?
- 如何拆分一个大型应用为多个 feature 模块?
第七阶段:OpenHarmony 系统开发与设备适配
目标:面向系统层开发者,掌握驱动开发与底层配置流程
1. 编译系统
- OpenHarmony 编译架构(build/lite)
- 设备适配流程(build.json、config.json)
2. 驱动开发基础
- 外设驱动接口模型
- HAL 层通信机制
- 基于 Hi3861 等芯片开发实践
3. 面试挑战题
- OpenHarmony 怎么实现内核隔离?
- 如何开发一个适用于 IoT 设备的传感器驱动?
附录:面试高频问题 Top 10
- 鸿蒙系统和 Android 在底层架构上有哪些不同?
- 什么是 ArkTS?为什么不用 JS/Java?
- 如何实现一个“扫码-设备连接-控制”分布式功能?
- 页面如何在两个鸿蒙设备间流转?你调用了哪些接口?
- OpenHarmony 编译过程怎么走的?
- 鸿蒙的 UI 是原生还是 WebView 渲染?
- ServiceAbility 是常驻进程吗?怎么控制?
- 能否脱离 DevEco Studio 使用 VSCode 做开发?
- 鸿蒙的事件机制和 Vue/React 有哪些相似之处?
- 模拟器调试和真机调试遇到的问题有哪些?怎么排查?
推荐资料 & 工具
📘 官方文档:https://developer.harmonyos.com
🧠 代码实战平台:https://gitee.com/openharmony
🛠️ 开发工具:
- DevEco Studio、ArkTS语法插件、鸿蒙 SDK
- Hi3861/Hi3516 芯片实验板,适配设备测试用
📚 学习项目:
- 鸿蒙轻应用开发实战:计时器、记事本、蓝牙传输
- 多设备协同项目:分布式相册、音视频通话、小型 IoT 控制面板