当前位置: 首页 > news >正文

HarmonyOS-面试整理

目录

    • 为什么选择HarmonyOS/ 优点/特点
    • 鸿蒙系统的权限有哪些
    • 说一说鸿蒙系统的安全机制
    • 说一说鸿蒙系统的微内核与安卓的内核区别
    • 鸿蒙操作系统的微内核架构有哪些优势
    • 分布式能力在鸿蒙系统中如何实现
    • 请解释一下鸿蒙系统中的分布式软总线技术
    • 如何在鸿蒙操作系统中进行多设备协同开发?
    • 鸿蒙操作系统如何保障系统的安全性?
    • 请描述一下鸿蒙操作系统的用户界面开发框架
    • 鸿蒙操作系统支持哪些编程语言
    • 请解释一下鸿蒙操作系统的IDE--DevEco Studio
    • 请简述鸿蒙操作系统的任务调度机制
    • 鸿蒙操作系统如何处理多任务并发
    • 请描述一下鸿蒙操作系统的文件系统
    • 鸿蒙操作系统如何支持开发者进行应用调试
    • 请解释一下鸿蒙系统的能效管理机制
    • 鸿蒙操作系统如何处理权限管理?
    • 请描述一下鸿蒙操作系统的更新机制
    • 鸿蒙操作系统如何支持国际化和本地化
    • 请解释一下鸿蒙操作系统的开发者社区和支持资源
    • 鸿蒙操作系统如何促进开发者生态建设?
    • 鸿蒙系统各设备之间如何通讯的
    • 服务与卡片
    • ForEach与LazyForEach的区别
    • 什么是HAP
    • HAR与HSP的区别
    • 组件开发原理和实现思路
    • Stage模型与FA模型的区别
    • 说一下MVVM模式
    • UIAbility的生命周期
    • 组件的生命周期
    • 鸿蒙网络请求如何实现的,如何做流量控制
    • 请解释 ArkTS 语言中的属性装饰器(@Prop、@State 等)的作用和使用场景。
    • 如何在 ArkTS 中实现组件之间的通信?请举例说明。
    • ArkTS 与传统 JavaScript 在语法和编程模式上有哪些主要区别?
    • 什么是组件化开发?在鸿蒙应用中,如何实现组件的复用和独立维护?
    • 鸿蒙中的状态管理有哪些
    • 鸿蒙中的持久化有哪些
    • 系统上架步骤
    • 线程: worker,taskPool(3分钟内)
    • 多端适配
    • 如何引用第三方库(只有HAR)
    • 分层架构设计和模块化设计的区别

为什么选择HarmonyOS/ 优点/特点

1.在国家方面,是国产的系统,受国家支持不会有限制的情况。
2.设备互连1+8+N(1:手机 8:平板、PC、vr设备、可穿戴设备、智慧屏、耳机、AI音箱、车机 N:可延伸的设备和服务)
3.数据共享,万物互联。
4.未来的发展的前景。特点:
跨平台能力,基于微内核设计,提供分布式能力,强调安全性,以及面向未来全场景的无缝体验。

鸿蒙系统的权限有哪些

1.按权限等级划分:normal(普通应用权限):可以访问相机、wifi信息等,权限较为基础,对用户隐私和系统安全的影响较小。system_basic(特殊应用权限):能够访问用户身份认证等资源,此类权限的风险程度相对较高,需要更严格的管理和控制。system_core(系统应用权限):可访问所有系统资源,但通常只有系统核心组件和经过严格严格审核的关键应用才会被授予该等级的权限。2.按授权方式划分:system_grant(系统授权):只需要在配置文件中进行相应配置,系统默认授权,不需要用户手动干预。如:网络授权。user_grant(用户授权):应用需要在配置文件中进行配置,并且要在对应的功能调用前是否授权。如相机权限3.常见的权限:设备权限:相机权限、麦克风权限、通讯录权限、位置权限、存储权限。网络权限:wifi权限、移动网络权限。传感器权限:加速度传感器权限、陀螺仪传感器权限、光线传感器权限其他权限:振动权限、通知权限、悬浮窗权限

说一说鸿蒙系统的安全机制

