HarmonyOS-面试资料

news2025/3/10 15:19:32

1. HarmonyOS-面试资料

1.1. HarmonyOS 优点、特点

1.1.1. 优点

  (1)在国家方面,是国产的系统,受国家支持不会有限制的情况。
  (2)设备互连1+8+N(1:手机 8:平板、PC、vr设备、可穿戴设备、智慧屏、耳机、AI音箱、车机 N:可延伸的设备和服务)
  (3)数据共享,万物互联。
  (4)未来的发展的前景。

1.1.2. 特点

  跨平台能力,基于微内核设计,提供分布式能力,强调安全性,以及面向未来全场景的无缝体验。

1.2. 鸿蒙系统的权限有哪些

1.2.1. 按权限等级划分

	normal(普通应用权限):可以访问相机、wifi信息等,权限较为基础,对用户隐私和系统安全的影响较小。
	system_basic(特殊应用权限):能够访问用户身份认证等资源,此类权限的风险程度相对较高,需要更严格的管理和控制。
	system_core(系统应用权限):可访问所有系统资源,但通常只有系统核心组件和经过严格严格审核的关键应用才会被授予该等级的权限。

1.2.2. 按授权方式划分

	system_grant(系统授权):只需要在配置文件中进行相应配置,系统默认授权,不需要用户手动干预。如:网络授权。
	user_grant(用户授权):应用需要在配置文件中进行配置,并且要在对应的功能调用前是否授权。如相机权限

1.2.3. 常见的权限

	设备权限:相机权限、麦克风权限、通讯录权限、位置权限、存储权限。
	网络权限:wifi权限、移动网络权限。
	传感器权限:加速度传感器权限、陀螺仪传感器权限、光线传感器权限
	其他权限:振动权限、通知权限、悬浮窗权限

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

1.3.1. 系统架构安全

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

1.3.2. 权限管理安全

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

1.3.3. 权限管理安全数据加密安全

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

1.3.3. 安全启动与认证

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

1.3.5. 应用安全管理

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

1.3.6. 隐私保护增强

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

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

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

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

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

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

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

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

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

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

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

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

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

1.10. 请描述一下鸿蒙操作系统的用户界面开发框架

  鸿蒙操作系统的用户界面开发框架是基于Java的ArkUI框架,它提供了一套丰富的UI组件和布局方式,支持开发者快速构建美观、流畅的用户界面。

1.11. 鸿蒙操作系统支持哪些编程语言

  鸿蒙操作系统主要支持Java、c/c++以及javaScript等编程语言进行应用开发。

1.12. 请解释一下鸿蒙操作系统的IDE–DevEco Studio

  是华为为鸿蒙操作系统量身打造的集成开发环境,提供了代码编辑、调试、性能监控、应用分析等一系列开发工具、帮助开发者提高开发效率。

1.13. 请简述鸿蒙操作系统的任务调度机制

  鸿蒙操作系统的任务调度机制是基于微内核,它可以根据任务的优先级和资源需求,智能地在不同设备间调度任务,实现资源的最优分配。

1.14. 鸿蒙操作系统如何处理多任务并发

  鸿蒙操作系统通过微内核架构和先进的调度算法,实现了高效的多任务并发处理,保证了系统的流畅性和响应速度。

1.15. 请描述一下鸿蒙操作系统的文件系统

  鸿蒙操作系统的文件系统是面向分布式场景设计的,支持多设备间的文件共享和同步,提供了高效、可靠的数据存储能力。

1.16. 鸿蒙操作系统如何支持开发者进行应用调试

  鸿蒙操作系统提供了一系列的测试工具和服务,如模拟器、性能分析工具等,帮助开发者进行全面的应用测试和优化。

1.17. 请解释一下鸿蒙系统的能效管理机制

  鸿蒙操作系统通过智能调度、资源管理机制,优化了系统的能效表现,延长了设备的使用时间。

1.18. 鸿蒙操作系统如何处理权限管理?

  鸿蒙操作系统采用了严格的权限管理策略,确保应用只能访问授权的数据和服务,保护用户的隐私和数据安全。

1.19. 请描述一下鸿蒙操作系统的更新机制

  鸿蒙操作系统支持无缝更新,可以在不影响用户使用的情况下,自动下载并安装系统更新,确保系统的安全性和最新性。

1.20. 鸿蒙操作系统如何支持国际化和本地化

  鸿蒙操作系统提供了强大的国际化和本地化支持,允许开发者轻松地为不同地区和语言的用户提供定制化的服务和体验。

