平时在面试时候每次都要准备很多,于是将平时遇见的最常见的面试题做一下汇总,方便自己查看,后面也会持续更新中。

1、鸿蒙中应用、UIAbility、窗口、页面、组件之间的关系,页面和自定义组件生命周期有哪些?

这个可以参考自己写的博文:鸿蒙中应用、UIAbility、窗口、页面、组件之间的关系

2、鸿蒙中的状态管理有哪些

参考博文:鸿蒙中状态管理HarmonyOs中一些状态装饰器

3、鸿蒙中的存储有哪些

参考博文:鸿蒙中LocalStorage和AppStorage用法

4、鸿蒙中怎么数据持久化?

  • 用户首选项(Preferences):这是一种轻量级的配置数据持久化方式,适用于保存应用配置信息、用户偏好设置等。它通过文本形式保存数据,并且数据会全量加载到内存中,因此访问速度快,但不适合存储大量数据。
  • 键值型数据库(KV-Store):适用于存储结构简单的数据,如商品名称和价格、员工工号和出勤状态等。键值型数据库以“键值对”的形式组织数据,适合数据关系不复杂的场景。
  • 关系型数据库(RelationalStore):基于SQLite,适用于存储包含复杂关系的数据,如学生信息、雇员信息等。关系型数据库提供了一系列SQL操作,如增删改查等。

5、@style和@extent的区别

1、@style是将重复性多样式提炼成一个方法,以便在重复性调用。

2、他仅支持公共属性和通用事件,例如width,background等,文本特有属性不支持,例如text的fontSize,fontColor等

3、他不支持入参

4、他可以定义成全局函数也可以定义成局部函数,局部属性函数需要添加this调用,全局需要添加function关键字

5、优先级局部大于全局,他会先去找局部函数,再去找全局函数

@extent仅支持全局定义,不支持局部定义,

支持封装指定组件的私有属性,指定事件和自身定义的全局方法,当然,他也支持传递参数

@Extend(Text) 

function makeTextStyle({

 .width("100%") 

.fontSize(30) 

.fontColor("#f22") } 

Column() { 

Text("文本组件样式") 

.makeTextStyle()

 } 

.height("100%") 

.width("100%")

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