2024鸿蒙开发面试题

1.项目中你写过放截屏功能吗?能具体说说怎么写的吗?

答:写过,官方有api  setWindowPrivacyMode设置窗口是否为隐私模式,设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。此接口可用于禁止截屏/录屏的场景。只需要后台给我们标识此页面是否需要截屏,然后设置这个方法即可。

2.Image组件加载的图片,如何缓解图片在缩放时的锯齿问题?

答:设置图片的插值效果属性Image中的interpolation,即缓解图片在缩放时的锯齿问题。

3.你如何获取组件宽高和组件在屏幕上的位置?

答:方法一:可以通过getInspectorByKey获取指定id组件的所有属性,getInspectorByKey的返回结果是组件属性列表的JSON字符串,解析字符串后获取其rect属性,rect属性是一个长度为2的数组,数组的第一个值是组件左上角的坐标,第二个值是组件右下角的坐标,因此我们也可以获取组件的中心坐标和组件的长宽

方法二:在组件尺寸发生变化时,需要使用onAreaChange可以响应由布局变化所导致的组件大小、位置发生变化时的回调,其中newValue返回目标元素变化之后的宽高以及目标元素相对父元素和页面左上角的坐标位置。

4.routerNavigation的技术选择你会选哪个?

答:在不涉及复杂动效、交互、多级路由等场景时,可以使用router。

但考虑到应用当前或以后可能出现的复杂场景,以及整体交互体验的一致,推荐使用Navigation,Navigation可以完全替换router的能力。

5.Builder装饰器有了解吗?干什么用的?

答:Builder装饰器,也称为“自定义构建函数”。自定义构建函数可以在所属组件的build方法和其他自定义构建函数中调用,但不允许在组件外调用,Builder所装饰的函数遵循build()函数语法规则,开发者可以将重复使用的UI元素抽象成一个方法,在build方法里调用。

6.你项目中图文混排怎么实现的?有啥方案?

答:方案一:轻量级Span&ImageSpan图文混排:可通过Text组件中嵌套ImageSpan子组件和Span子组件的方式,实现图文混排的方案。

方案二:富文本RichEditor支持图文混排和文本交互式编辑,通过addTextSpan()方法添加文本内容,通过addImageSpan()方法添加图片内容。

7.分组列表的吸顶和吸底效果怎么实现?

答:可通过List组件的sticky属性配合ListItemGroup组件来实现。通过给List组件设置sticky属性为StickyStyle.Header/StickyStyle.Footer

8.List能实现Grid九宫格效果吗?如何实现?

答:能,给List组件设置List组件的lanes属性,可设置List组件在交叉轴按几列布局 就能达到效果。

你可能感兴趣的:(鸿蒙ArkTS,harmonyos,华为,面试题,开发,鸿蒙)