问题和通俗易懂的答案,覆盖鸿蒙开发的核心知识点和实际场景,方便面试时快速评估候选人能力:
一、基础概念(必问)
-
鸿蒙和安卓最大的区别是什么?举个实际例子。
答案:鸿蒙是“分布式操作系统”,比如你可以用手机操控电视、手表联动,数据自动同步(比如手机导航流转到车机),安卓做不到这种跨设备协作;另外鸿蒙系统更轻量,适合智能家居等小内存设备。 -
鸿蒙的HAP包是什么?分哪几种?
答案:HAP就是鸿蒙的应用安装包,类似安卓的APK。分三种:- Release包(.hap):正式发布用,删除了调试信息;
- Debug包(.hap.debug):测试用,带日志;
- Preview包(.hap.preview):临时测试用,不能上架。
-
鸿蒙的“微内核”是什么?为什么用这个设计?
答案:微内核只保留最基础的功能(比如任务调度),其他功能(比如文件系统)独立运行。好处是更安全(一个模块崩溃不影响整体)、系统更稳定,适合物联网设备。
二、开发技能(重点考察)
-
鸿蒙的页面和组件生命周期有哪些?
答案:- 页面生命周期:
onPageShow
(显示)、onPageHide
(隐藏)、onBackPress
(返回键); - 组件生命周期:
aboutToAppear
(创建前)、aboutToDisappear
(销毁前)。
- 页面生命周期:
-
父子组件怎么传值?兄弟组件呢?
答案:- 父传子:用
@Prop
(单向,子改不了父)或@Link
(双向,子能改父); - 子传父:通过父组件定义的方法回调;
- 兄弟组件:通过共同的父组件中转,或者用全局状态管理(比如AppStorage)。
- 父传子:用
-
如何保存用户的登录状态?
答案:- 小数据用
Preferences
(类似安卓的SharedPreferences); - 大数据用
KV-Store
键值数据库; - 复杂数据用
Rela
- 小数据用