一、系统架构安全
(1)微内核架构:鸿蒙采用微内核架构,内核仅保留最基础的系统服务,如多线程的调度、多线程通信等,其他系统服务在用户态实现。
这种架构减少了内核的代码量,降低了内核被攻击的风险,同时也便于对系统服务进行独立的管理和更新,提高了系统的稳定性和安全性。
(2)分布式架构:鸿蒙的分布式架构支持设备之间的安全通讯和协同工作。在设备互联时,通过加密和认证等技术,确保数据在传输过程中的安全性和完整性,防止数据被窃取和篡改。
如:手机和智能家电进行交互时,数据传输会经过加密处理,保障用户的隐私和设备的安全。

二、权限管理安全
(1)细粒度权限控制:鸿蒙系统提供完善的应用权限管理功能,能够对应用的权限进行细粒度的控制。用户可以根据应用的实际需求,灵活的授予或者拒绝应用的各种权限,如:相机权限、麦克风权限、位置权限等,从而有效防止应用过度获取用户数据,保护用户的隐私安全。
(2)权限动态管理:权限的授予并非一成不变,鸿蒙系统支持权限的动态管理。
例如:当应用在后台运行时,系统可以自动限制其部分权限的使用,当应用重新回到前台并需要相应权限时,再动态授权其权限,确保应用在不同的运行状态下都能以最小化的权限获取所需资源,进一步降低安全风险。

三、数据加密安全
(1)用户数据加密:鸿蒙系统对用户的重要数据进行加密存储。无论是本地存储的数据还是设备间的传输数据,都采用加密算法进行加密处理。即使数据被非法获取,攻击者也无法直接读取其中的内容,从而保障了用户数据的保密性和安全性。
(2)文件加密:系统支持对文件进行加密,用户可以选择对敏感文件进行加密存储,只有在通过身份验证后才能解密和访问这些文件,为用户的个人文件和隐私信息提供了更高级别的保护。

四、安全启动与认证
(1)安全启动:在设备启动过程中,鸿蒙系统会进行安全启动校验,确保系统的完整性和合法性。只有经过数字签名认证的系统镜像和内核才能被正常启动,防止设备被植入恶意软件或非法篡改系统,从源头保障系统的安全运行。
(2)身份认证:对于对设备互联和用户登录等场景,鸿蒙系统支持多种身份认证方式,如密码认证、指纹认证、面部识别等。通过这些强身份机制,确保只有合法的用户或设备能够访问相应的资源和服务,增强了系统的安全性和可靠性。

五、应用安全管理
(1)应用审核上架:鸿蒙应用商店对上架的应用进行严格的审核,确保应用的合法性和安全性。审核过程中会检查应用是否存在恶意代码、是否符合安全规范等,只有通过审核的应用才能在应用商店中上架供用户下载和使用,有效防止恶意应用进入用户的设备。
(2)应用运行时监控:系统在应用运行时会对其进行监控,实时监测应用的行为是否异常。一旦发现应用存在异常行为,如私自获取用户数据、篡改系统设置等,系统会及时发出警告并采取相应的措施,如限制应用的权限或者直接终止应用的运行,保障用户设备的安全。

六、隐私保护增强
(1)隐私权限管理:鸿蒙系统重新定义并取消了通话记录、短信、电话、读取已安装应用列表等9类不合理的权限,降低了用户的隐私管理成本,从根源减少了隐私泄露的风险,把隐私控制权真正还给用户。
(2)安全访问机制:例如在需要扫码的应用中,用户在扫码拍照的操作中,应用智能获得本次的扫码结果,无需将使用相机拍照的权限交给该应用,进一步细化和增强了对用户隐私数据的保护。

说一说鸿蒙系统的微内核与安卓的内核区别

鸿蒙系统使用的微内核架构,内核仅保留必要的基础系统服务(如:任务管理、内存分配)
安卓系统采用的是Linux内核,其内核包含了操作系统绝大多数的功能和模块,且这些功能和模块都具有最高权限。优点是系统开发难度低,但一个模块出错,整个系统就可能崩溃,稳定性相对较弱。