1.21. 请解释一下鸿蒙操作系统的开发者社区和支持资源

  华为为鸿蒙操作系统建立了一个活跃的开发者社区,提供了丰富的文档、教程、论坛等资源,帮助开发者解决问题和提升技能。

1.22. 鸿蒙操作系统如何促进开发者生态建设?

  华为通过提供开发工具、技术支持、开发者大会、合作伙伴计划等多种方式,鼓励和支持开发者参与鸿蒙操作系统的生态建设,共同推动产业发展。

1.23. 鸿蒙系统各设备之间如何通讯的

1.23.1. 简答:

  开发者可以使用鸿蒙操作系统提供的分布式能力API,如:分布式软总线API,实现设备间的通信和数据传输。

1.23.2. 复杂:

  一、基于分布式软总线通讯
(1)发现连接:分布式软总线提供了基于多种通讯方式如:wifi、蓝牙等设备发现连接能力。
(2)设备组网:它还具备统一的设备组网和拓扑管理能力,能为数据传输提供已组网设备的相关信息,确定设备之间的连接关系和数据传输路径,从而实现多设备的协同组网。
(3)数据传输:在建立连接和组网后,分布式软总线提供了数据传输通道,支持消息、字节、流、文件等多种数据类型的传输,满足不同设备间的不同业务场景的数据交互需求,业务方只需要使用其提供的API就能实现设备间的高速通信,无需关心具体的通信细节。

  二、通过网络协议通讯
(1)基于Socket的TCP/IP通信:Socket是一种提供网络通信能力的编程接口,鸿蒙系统中的设备可以利用ohos.net.Socket类来建立两个设备之间的网络连接,并在连接上进行数据的读写操作,实现设备间的可靠数据传输。
(2)基于HTTP协议的RESTFUL接口调用:设备间可以通过发送HTTP请求和接收HTTP响应来进行通讯。
  三、借助云端服务器通讯
(1)即时通讯应用:在一些即时通讯场景中,多台终端设备通过安装相应的应用,并向云端服务器申请账号。用户编辑信息后,通过网络将消息发送至云端服务器,服务器在根据接收放的状态决定是立即推送消息还是暂时缓存。
(2)数据同步与共享:设备可以将数据上传至云端服务器进行存储和管理,其他设备在需要时从云端获取数据,从而实现数据在不同设备间的同步和共享,保证各设备上的数据一致性和最新性。

1.24. 服务与卡片

1.24.1. 元服务卡片和ArkTS卡片有什么相同点与不同点,各自的适用场景是怎么样的。

元服务卡片(Meta Service Card)和ArkTS卡片都是使用ArkTS语言开发的,它们在功能和用途上有一些相似之处,也存在一些不同。

1.24.1.1. 相同点:

  开发语言:两者都是使用ArkTS语言进行开发,提供了声明式的UI构建方式和组件化开发体验。
  界面设计:它们都支持使用华为的ACE (Ability Cross-platform Environment) 设计语言,实现一致的用户界面风格。
  跨设备使用:无论是元服务卡片还是ArkTS卡片,都可以在多种鸿蒙设备上运行,提供无缝跨设备体验。
  动态更新:两种卡片都支持动态更新,能够在不更新整个应用的情况下,更新卡片内容。

1.24.1.2. 不同点:

  定义与范畴:
  (1)元服务卡片:是鸿蒙操作系统中的一种服务形式,它可以在不打开应用的情况下,向用户提供关键信息和快速操作。元服务卡片通常与系统的服务能力紧密结合,如通知、搜索等。
  (2)ArkTS卡片:更倾向于指的是使用ArkTS语言开发的卡片式UI组件,它可以是应用内的一部分,也可以作为独立的小程序存在。
  功能与交互:
  (1)元服务卡片:通常提供的是简短的信息展示和快速操作入口,例如显示天气信息、控制音乐播放等。   (2)ArkTS卡片:则可以承载更复杂的功能和交互,例如可以是一个完整的列表、表单或游戏界面。
  (3)适用场景:

  元服务卡片:适用于快速、便捷的信息展示和交互,特别适合于需要频繁更新内容的服务,例如新闻、天气、日程提醒等。
  ArkTS卡片:适用于需要复杂交互和功能的应用场景,如购物、阅读、游戏等,它们可以提供更为丰富的用户体验。

