团团面试经验
1、Redis同时访问大量不存在的key会发生什么?
-
如果是缓存和数据库中都不存在,那么就会发生缓存穿透。
-
举个例子:某个黑客故意制造一些非法的 key 发起大量请求,导致大量请求落到数据库,结果数据库上也没有查到对应的数据。
-
解决办法:
- 1)缓存无效 key,(给无效 key设置过期时间)
- 2)布隆过滤器,(判断 key 是否合法)
- 布隆过滤器维护了一个比特数组,配合多个hash函数一同使用,可将一个key映射到数组多个位置,并把对应位置bit数组值变为1,谈若某个key,映射到比特数组位置,发现对应位置存在0,那么证明,该key在数组中一定不存在。反之,只能说一定概率存在,因为可能多个key通过hash函数映射到相同位置。
-
当然,热点数据 ,该数据 存在于数据库中,但不存在于缓存中(通常是因为缓存中的那份数据已经过期),那么会发生缓存击穿。
2、Linux的5个命令,linux中实时查看滚动的业务日志用什么命令?
-
目录切换命令
- cd
-
目录的操作命令(增删改查)
- mkdir : 增加目录。
- rm [-rf] : 删除目录。
- mv 目录名称 新目录名称: 修改目录的名称。
- find :寻找目录。
-
文件的操作命令(增删改查)
- touch 文件名称: 文件的创建(增)。
- rm -rf 文件: 删除文件(删)。
- vim 文件: 修改文件的内容(改)。
- cat/more/less/tail 文件名称 :文件的查看(查) 。
-
压缩文件的操作命令
- tar -cvf/xvf/zcvf/zxvf 文件。
-
网络通信命令
- 查看当前系统的网卡信息:ifconfig。
- 查看与某台机器的连接情况:ping。
- 查看当前系统的端口使用:netstat -an。
-
最常用的tail -f filename,可以实时看滚动查看日志 。
- -f循环读取
3、在linux上搭建过环境吗?
- 在 VM 上,安装 3 台基于 CentOS7 的虚拟机。为避免虚拟机重启之后,DHCP 动态的分配 ip 地址,不利于 Nginx反向代理的配置,因此将 3 台虚拟机更改为局域网内的静态 ip。在 1 号虚拟机当中安装 Nginx 服务器并配置反向代理,同时在 html 目录中部署前端项目;在 2 号机和 3 号机当中同时安装 JDK、Git 和 maven 工具以及 mysql 数据库。项目部署策略采用 shell 脚本进行自动部署。首先查找项目进程,若进程存在则杀掉进程,然后使用 Git 从码云拉取后端项目代码,并使用 maven 打成 jar 包,最后基于 JDK 运行 jar 包,并将日志输出到当前目录。
4、线程和进程的区别?
-
进程和线程的区别?
- 进程:操作系统资源分配的最小单位。
- 线程:CPU进行运算调度的基本单位。
- 线程是进程内运算/运行单位==车间于生产线。
5、重写和重载的区别?
- 重写(override):也称为覆盖。重写是子类对父类非static、private,final修饰,非constructor等的实现过程进 行重新编写 , 返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。
- 重载:同一方法名,拥有不同的实现。
- 1.方法名必须相同;
- 2.参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序必须不同)
6、selenium用过吗?了解多少?
- selenium是开源免费的WEB端UI自动化测试框架,通常结合PO设计模式和单元测试框架UniteTest一起使用。
- PO设计模式通常为四层:依次是对象逻辑业务和数据驱动层,但我更喜欢叫做对象操作业务和数据驱动层。
- 对象层,通常完成元素定位。而元素定位依赖于属性名/标签名/层级/路径,具体的定位方式,主要方式有:
- id/name/class_name(class属性定位)/ tag_name(标签名称)
- link_text(定位超连接 a标签)/partial_link_text(定位超链接 a标签 模糊)
- xpath(基于元素路径)/css(元素选择器)
-逻辑层:通常通过元素定位之后,我们要进行键值或者点击等操作。所以我喜欢叫做操作层。
-业务层,主要完成业务处理,比如说对于一个网页计算机,我们先进行1点击在完成2点击,最后完成等于号点击,最后获取结果返回。
- 数据驱动层,需要继承单元测试框架类UniteTest.TestCase,我们一般先构造一个数据生成器,数据生成器,内部通过json.load加载已经打开的Json文件,加载进字典,并返回。使用@parameterized.expand(self.build_data)注解,完成测试用例函数参数的数据注入。
7、equals和==的区别?
- ==是判断两个变量或实例是不是指向同一个内存空间,equals是判断两个变量或实例所指向的内存空间的值是不是相同
- ==指引用是否相同, equals()指的是值是否相同
8、public,private,protected的区别?
- 1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
- 2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用。
- 3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。互为友好关系的类。
9、子类怎么访问父类的私有方法
- 可以通过super关键字访问,主要是调用父类构造函数。
- 父类中有get和set方法,子类可通过调用this.方法名访问父类的私有属性。
10、查询成绩表的平均分,按降序排列
- SELECT AVG(progress) FROM student ORDER BY AVG(progress) DESC;
11、数据库的四个特性
- 1.原子性:事务是内定义的操作是一个整体,是不可分割的。
- 2.一致性:同一个事务,多次读取数据库中的同一个数据,读取的内容应该是一致的,不变的。
- 3.隔离性:不同事务之间相互独立、互不干扰。
- 4.持久性:事务提交质、事务内的操作对数据库的修改被永久保存在数据库文件。
- 隔离性,涉及事务的四种隔离级别:读未提交,读已提交,可重复读,可串行化。
- 读未提交,会造成脏读,不可重复度以及幻读。
- 读已提交,解决脏读问题,会造成不可重复度,以及幻读。
- 可重复读,解决脏读和不可重复读,但是会造成幻读。innodb默认隔离级别。
- 可串行化:解决脏读,不可重复读,和幻读。
- 不可重复度主要侧重于记录的改变和减少,幻读主要侧重于记录的增加。
- 隔离性,涉及事务的四种隔离级别:读未提交,读已提交,可重复读,可串行化。
- 对于持久性,涉及二次写操作:第一次写主要是刷脏页之前,会记录在redolog中,防止宕机的情况大致持久化失败,redolog可重新恢复脏页。第二次写:主要是脏页写入表中,但在此之前会进行持久化备份(同第一次写)。主要也是防止宕机等情况,导致脏页损坏。
12、char和varchar的区别
- char的长度是不可变的,而varchar的长度是可变的。
- char的存取数度还是要比varchar要快得多,因为其长度固定,方便程序的存储与查找。
- char的存储方式是,对英文字符(ASCII)占用1个字节,对一个汉字占用两个字节;而varchar的存储方式是,对每个英文字符占用2个字节,汉字也占用2个字节。
13、cookie和session的区别?为什么session这么好还要用cookie?
- cookie和session都是用来记录浏览器用户上下文状态信息。
- cookie: 将用户上下文状态信息保存在客户端。
- session:将用户上下文状态信息保存在服务端。
- 虽然,session技术将用户状态信息维护在了服务器端,但是还是会用到cookie,主要是为了区分不同的用户,此时的cookie不在有用户的上下文状态信息只是单纯的用户身份标识SessionID.
- cookie安全性不高,存在cookie欺骗,session相对来说安全性高一点,但是加重服务器的负担,安全性也不是绝对的,但我们访问一些不法网站的时候,非常容易遭到CSRF攻击,他会利用用户状态信息,发送不法请求。
14、UDP和TCP的区别?
- 是否有连接状态:TCP有连接状态(延申:三次握手,四次挥手),UDP是无连接状态
- 是否提供可靠性传输:TCP提供可靠性传输,UDP不提供可靠性传输,只是简单的校验和。
- TCP以数据块进行传输,提供失序数据包重排机制,提供超时重传,流量控制,拥塞控制(慢启动,拥塞避免,超时重传,快重传,快恢复)
- TCP传输效率低,UDP传输效率高
- TCP首部大概花销是20-60字节,UDP首部大概花销是8字节。
- TCP提供点到点传输,UDP提供广播服务,可一对一,一对多,多对多。
15、三次握手讲一下?
- 三次握手是TCP建立连接的过程,概括起来说是一次请求过程,和两次确认过程
- 第一次过程,客户端可服务端发送一个一个SYN同步请求,请求建立连接。
- 第二次过程,服务端向客户端发送一个ACK确认请求,表示已经收到客户端请求,同意建立连接。
- 第三个过程,客户端向服务端发送一个ACK请求,表示对之前的确认请求再次确认。
- 其实只需要两次握手就可以建立连接,之所以需要三次,主要是因为两点原因。
- 第一个是TCP是双向连接。
- 第二个是防止网络中之前阻塞的请求再次发起连接。
16、求一个字符串中出现次数最多的一个字符?
二面:
有了解过Spring MVC吗?怎么实现的?
- 什么是MVC?
- 是一种软件设计规范,MVC是一种架构模式。
- Model(模型):主要负责与数据库打交道,进行数据存取。
- View(视图):负责进行模型数据的展示,一般是前端页面。
- Controller(控制器):主要负责前后端数据交互逻辑处理。
- 什么是springMVC?
- 基于java实现的一个轻量级web框架。通过反射机制实现MVC的分离。
- SpringMVC以DispatcherServlet为核心,负责协调和组织不同组件以完成请求处理并响应返回的工作,实现了MVC模式。
- 实现:延申反射机制
Kafka是怎么实现消息的异步?
- 生产者和消费者模型:生产者往队列当中投放消息,消费者拉取消息,并进行处理。
cookies和sesssion的区别?
- cookie和session都是用来记录浏览器用户上下文状态信息。
- cookie: 将用户上下文状态信息保存在客户端。
- session:将用户上下文状态信息保存在服务端。
- 虽然,session技术将用户状态信息维护在了服务器端,但是还是会用到cookie,主要是为了区分不同的用户,此时的cookie不在有用户的上下文状态信息只是单纯的用户身份标识SessionID.
- cookie安全性不高,存在cookie欺骗,session相对来说安全性高一点,但是加重服务器的负担,安全性也不是绝对的,但我们访问一些不法网站的时候,非常容易遭到CSRF攻击,他会利用用户状态信息,发送不法请求。
重载和重写?java反射机制,设计模式有了解吗
- 重写(override):也称为覆盖。重写是子类对父类非static、private,final修饰,非constructor等的实现过程进 行重新编写 , 返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。
- 重载:同一方法名,拥有不同的实现。
- 1.方法名必须相同;
- 2.参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序必须不同)
数据库视图有了解过吗?
- 视图就是执行查询语句后所返回的结果集(虚拟表)。
- 视图只供查询,数据不可更改。
- 应用:复杂的sql/权限管理
红黑树有了解过吗?
- 红黑树是自平衡二叉树(AVL)。
- 增删改查时间复杂度都在logn以内。
- 其中当插入一个元素导致AVL数不平衡,分为以下4中情况进行探讨。
- 第一种情况:往左子树的左节点插入,致使AVL不平衡,那么向右单转。
- 第二种情况:往右子树的右节点插入,致使AVL不平衡,那么向左单转。
- 第三种情况:往左子树的右节点插入,致使AVL不平衡,那么先向左旋转在向右旋转。
- 第四种情况:往右子树的左节点插入,致使AVL不平衡,那么先向右旋转在向左旋转。
数据库删除一个表的数据,有更简洁快速的方法吗?
- drop,truncate,delete
- drop:(删除表)直接删除一个表结构以及表数据。
- truncate:(清空表中的数据)不删除表结构,但要删除表数据。
- delete:(删除表中的数据)。
请求有哪几种方法
- 常见的有GET,POST,DELETE,PUT
- GET/DELETE:一般没有请求体。
有了解过Paas和Saas吗?
- iaas基础架构即服务,paas平台即服务,saas软件即服务。
- iaas:一切网络最基础的服务(甚至没有操作系统,裸机):华为云,阿里云。
- paas:(有操作系统,有数据库,各种中间件和运行库:就差应用软件)语音识别系统,人脸识别系统。
- saas(软件也准备好了,只需要进行数据管理):百度网盘,美团外卖。
淘宝页面,我的订单服务,整个页面的逻辑,你会怎么测试?
界面测试
1、页面的字样是否正确
2、文字格式大小是否统一
3、排版是否整齐、布局是否合理
4、重点和热销物品是否突出
5、页面上的所有链接是否有点击提示
6、页面上的二维码是否可扫
7、已点击过的链接是否与未点击过得做颜色区别
8、交互界面的设计是否方便;
功能测试
1、不输入任何东西点击搜索,能否跳转(默认搜索搜索框中物品)
2、输入特殊字符能否搜正常搜索到物品
3、这个页面上所出现的所有链接可不可以正确跳转,像天猫,聚划算,充值话费等;
4、是否可以通过淘宝APP扫码登录;
5、点击搜索框的相机会不会跳到本地图片选择界面;
6、输入英文是否可搜索,
7、搜索关键字过长,还能不能搜索
8、复制粘贴过来的搜索词能否正常搜索
9、在搜索框输入空格,能否正常搜索
10、反复输入相同的搜索词8次以上,处理结果是否依然正确
11、是否支持回车键进行搜索
12、搜索词输错时可不可以删了重新输入
13、查询结果是否罗列有序;
14、有多条重复搜索历史时只保留一条
性能测试
1、从点击到搜索结果出来需要多久,分网络良好和网络不好两种情况
2、搜索页面打开速度是否满足358原则
3、对淘宝不断加压测试,不断地向淘宝提交请求
4、它所占据的cpu利用率是多少
5、压力测试,在不同并发用户数下,它的响应时间是多少;
6、能承受的最大用户量是多少;
7、常规压力下能正常持续稳定运行多久;
兼容性测试
1、淘宝首页的链接能不能通过在新窗口打开链接
2、不同的浏览器,比如搜狗、谷歌
3、不同的移动端。
4、不同的操作系统
5、淘宝的不同的版本
6、用简体字繁体字分别测试
安全性测试
1、敏感内容应该是禁止搜索的,这方面是否做了过滤
2、如果搜索词带有病毒也不允许搜索
3、有sql注入时还能否搜索
4、淘宝内部删除加密或进行去其他处理过的数据还能不能搜索
易用性
1、有没有在线帮助文档
2、输入一个关键词下面有没有关键词相对应的物品提示
3、如果没有搜出来会不会有相对应的提示(您要找的是不是***)
4、能不能通过别人分享的链接搜索
其他测试
1、查询过程中断网或者关机
2、查询过程中强行关闭页面
3、有没有容错方面处理
相关文章:
团团面试经验
1、Redis同时访问大量不存在的key会发生什么? 如果是缓存和数据库中都不存在,那么就会发生缓存穿透。 举个例子:某个黑客故意制造一些非法的 key 发起大量请求,导致大量请求落到数据库,结果数据库上也没有查到对应的数…...