鸿蒙操作系统的微内核架构有哪些优势

微内核架构优势包括:
更高的安全性:因为服务之间的隔离性更强
更好的可扩展性:因为可以按需添加或者删除服务
更易于维护和更新

分布式能力在鸿蒙系统中如何实现

鸿蒙操作系统通过分布式软总线,分布式数据管理、分布式任务调度等技术实现跨设备的无缝协作和数据共享。

请解释一下鸿蒙系统中的分布式软总线技术

分布式软总线是一种通信机制,允许不同设备之间进行低延迟、高效率的数据传输和通信,实现折本间的协同工作

如何在鸿蒙操作系统中进行多设备协同开发?

开发者可以使用华为提供的开发工具和sdk,如:DevEco Studio,进行多设备协同开发,实现一次开发,多端部署的目标。

鸿蒙操作系统如何保障系统的安全性?

鸿蒙操作系统采用的是,微内核设计,实现了操作系统的服务隔离,减少了单点故障的风险。
同时,还引入了安全启动、数据加密等多重安全机制。

相关文章:

HarmonyOS-面试整理

目录 为什么选择HarmonyOS/ 优点/特点鸿蒙系统的权限有哪些说一说鸿蒙系统的安全机制说一说鸿蒙系统的微内核与安卓的内核区别鸿蒙操作系统的微内核架构有哪些优势分布式能力在鸿蒙系统中如何实现请解释一下鸿蒙系统中的分布式软总线技术如何在鸿蒙操作系统中进行多设备协同开发…...