1.24.2. router机制、call机制与message机制有什么不同?

  这三个机制都可以用来刷新桌面卡片的,三种机制的数据都以JSON的格式进行配置,并使用formBindingData.createFormBindingData()函数构建数据对象。
  主要区别在于:
  router机制会直接打开应用界面,效果有点像点击桌面图标。也可以带参数打开应用,直接进入应用内部的某个特定位置,或者触发某项功能。
  使用场景:用于在卡片上点击按钮后跳转到应用中的指定UIAbility页面,实现一键直达功能。
  最佳实践:适用于UIAbility页面较多的应用,如音乐、视频、相册等,通过卡片提供不同的跳转按钮,方便用户快速进入所需页面。
  call机制是不打开应用界面,仅在后台拉起应用主体的UIAbility,来执行UIAbility内部的相关代码。call机制不受5秒时长的限制,可以先实现复杂且费时的数据加载,再提供给桌面卡片进行刷新。
  使用场景:用于在卡片上点击按钮后,不打开应用界面,只在后台调用应用的指定方法,执行特定操作。
  最佳实践:适用于需要后台处理操作的场景,如音乐播放控制、天气数据刷新等,可以在后台完成数据加载和处理,然后更新卡片内容。
  message机制则不涉及到应用的UIAbility,只是拉起桌面卡片自己的FormAbility,也可以刷新卡片,但仍然受5秒时长的限制,更适合轻量化的的实现卡片内容的刷新。
  使用场景:用于在卡片上点击按钮后,拉起卡片自身的FormAbility,进行轻量级的卡片内容刷新。
  最佳实践:适用于简单的卡片内容刷新,不需要后台复杂操作的场景,如展示简单文字内容、图片等,可以通过message事件快速刷新。

1.25. ForEach与LazyForEach的区别

  LazyForEach 是一种懒加载循环结构,它会在需要时才加载并迭代列表中的元素。这对于大型数据集或需要按需加载数据的应用程序非常有用,因为它可以减少内存使用并提高应用程序的性能。
  ForEach 是一种常规的循环结构,它会迭代列表中的每个元素,并在循环中执行指定的操作。与LazyForEach不同,ForEach 会立即加载并迭代整个列表,因此不适合处理大型数据集或需要按需加载数据的应用程序,
  总的来说,选择使用 LazyForEach 还是 ForEach 取决于您的应用程序的需求和性能要求。如果您需要处理大型数据集或需要按需加载数据,那么 LazyForEach 可能是更好的选择。如果您只需要迭代小型数据集或不需要按需加载数据,那么 ForEach 可能就足够了。

1.26. 什么是HAP

  是应用安装和运行的基本单元。
  HAP包是有代码、资源、第三方库、配置文件打包生成的模块包
  分为2种类型:entry和feature
  entry:应用的主模块。
  feature:动态特征模块。
  应用程序包只能有一个entry包和多个的feature。

1.27. HAR与HSP的区别

  HAR:静态共享包
  HSP:动态共享包

1.27.1. 区别:

  相同点:
  1.模块间的资源共享
  2.不支持在设备上单独安装、运行
  3.不支持再配置文件中声明UIAbility组件
  4.不支持循环依赖,也不支持依赖传递

1.27.2. 不同点:

  1.HAR: 可以发布到第三方库 HSP不可以
  2.HAR:不支持再配置文件中声明配置页面 HSP可以
  3.HSP: 多模块依赖只打包一份 HAR: 每个依赖都会加载份
  4.性能上: HAR > HSP 若考虑占用空间上HSP 占用少
  5.HSP:支持按需加载

1.28. Stage模型与FA模型的区别

1.28.1. Stage模型(华为推荐模型):

  组件分类:包括UIAbility和ExtensionAbility。
  UIability主要用于用户交互。
  ExtensionAbility:用于提供特定场景下的扩展能力。
  开发方式:
  采用面向对象的方式,应用组件以类接口的形式开放,支持派生,有利于扩展。
  进程和线程模型:
  多个应用组件共享同一个ArkTS引擎实例,减少了内存占用,并允许组件之间方便共享对象和状态。

1.28.2. FA模型:

  组件分类:包含PageAbility,ServiceABility和DataAbility。
  1.PageAbility用于展示UI
  2.ServiceAbility提供后台服务
  3.DataAbility用于数据分享。
  发开方式:
  通过导出匿名对象和固定入口文件的方式来指定应用组件,这种方式虽然对WEB开发者友好,但不支持派生,扩展能力有限。
  进程和线程模型:
  每个应用组件实例运行在独立的ArkTS引擎实例中。每个实例在自己的线程上创建,导致组件之间无法共享状态,并且会增加内存开销。