今天面了个京东拿 38K 出来的,让我见识到了基础的天花板
今年的春招已经开始了,很多小伙伴收获不错,拿到了心仪的 offer。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的软件测试面试题和八股文,为此咱这里也统一做一次大整理和大归类,这也算是划重点了。 俗话说得好࿰…...

Qt创建SDK库(dll动态库)并调用SDK库(dll动态库)
Qt创建SDK库(dll动态库)并调用SDK库(dll动态库) 一、项目场景 在日常的项目中,我们经常会遇到调用别人的数学库、线程库、图形库等操作。这些库通常就被称为SDK,SDK全称是Software Development Kit(软件开发工具包),…...

400以内的蓝牙耳机哪款好?400以内蓝牙耳机排行榜
谈起TWS,无论是传统的音频厂商还是手机厂商,都是其不可或缺的重要产品线,现在很多许多蓝牙耳机都不是千篇一律得形状,市场也鲜有商家在外观上下功夫,下面分享几款400元以内,内外兼具的耳机品牌。 一、南卡…...

基于飞桨实现的特定领域知识图谱融合方案:ERNIE-Gram文本匹配算法
文本匹配任务在自然语言处理领域中是非常重要的基础任务,一般用于研究两段文本之间的关系。文本匹配任务存在很多应用场景,如信息检索、问答系统、智能对话、文本鉴别、智能推荐、文本数据去重、文本相似度计算、自然语言推理、问答系统、信息检索等&…...