[C#] 「Unity」「游戏开发」如何在Canvas下的Button控件下实例化Image元素

在开发过程中,经常需要在UI上动态添加元素。特别是在Unity中,Canvas控件通常用来作为UI元素的容器,而Button控件则常用于交互。而在某些情况下,我们可能需要在一个Button下实例化一个Image元素,并确保它的位置与Button的位置保持一致。然而,简单地使用Button的坐标值往往…...

Nginx1.20.2-Linux-安装

文章目录 1.下载压缩包1.官网下载2.找到1.20.23.百度网盘 2.Linux安装1.搭建gcc环境2.上传到 /usr/local/nginx1.20.23.解压1.解压到当前目录2.删除压缩包 4.配置Nginx的编译路径1.进入nginx-1.20.22.执行内部的脚本,指定编译路径为/usr/local/nginx 5.编译并安装6.…...

Elasticsearch名词解释

文章目录 1.什么是Elasticsearch?2.什么是elastic stack(ELK)?3.什么是Lucene?4.什么是文档(document)?5.什么是词条(term)?6.什么是正向索引?7.什么是倒排索引?8.ES中的索引(index)9.映射(Mapping)10.DSL11.elastcisearch与my…...

Node项目——从0开始构建且共享至Gitee

从0开始构建一个Node.js项目涉及多个步骤,包括设置开发环境、初始化项目、安装依赖、编写代码以及配置版本控制等。以下是一个详细的步骤指南: 1. 安装Node.js和npm 首先,确保你已经安装了Node.js和npm(Node Package Manager&am…...

layui多图上传,tp8后端接收处理

环境:layui2.9.21\thinkphp8.1 前端代码: layui.use([upload, layer], function() {const upload layui.upload;const layer layui.layer;const $ layui.$;// 上传图片const uploadInstImage upload.render({elem: #uploadImage,url: /admin/demo/…...

QEMU网络配置简介

本文简单介绍下qemu虚拟机网络的几种配置方式。 通过QEMU的支持,常见的可以实现以下4种网络形式: 基于网桥(bridge)的虚拟网络。基于NAT(Network Addresss Translation)的虚拟网络。QEMU内置的用户模式网…...

28.Marshal.PtrToStringAnsi C#例子

//怎么说呢,这个代码Marshal的英文意思有将军,控制等等, //我的理解是类似于console控制台。 //然后后面这个Ansi是一种ASCII的扩展,还有其他编码方式可选 就是一个把后面的指针转化为字符串的一个代码 这是用法…...

基于feapder爬虫与flask前后端框架的天气数据可视化大屏

# 最近又到期末了,有需要的同学可以借鉴。 一、feapder爬虫 feapder是国产开发的新型爬虫框架,具有轻量且数据库操作方便、异常提醒等优秀特性。本次设计看来利用feapder进行爬虫操作,可以加快爬虫的速率,并且简化数据入库等操作…...

Linux隐藏登录和清除历史命令以及其他相关安全操作示例

隐藏登录 ssh -T rootxxx.xxx.xxx.xxx /bin/bash -i 命令拆解-T :告诉ssh客户端,不要分配一个TTY(伪终端)root :连接用户xxx.xxx.xxx.xxx :连接的服务器ip地址/bin/bash :在远程服务器上启动…...

从授权校验看SpringBoot自动装配

背景 最近需要实现一个对于系统的授权检测功能,即当SpringBoot应用被启动时,需要当前设备是否具有有效的的授权许可信息,若无则直接退出应用。具体的实现方案请继续看下文。 环境 Ruoyi-Vue SpringBoot3 RuoYi-Vue: 🎉 基于Spr…...

tensorboard的界面参数与图像数据分析讲解

目录 1.基础概念: (a)精确率与召回率: (b)mAP: (c)边界框损失: (d)目标损失: (e)分类损失: (f):学习率: 2.设置部分(最右边部分): GENERAL(常规设置…...

MTK 平台关于WIFI 6E P2P的解说

一 前言 官方 P2P 6E 设计原理,请查看这个网站 hostap - hostapd/wpa_supplicant 配置:p2p_6ghz_disable 允许上层指定是否允许6G连接 仅允许6G用于WFD –不允许6G用于纯P2P 缺点:存在很多 IOT issues 如:一些物联网设备无法识别6G类/信道,可能存在物联网问…...

离线语音识别+青云客语音机器人(幼儿园级别教程)

1、使用步骤 确保已安装以下库: pip install vosk sounddevice requests pyttsx3 2、下载 Vosk 模型: 下载适合的中文模型,如 vosk-model-small-cn-0.22。 下载地址: https://alphacephei.com/vosk/models 将模型解压后放置在…...

leetcode hot 100 跳跃游戏

55. 跳跃游戏 已解答 中等 相关标签 相关企业 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则…...

陪诊陪护助浴系统源码:JAVA养老护理助浴陪诊小程序医院陪护陪诊小程序APP源码

JAVA养老护理助浴陪诊小程序及医院陪护陪诊APP:打造智慧养老新生态 在人口老龄化日益加剧的当下,养老护理服务的需求日益增长,而传统的养老服务模式已难以满足日益多样化的需求。为此,我们基于JAVA技术栈,精心打造了一…...

怎么在家访问公司服务器?

在日常工作中,特别是对信息技术从业者而言,工作往往离不开公司的服务器。他们需要定期访问服务器,获取一些关键的机密文件或数据。如果您在家办公,并且需要处理未完成的任务,同时需要从公司服务器获取所需的数据&#…...

asp.net core框架搭建4-部署IIS/Nginx/Docker

文章目录 系列文章一、Linux上部署Nginx1.1 Centos 安装配置环境1.2 使用Systemctl 控制Nginx 二、部署IIS三、部署Docker3.1 创建 Dockerfile 文件3.2 构建 Docker 镜像3.3 运行 Docker 容器3.4 检查容器运行情况 结束语 作者:xcLeigh 文章地址:https:/…...

ubuntu中zlib安装的步骤是什么

参考:https://www.yisu.com/ask/40496522.html 在Ubuntu中安装zlib的步骤如下: 打开终端,输入以下命令更新包列表: sudo apt update复制代码 安装zlib库和开发文件: sudo apt install zlib1g zlib1g-dev复制代码 安装完成后&a…...

代码随想录算法训练营第二十天-二叉树-669. 修剪二叉搜索树

对于递归的写法除了大写的服字&#xff0c;无话可说由于是修剪二叉树&#xff0c;所以会有明确的方向性当某一结点小于最小值&#xff0c;说明其左子树全部要修剪掉当某一结点大于最大值&#xff0c;说明其右子树全部要修剪掉 #include <iostream>struct TreeNode {int …...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...