1.29. 说一下MVVM模式

  主要分为3个组成部分:
  1.Model(模型):负责存储和管理应用的数据以及业务逻辑。model从后端接口获取数据,是应用程序的数据基础,确保数据的一致性和完善性。
  2.View(视图):负责用户界面的展示并于用户交互。View不包含任何业务逻辑,它通过绑定ViewModel层提供的数据来动态更新UI
  3.ViewModel(视图模型):作为连接Model和View的桥梁,ViewModel负责管理UI状态和交互逻辑。它监控Model数据的变化,通过View更新UI,同时处理用户交互事件并转为数据操作。
MVVM模式:不仅提高了开发效率和应用性能,还使得应用更加模块化,便于管理和维护。

1.30. UIAbility的生命周期

onCreate():页面初始化 ---拉起窗口回调:onWindowStageCreate()
onForeground():进入前台调用
onBackground():进入后台调用
onDestroy():销毁 --在销毁之前调用销毁窗口回调:onWindowStageDestroy()

1.31. 组件的生命周期

// 页面生命周期(entry)
onPageShow(){}:每次进入前台前调用. 在vue中其实就是钩子函数 等于create,在这叫生命周期
onPageHide(){}: 页面从前台转为后台时调用
onBackPress(){}: 当页面点击退出/返回时调用
// 组件生命周期(Component)
当单击页面的是由优先加载组件,因为页面就是组件渲染出来的。
aboutToAppear(){}: 组件开始加载时调用,在执行build() 函数之前执行
aboutToDisappear(){}: 关闭组件时调用

页面和组件生命周期顺序
1.aboutToAppear()-->组件声明周期
2.build()
3.onPageShow() -->进入页面页面调用的生命周期,开启页面展示/渲染
4.方式一: 当页面置于后台,调用onPageHide() -->开启页面隐藏 
  方式二: 当页面退出时执行onPagePress()-->开启页面退出 后执行 	onPageHide()-->开启页面隐藏
5.aboutToDisappear() -->关闭组件

在这里插入图片描述

1.33. 请解释 ArkTS 语言中的属性装饰器(@Prop、@State 等)的作用和使用场景。

  常见装饰器:@prop 、@Like、@Provide 和 Consume、@ObjectLink 和 @ Observed 、@watch
  在ArkTS语言中,属性装饰器(@prop,@state等)是构建响应式、可复用和易于维护的组件的重要工具,他们根据不同的需求在组件之间或组件内部有效地管理和传递数据,实现了高效的UI开发和数据处理逻辑。在实际项目中,根据具体的业务场景选择和使用这些属性装饰器,能够提高代码质量和开发效率,为用户提供良好的交互体验。

1.33. ArkTS 与传统 JavaScript 在语法和编程模式上有哪些主要区别?

ArkTS的底层是: javaScript

1.系统类型: 
ArkTS:强类型特性语言,开发中需要显式声明变量、函数参数和返回值。
javaScript:弱类型语言,变量的类型在运行时根据赋值确定,开发者无需显式声明类型。
2.声明式UI语法(ArkUI框架相关)
ArkTS:结合ArkUI框架,采用声明式UI语法来构建用户界面。开发者通过描述UI组件的结构和属性来创建界面。这种方式使得UI代码更直观、简洁、易于理解和维护,同时与数据绑定和状态管理紧密结合,当数据或状态变化时,UI能自动更新。
javaScript: 在构建UI时,有一定的声明式编程思想,但语法相对复杂且多样,需要手动管理DOM更新,与数据的关联和更新机制比如ArkTs简介高效。
3.装饰器语法
ArkTS:广泛使用装饰器来实现特定的功能。
javaScript:本身并不支持装饰器语法(ES6及之前版本),虽然可以通过Babel等工具进行转译来使用装饰器,但相对来说不是标准、广泛应用的语法特征,并且在使用和理解上需要额外的学习成本和配置。

1.34. 什么是组件化开发?在鸿蒙应用中,如何实现组件的复用和独立维护?

  定义:
  组件化开发是一种将软件分解为独立、可复用的组件的开发模式。
  每个组件封装了特定的功能和数据,具有明确的接口,能够独立开发、测试、部署和维护。这种开发模式提高了软件的可扩展性、可维护性和复用性,便于团队协作开发,降低了系统的复杂性。