前端基础复习
1.什么叫HTML5?和原本的所说的HTML有什么区别? 本质上html和html5是一样的的。区别有: 1. 在文档类型声明上 HTML4.0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loos…...

Vue2 API-源码解析
目录 Vue.extend(option) delimiters functional Vue.component(id, Function | Object) Vue.directive( id, [definition] ) Vue.filter( id, function) Vue.nextTick() Vue.set() Vue.delete(target, index/key) Vue.compile(template) Vue.observable(object) …...

FastViT: A Fast Hybrid Vision Transformer using Structural Reparameterization
FastViT: A Fast Hybrid Vision Transformer using Structural Reparameterization 论文地址:https://arxiv.org/pdf/2303.14189.pdf 概述 本文提出了一种通用的 CNN 和 Transformer 混合的视觉基础模型 移动设备和 ImageNet 数据集上的精度相同的前提下…...
C/C++文档阅读笔记-A Simple Makefile Tutorial解析
Makefile文件可以使得程序编译变得简单。本博文并不是很系统的讲解makefile,本博文的目标是让读者快速编写自己的makefile文件并能应用到中小项目中。 简单实例 举个例子有下面3个文件,分别是hellomake.c,hellofunc.c,hellomake.…...
GraphSAGE的基础理论
文章目录GraphSAGE原理(理解用)GraphSAGE工作流程GraphSAGE的实用基础理论(编代码用)1. GraphSAGE的底层实现(pytorch)PyG中NeighorSampler实现节点维度的mini-batch GraphSAGE样例PyG中的SAGEConv实现2. …...

Windows 安装 GDAL C++库
Windows 安装 GDAL C库1. 方法1:下载配置网友编译的GDAL版本1.1 下载1.2 配置1.3 测试1.4 缺点2. 方法2:自己编译3. 参考1. 方法1:下载配置网友编译的GDAL版本 1.1 下载 CSDN: GDAL,geos联合编译的库,版本为1.8.0&am…...

二叉树基础概念
1.二叉树种类 1.1 满二叉树 满二叉树:如果一棵二叉树只有度为 0 0 0 的结点和度为 2 2 2 的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。 如图所示: 这棵二叉树为满二叉树,也可以说深度为 k k k&…...

【MySQL】(1)数据库基础,库与表的增删查改,数据库的备份与还原
文章目录服务器,数据库,表关系MySQL 数据存储逻辑SQL 分类存储引擎库的操作查看数据库创建数据库查看创建语句删除数据库选择(切换)数据库查看当前选择的数据库修改数据库字符集和排序规则表的操作创建表查询表查询表结构插入数据…...
Python基础-01 变量
注释 注释的分类 在Python中,支持单行及多行注释 单行注释 使用#对代码进行说明,#右边的所有内容就是注释的内容,起辅助说明作用 # #右边的都是注释,解析器会忽略 print(hello world) #在控制台里打印一段话多行注释 多行注释中,允许换行,使用三个单引号开始,三个单引号结…...