1.35. 鸿蒙中的状态管理有哪些

LocalStorage: 页面级UI状态管理
AppStorage: 应用全局的UI状态存储
PersistenStorage:持久化存储UI状态

1.36. 鸿蒙中的持久化有哪些

RelationalStore: 关系型数据库RDB
PersistenStorage:持久化存储UI状态
云数据库:AGC中的
sqlList

1.37. 分层架构设计和模块化设计的区别

  (1)分层架构设计:
  将应用分为公共能力层,基础特征层、定制层,可以降低层间的依赖性,从而提升代码的可维护性。
  分层架构设计进一步明确每层的职责和层间的交互机制,使框架清晰明确。
  (2)模块化设计:
  将应用分解为多个功能模块,其中每个模块负责执行特定的功能。
  通过模块化设计提高了代码的可理解性和可复用性,使应用的扩展和维护变得更为简便,同时降低了系统各部分之间的耦合度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2273011.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

macos安装java8

下载 dmg方式安装 安装 双击pkg运行 输入java -version验证 配置环境变量 cd ~ ls -a输入 ls -a后查看是否已经存在.bash_profile文件,如果已经存在就不需要创建,如果不存在,继续执行下方命令创建文件 touch .bash_profile /usr/l…

记一次k8s下容器启动失败,容器无日志问题排查

问题 背景 本地开发时&#xff0c;某应用增加logback-spring.xml配置文件&#xff0c;加入必要的依赖&#xff1a; <dependency><groupId>net.logstash.logback</groupId><artifactId>logstash-logback-encoder</artifactId><version>8…

KAFKA入门:原理架构解析

文章目录 一、认识kafka二、架构介绍2.1 工作流程2.2 Kafka可靠性保证2.3 Kafka存储 一、认识kafka Kafka到底是个啥&#xff1f;用来干嘛的&#xff1f; 官方定义如下&#xff1a; Kafka is used for building real-time data pipelines and streaming apps. It is horizont…

Redis - 6 ( 9000 字 Redis 入门级教程 )

一&#xff1a;Redis Java 集成到 Spring Boot 1.1 使用 Spring Boot 连接 Redis 单机 在创建项目时&#xff0c;勾选 NoSQL 分类下的 Spring Data Redis&#xff0c;同时勾选 Web 分类下的 Spring Web。这样既能方便集成 Redis&#xff0c;又能通过 Web 接口进行后续测试&am…

笔记本如何录屏幕视频和声音?快速入门的两种方法

“你好&#xff01;我想要制作线上教学课程&#xff0c;包括录制课程内容和我的声音&#xff0c;然后分享给我的学生&#xff0c;以便他们课后复习&#xff0c;但我不知道笔记本如何录屏幕视频和声音&#xff1f;有没有好的工具推荐&#xff1f;” 随着远程办公、在线学习和直播…

Flutter中的网络请求图片存储为缓存,与定制删除本地缓存

Flutter中的网络请求图片存储为缓存&#xff0c;与定制删除本地缓存 1&#xff1a;封装请求图片函数 2&#xff1a;访问的图片都会转为本地缓存&#xff0c;当相同的请求url&#xff0c;会在本地调用图片 3&#xff1a;本地缓存管理【windows与andriod已经测试】【有页面】【有…

Android设备使用AOA协议进行主机与配件模式通信

1.使用TYPC-C数据线连接两台华为手机&#xff1a; TYPE-C线&#xff0c;先连接下图右边的ACCESSORY 再连接左边的HOST 此时左边的HOST(白色) 会给右边的ACCESSORY(黑色) 充电 接着打开左连接的HostChart会自动调起授权&#xff0c;然后会启动右边的AccessoryChart USB HOS…

机器学习基础-支持向量机SVM

目录 基本概念和定义 1. 超平面&#xff08;Hyperplane&#xff09; 2. 支持向量&#xff08;Support Vectors&#xff09; 3. 线性可分 4. 边界 SVM算法基本思想和分类 基本思想 间隔最大化 间隔&#xff08;Margin&#xff09; 软边距 SVM 核函数的概念 基本概念…

ubuntu开机启动服务

需求背景&#xff1a; 需要监控日志&#xff0c;每次都是手动启动 nohup ./prometheus >/dev/null & nohub ./node_exporter >/dev/null & 需求目标&#xff1a; 重启后系统自动启动服务

图漾相机基础操作

1.客户端概述 1.1 简介 PercipioViewer是图漾基于Percipio Camport SDK开发的一款看图软件&#xff0c;可实时预览相机输出的深度图、彩色图、IR红外图和点云图,并保存对应数据&#xff0c;还支持查看设备基础信息&#xff0c;在线修改gain、曝光等各种调节相机成像的参数功能…

【计算机网络】课程 实验二 交换机基本配置和VLAN 间路由实现

实验二 交换机基本配置和VLAN 间路由实现 一、实验目的 1&#xff0e;了解交换机的管理方式。 2&#xff0e;掌握通过Console接口对交换机进行配置的方法。 3&#xff0e;掌握交换机命令行各种模式的区别&#xff0c;能够使用各种帮助信息以及命令进行基本的配置。 4&…

【论文笔记】QLoRA: Efficient Finetuning of Quantized LLMs

&#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&#xff0c;为生民立命&#xff0c;为往圣继绝学&#xff0c;为万世开太平。 基本信息 标题: QLoRA: Efficient Finetun…

Apache Paimon-实时数据湖

一、Apache Paimon是什么? Flink社区希望能够将 Flink 的 Streaming 实时计算能力和 Lakehouse 新架构优势进一步结合&#xff0c;推出新一代的 Streaming Lakehouse 技术&#xff0c;促进数据在数据湖上真正实时流动起来&#xff0c;并为用户提供实时离线一体化的开发体验。 …

为什么相关性不是因果关系?人工智能中的因果推理探秘

目录 一、背景 &#xff08;一&#xff09;聚焦当下人工智能 &#xff08;二&#xff09;基于关联框架的人工智能 &#xff08;三&#xff09;基于因果框架的人工智能 二、因果推理的基本理论 &#xff08;一&#xff09;因果推理基本范式&#xff1a;因果模型&#xff0…

AI Development Notes 1 - introduction with the OpenAI API Development

Official document&#xff1a;https://platform.openai.com/docs/api-reference/chat/create 1. Use APIfox to call APIs 2.Use PyCharm to call APIs 2.1-1 WIN OS.Configure the Enviorment variable #HK代理环境&#xff0c;不需要科学上网(价格便宜、有安全风险&#…

路由组件与一般组件的区别

路由组件与一般组件的区别 1. 基本概念 1.1 路由组件 路由组件是指通过路由规则映射的组件&#xff0c;通常放在 pages 或 views 文件夹中。 1.2 一般组件 一般组件是指通过 import 导入后直接使用的组件&#xff0c;通常放在 components 文件夹中。 2. 主要区别 2.1 存…

K8s高可用集群之Kubernetes集群管理平台、命令补全工具、资源监控工具部署及常用命令

K8s高可用集群之Kubernetes管理平台、补全命令工具、资源监控工具部署及常用命令 1.Kuboard可视化管理平台2.kubectl命令tab补全工具3.MetricsServer资源监控工具4.Kubernetes常用命令 1.Kuboard可视化管理平台 可以选择安装k8s官网的管理平台&#xff1b;我这里是安装的其他开…

【C++】18.继承

文章目录 1.继承的概念及定义1.1 继承的概念1.2 继承定义1.2.1定义格式1.2.2继承关系和访问限定符1.2.3继承基类成员访问方式的变化 1.3 继承类模板 2.基类和派生类对象赋值转换3.继承中的作用域3.1 隐藏规则&#xff1a;3.2 考察继承作用域相关选择题 4.派生类的默认成员函数4…

51单片机——8*8LED点阵

LED 点阵的行则为发光二极管的阳极&#xff0c;LED 点阵的列则为发光二极管的阴极 根据 LED 发光二极管导通原理&#xff0c;当阳极为高电平&#xff0c;阴极为低电平则点亮&#xff0c;否则熄灭。 因此通过单片机P0口可控制点阵列&#xff0c;74HC595可控制点阵行 11 脚 SR…

FastDeploy部署paddlecls分类模型(windows)

目录 写在前面 总体步骤 C SDK编译库 方式1&#xff1a;编译安装 方式2&#xff1a;下载预编译库 准备模型、文件、代码和数据 模型文件类型 samples代码 待预测图像 使用 FastDeploy C SDK 将cpp源码编译为exe 编写cpp代码 cpp代码编译exe 运行可执行程序exe 将…