springcloud2.1.0整合seata1.5.2+nacos2.10(附源码)
springcloud2.1.0整合seata1.5.2nacos2.10(附源码) 1.创建springboot2.2.2springcloud2.1.0的maven父子工程如下,不过多描述: 搭建过程中也出现很多问题,主要包括: 1.seataServer.properties配置文件的组…...

map原理
map源码结构体: type hmap struct {count int // 元素的个数B uint8 // buckets 数组的长度就是 2^B 个overflow uint16 // 溢出桶的数量buckets unsafe.Pointer // 2^B个桶对应的数组指针oldbuckets unsafe.Pointer // 发生扩容时࿰…...
[Ext JS]3.6 Ext JS 表格(Grid)概览
Grid, 翻译过来是网格, 也就是表格。 Grid 的基本构成 面板 :Ext.grid.Panel表格视图 :Ext.view.Table。 不直接使用, 通过面板的viewConfig配置项进行配置。比如可以用来配置表格中行是否跳色显示列: Ext.grid.column.Column。 表格中的列定义store , 表格的数据示例代码…...

关于使用云渲染的五大优势
在不影响质量或性能的情况下节省时间、金钱和资源,对于需要在通常较短且严格的期限内创建高质量 3D 内容的专业人士来说,云渲染都是最好的选择!云渲染作为数字媒体生产的最新趋势,与传统的渲染农场和机器相比具有许多优势…...

CSS基础样式
1.高度和宽度 .c1{height:300px;width:500px; } 注意事项: 宽度,支持百分比 行内标签:默认无效 块级标签:默认有效(右侧区域就算是空白,也不给占用) 2.块级和行内标签 css样式:标签…...

第03章_流程控制语句
第03章_流程控制语句 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 本章专题与脉络 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...