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

自动化测试面试真题(附答案)

一、编程语法题

1 、 python 有哪些数据类型
python 数据类型有很多,基本数据类型有整型(数字)、字符串、元组、列表、字典和布尔类型等

2 、怎么将两个字典合并

调用字典的 update 方法,合并 2 个字典。

3 、 json.l python 如何将 json 写到文件里?

loads() 是将字符串转化为字典

json.load()是将文件打开从字符串转换成数据类型

json.dumps () 是将字典转化为字符串

json.dump()是将数据类型转换成字符串并存储在文件中

4 、 init 和 new 区别?

__new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该
实例对象,是个静态方法。

__init__是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值,通常用在初始化一个类实例的时候。是一个实例方法。

5 、什么是可变、不可变类型?

可变数据类型:列表 list 和字典 dict;

不可变数据类型:整型 int、浮点型 float、字符串型 string 和元组 tuple

6 、 mysql 注入点,用工具对目标站直接写入一句话,需要哪些条件?

mysql 写入一句话需要具备

1.secure-file-priv=‘’,即:my.ini 文件,打开找到 secure-file-priv 参数改空

2.当前用户具备 root 权限

3.已获取到应用程序的绝对路径,且目录可以进行文件写入操作。

7 、 python 深浅拷贝的区别

对于不可变数据来说深浅拷贝的结果一致会重新创一个数据的副本。浅拷贝对于
可变类型来说只会拷贝其元素的引用。

深拷贝对于可变元素来说会递归的整个重新创建一个原数据的副本。

8 、 python 为什么使用 *args 和 **kwargs

如果我们不确定要往函数中传入多少个参数,或者我们想往函数中以列表和元组
的形式传参数时,那就使用args;如果我们不知道要往函数中传入多少个关
键词参数,或者想传入字典的值作为关键词参数时,那就要使用**kwargs。args
和 kwargs 这两个标识符是约定俗成的用法,你当然还可以用
bob 和**billy,
但是这样就不太专业。

9 、重写和重载有什么区别?

重写:用在类的继承当中。子类对父类的同名方法,进行重写。在子类同名方法
内部,如果要延用父类的方法,可以使用 super 调用。

重载:用在类当中,对于同一个方法名,支持不同类型的参数,支持不同数量的
参数。由于 python 的函数本身就对参数不作类型限定,也有*args 和**kwargs
支持不定长度参数。

10 、 python 实现 get 数据库的表?你是怎么实现的?

python 当中对于不同数据库,都有不同的第三库来实现连接和数据库操作。

比较熟悉的是对 mysql 的操作。使用的是 pymysql 这个第三方库。第一步是建立
数 据 库 连 接 ;第 二 步 调 用 execute 方 法 执 行 sql 语 句 , 第 三 步 使 用
fetchone,fetchall,fetchmany 去获取不同条数的结果。

11 、对象 ( 实例 ) 方法,类方法,静态方法的定义有何不同?分别适用于什么场 景?

python 中,类中定义的普通函数就是对象方法,对象方法中的第一个形参一般
会定义为self,表示调用的对象本身,当对象调用对象方法时会被隐式的传递
给这个形参。所以当函数需要用到对象或对象的属性时一般会将其定义为对象方
法。

类方法定义时,需要使用装饰器classmethod进行装饰,类方法中的第一个形
参一般会定义为cls,表示类本身。当对象调用或类调用类方法时,类会被隐
式的传递给这个形参。所以当函数需要用到类或者类的属性时一般会将其定义为
类方法。

静态方法定义时,需要使用装饰器staticmethod进行装饰,其他与普通函数没
有区别。一般会将一些与对象和类无关的工具函数定义为静态方法,方便调用。

12 、 SQL 连表查询,去重查询,查询重复的数据?

两表查询:SELECT 字段 1,字段 2,字段 3,…… FROM 表名 1 INNER JOIN 表名 2
ON 关联条件;
去重查询:SELECT distinct ...;
查询重复的数据:select 列名 from 表名 group by 列名 having count(列名) > 1;

13 、 python 的单例模式?

单例模式是:确保类有且只有一个对象被创建为唯一对象提供访问点,令其可被全局访问控制共享资源的并行访问

具体实现方式可以通过模块导入、装饰器、控制 __new__方法 等等。

14 、什么是 PEP 8 ?

EP 8 代表 Python Enhancement Proposal,它可以定义为帮助我们提供有关如何编写 Python 代码的指南的文档。它基本上是一组规则,指定如何格式化

Python 代码获得最大的可读性。它由 Guido van Rossum、Barry Warsaw 和Nick Coghlan 于 2001 年编写

15 、 PO 模式的封装原则有哪一些?

公共方法表示页面提供的服务。比如把登录封装成 login 方法,搜索操作封装成 search 方法,注册操作封装成 register 方法。

尽量不要暴露页面的内部,比如页面的 HTML, 页面的上下结构

一般不做断言,做到页面逻辑和测试逻辑的分离。

方法返回 self 或者其他 PageObjects,也可以是元素属性等。

不需要封装整个页面行为,用到什么逻辑封装什么逻辑

同一操作如果出现不同结果,可以用不同的方法表示。比如登录成功有跳转,登录失败报错,登录未授权,

二、编码题:

1 、幂的递归,计算 x 的 n 次方,如:3 的 4 次方 为 333*3=81

# 递归的方式
def mi(x, n):
if n == 0:
return 1
else:
return x*mi(x, n-1)
print(mi(3, 4))
非递归的方式:
def mix(x,n):
result = 1
for count in range(n):
result *= x
return result
print(mi(3,4))

2 、统计列表(list )中每个元素出现的次数

# 统计列表(list)中每个元素出现的次数
lista = [1, 2, 3, 4, 12, 22, 15, 44, 3, 4, 4, 4, 7, 7, 44, 77, 100]
new_dict = {}
for item in lista:
if item not in new_dict.keys():
new_dict[item] = lista.count(item)
print(new_dict)

3 、 [‘abc13’,‘abv89’] 这种列表,打印最大长度的共同的前缀,列表元素个数不确定

def test_str(iterable):
return_str=''
for i in zip(*iterable):
if len(set(i))==1:
return_str +=i[0]
else:
break
print(return_str)
return return_str

4 、对 list 去重并找出列表 list 中的重复元素

from collections import Counter #引入 Counter
a = [1, 2, 3, 3, 4, 4]
b = dict(Counter(a))
print(b)
print ([key for key,value in b.items() if value > 1]) #只展示重复元素
print ({key:value for key,value in b.items() if value > 1}) #展现重复
元素和重复次数

5 、已知一个队列 [1, 3, 6, 9, 7, 3, 4, 6]

  1. 按从小到大排序

  2. 按从大大小排序

  3. 去除重复数字

a = [1, 3, 6, 9, 7, 3, 4, 6]
# 1.sort 排序,正序
a.sort()
print(a)
# 2.sort 倒序
a.sort(reverse=True)
print(a)
# 3.去重
b = list(set(a))
print(b)

6 、任选语言完成双向冒泡排序算法程序([8,6,4,3,9,1,2,5,7] 升序)

def cocktail_sort(arr):n = len(arr)start = 0end = n - 1swapped = Truewhile swapped:# 正向冒泡,找到最大元素放到后面swapped = Falsefor i in range(start, end):if arr[i] > arr[i + 1]:arr[i], arr[i + 1] = arr[i + 1], arr[i]swapped = True# 如果没有元素进行交换,则排序完成if not swapped:break# 在反向冒泡之前,重新标记 swapped 为 Falseswapped = Falseend -= 1# 反向冒泡,找到最小元素放到前面for i in range(end - 1, start - 1, -1):if arr[i] > arr[i + 1]:arr[i], arr[i + 1] = arr[i + 1], arr[i]swapped = Truestart += 1return arr# 测试排序算法
arr = [8, 6, 4, 3, 9, 1, 2, 5, 7]
sorted_arr = cocktail_sort(arr)
print(sorted_arr)

三、自动化基础能力评估:

1 、 python 列表和字典的区别,列表和元组的区别?

列表是有序的,字典是无序的。列表通过索引获取、字典通过 key 获取。

列表是可变的,可以修改、添加、删除其中的元素,但是元组是不可变的,不能修改、添加、删除其中的元素。

对于一个元素的元组,必须要在元素后加逗号,而列表不需要。

2 、 Python 用到的库

单元测试框架:unittest pytest
操作 mysql 数据库:pymysql
http 请求库:requests
web 自动化:selenium
处理日志:logging
json 数据提取和 json 文件读写:json,jsonpath
pyyaml:yaml 文件读写

3 、 unittest 和 pytest 区别?

pytest 是第三方库,基于 unittest 的扩展框架,比 unittest 更简洁,高效
pytest 有丰富的插件系统
pytest 的夹具使用更加灵活
pytest 可以很方便的过滤用例

4 、 python 当中如何操作数据库 ?

python 不同的数据库,都有对应的第三方库。比如 mysql 数据库有 pymysql库,oracle 数据库有 cx_Oracle
安装成功第三方库后,代码中将包导进来 ·接下来就是连接数据库,提供数据库的服务器地址、端口号、访问的用户名和密码、数据库名称,通过调用对应的方法去连接
连接成功之后,调用执行 sql 语句的方法去操作数据库
操作完成之后,释放数据库连接

5 、 jmeter 或 postman 实现多接口关联测试 ? 怎么做关联 ?

6 、接口自动化的断言怎么做

7 、如果需要用自动化测删除接口,断言怎么做

8 、做自动化的过程中如何处理验证码

让开发屏蔽验证码,邀请开发处理,在测试环境,预发和正式环境恢复
让开发设置一个万能验证码,使用复杂的其他人无法猜到的验证码
基于图像识别,破解验证码

9 、自动化测试用例如何编写

自动化测试本质是测试,是用自动化手段,替代部分手工测试。
自动化测试用例,源自功能测试用例,都应包含前置/后置,步骤,断言。
自动化用例设计原则,与功能用例一致。
自动化用例需要自行解决:环境依赖问题。比如手工测试时,遇到前置条件不满足,手工去准备前置条件再测试。
自动化用例断言要明确:将手工测试看到的期望效果,转成代码。
自动化用例需要考虑重复执行不受影响。
考虑好以上 5 点,使用工具或者代码的测试框架编写即可。

10 、 pytest 的前置实现有哪几种方式?

11 、 Appium 都有哪些启动方式

12 、 web ui 自动化中显式等待、隐式等待有什么区别

相同点:都是智能等待,在一定时间范围内不断查找元素,一旦找到立刻执行后续代码,没找到就会一直查找到超时为止

不同点:

显式等待:显示等待是单独针对某个元素,设置一个等待时间,设置一个查询间隔时间,在等待时间内会按照设置的间隔时间对该元素进行查找,超过设置的等待时间尚未出现则抛异常;显示等待必须在每个需要等待的元素前面进行声明

隐式等待:隐式等待是全局的是针对所有元素,设置一个等待时间,在设置的等待时间内,程序会不停检测页面元素是否全部加载完成,加载完成则继续向下,超过设置的等待时间尚未出现则抛异常;隐式等待只需要声明一次,声明之后对整个 drvier 的生命周期都有效不用重复声明;程序会一直等待整个页面加载完成

13、 有没有遇到元素定位不到情况?如何处理的?

页面加载元素过慢,添加等待时间

页面有 frame 框架页,需要先跳转入 frame 框架再定位

可能该元素是动态元素,定位方式要优化,可以使用部分元素定位或通过父节点或兄弟节点定位。

可能识别了元素,但是不能操作,比如元素不可用,不可写等。需要使用js 先把前置的操作完成,

元素定位的表达式写错了。

14 、请尽可能多的列出自动化的元素定位方式,以及你最喜欢的定位方式?

web 自动化的定位方式:

1、通过 id:find_element_by_id
2、通过 name 属性:find_element_by_name
3、通过 class 属性:find_element_by_name
4、通过标签名:find_element_by_tag_name
5、通过文本定位链接标签:find_element_by_link_text
6、通过文本部分匹配,定位链接标签:find_element_by_partial_link_text 
7、通过 xpath 定位:find_element_by_xpath
8、css 选择器定位:find_element_by_css_selector
最常用的:id,xpath 和 css 这三种

15 、如果同一个浏览器打开两个窗口,要用 selenium 里面哪个指令进行切换?

1、窗口切换 2、iframe 切换 3、alert 切换

16 、 App 自动化有做过吗?知道用到哪些技术框架吗?

做过,app 自动化主要使用的开源框架 appium,结合测试框架 pytest,还有 PO设计思想,共同搭建了 app 自动化测试框架。

17 、 ui 自动化出现的异常,以及出现这些异常后你是如何处理的?

元素定位失败异常,处理方式为检查元素定位表达式,添加等待;

定位超时异常,检查定位方式,检查是否有 iframe ;

元素无法交互,检查是否定位到正确元素。

18 、什么是 PO 模式,什么是 page factory ?

PO 模式是 page object model 的缩写,顾名思义, 是一种设计模式,把每个页面当成一个页面对象,页面层写定位元素方法和页面操作方法,实现脚本的page 和真实的网站页面 Map 起来,一对应起来PO 模式业务代码和测试代码被分开,降低耦合性维护成本低,减少代码冗余

19 、简述 selenium 的原理

selenium 涉及到三个组件的通讯,分别是
浏览器
webdriver
client
client 负责通过对应的编程语言函数发送请求给 webdriver
client 其实并不知道浏览器是怎么工作的,但是 driver 知道,在 selenium 启动以后,driver 其实充当了服务器的角色,跟 client 和浏览器通信,client根据 webdriver 协议发送请求给 driver,driver 解析请求,并在浏览器上执行相应的操作,并把执行结果返回给 client。这就是 selenium 工作的大致原理。

20 、 UI 自动化测试用例在运行过程中经常会出现不稳定的情况,也就是说这次

可以通过,下次就没有办法通过了,如何去提升用例的稳定性?

  1. 界面上无法预测的弹框。页面上经常会根据用户行为推送或者弹出动态的信息,比如版本更新,消息通知,推荐产品等等,当这些弹框出现以后,原来的页面元素会被遮挡,无法被定位,此时可能会造成自动化测试脚本运行错误。

  2. 页面元素的动态变化;主要有两方面的变化,第一方面,前端需求经常发生变化导致前端代码频繁修改,当前端页面变化以后可能会造成之前的元素无法被定位;第二方面,页面可能会根据用户的状态和等级展示不同的页面,或者是这一次访问的数据和下一次会不同。

  3. 随机的页面延迟造成控件识别失败;受限于网络环境和设备状态,自动化代码每次运行时可能会产生随机的超时处理。

  4. 测试数据变更。ui 测试每个用例的测试步骤会有很大的区别,他们不能共享同一套代码逻辑,当测试数据变更时,如果不能及时更新自动化代码,会造成脚本执行出错等问题。

四、自动化项目实战能力评估:

1 、介绍一下你的自动化测试框架?

我的框架主要根据分层思想设计了几个独立模块:

模块一:主要存放通用业务代码,比如接口访问,数据库操作,excel 操作,等
模块二:主要负责用例收集和用例执行,生成测试报告。

模块三:主要负责存放测试用例数据。通常是使用 excel, yaml, 等通用数据格式。

模块四:主要存放测试用例方法和测试逻辑相关代码。这里会调用模块的通用方法。

2 、讲一下在工作中怎么做的自动化测试?

a. 根据自动化测试特性整理需求
b. 根据优先级,和公司人员状况制定自动化测试计划
c. 制定自动化测试执行方案
d. 自动化测试用例设计或从功能测试用例中挑选适合的用例
e. 自动化脚本的开发
f. 自动化测试执行,生成报告

3 、自动化测试框架至少包含哪些核心模块。

基础方法
数据驱动
PO 分层
接口分层
接口数据管理
异常处理 - 工具包
配置
日志收集
测试报告

4 、框架中的接口参数传递怎么做的?是否有优化,第三库有没有用到,方法是什么?

框架当中接口参数传递主要涉及 2 部分:一是数据生成或者提取,二是替换。在框架当中,数据从响应结果提取用的 jsonpath,提取表达式直接写在 excel 当中,提取之后存储到变量类 Data 当中,作为它的类属性。

替换时,则直接访问 Data 类的类属性,将其值拿到并替换。在 excel 中要替换的标志为#value#。因为会存在有多个要替换的值,所以用正则表达式来查找到所有要替换的标识,然后全部替换。

用到第三方库的话,一个是 jsonpath,一个是 re

5 、拿到一个项目,怎么衡量这个项目做接口自动化还是 UI 自动化?

1、不管什么项目都可以做接口自动化

2、偏公司内部人员使用的管理平台无需做 UI 自动化,对外用户的可以考虑做
UI 自动化

6 、框架的数据库验证在你 excel 中 check_sql 放的是什么,你如何做比对?

check_sql 中存放的是一个列表,列表的成员是字典,字典有 3 个 key,一个是sql 语句,第二个是期望结果,第三个是 sql 的查询方式(查询总条数/查询值)在收到响应结果以后,会遍历 check_sql 中的列表,将每一个字典取出来,执行sql 语句查询结果 ,并与期望结果做比较。

7 、自动化测试中,测试用例的执行是怎么让他按照你写的用例一条一条执行的? 在我的项目接口自动化中,我用 pytest 框架。

一个接口的用例,我的用例数据是写在 excel 当中,在编写时就是按照顺序写的,从 excel 读取出来使用数据驱动 方式就是按照 excel 中的顺序;

多个接口的用例,因为我是一个接口一个 py 测试文件,所以我在 py 测试文件命名中用 00-99 数字按顺序编写的。

8.Login 这些用例数据是在哪里取的?excel 吗?用到什么方法?什么第三方库?

具体公司的业务:业务怎么开展 项目的介绍?( 或者简单介绍最熟悉的项目介绍:)
主要考察 2 个方面:一是表达能力和业务的熟悉度。二是做的项目复杂度如何,是否能胜任复杂项目的测试工作。

一般是根据自己的业务来回答。最好是能讲出有挑战性有难度或者复杂的业务场景。面试官不一定听得懂,但是他觉得复杂挺难的就可以。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

相关文章:

自动化测试面试真题(附答案)

一、编程语法题 1 、 python 有哪些数据类型 python 数据类型有很多,基本数据类型有整型(数字)、字符串、元组、列表、字典和布尔类型等 2 、怎么将两个字典合并 调用字典的 update 方法,合并 2 个字典。 3 、 json.l python …...

云原生架构概念

云原生架构概念 云原生架构(Cloud Native Architechtrue)作为一种现代软件开发的革新力量,正在逐渐改变企业构建、部署和管理应用程序的方式。它的核心优势在于支持微服务架构,使得应用程序能够分解为独立、松耦合的服务&#xf…...

85、 探针

一、pod的进阶 pod的进阶: 1.1、pod的生命周期当中的状态: 1、Running运行中,pod已经分配到节点上且pod内的容器正常运行。正常状态(ready 1/1)。 2、complete:完成之后退出,容器内的返回码…...

2024全国大学省数学建模竞赛A题-原创参考论文(部分+第一问代码)

一问题重述 1.1 问题背景 "板凳龙",又称"盘龙",是浙闽地区的传统地方民俗文化活动。这种独特的表演艺术形式融合了中国传统龙舞的精髓和地方特色,展现了人们对美好生活的向往和对传统文化的传承。 在板凳龙表演中&am…...

在VScode上写网页(html)

一、首先点进VScode,下载3个插件。 VScode安装:VScode 教程 | 菜鸟教程 二、新建 HTML 文件 作者运行的代码来自:http://t.csdnimg.cn/vIAQi 把代码复制粘贴进去,然后点击文件→另存为→选择html格式。 三、运行代码...

C#中LINQ的Cast<T>与OfType<T>

在C#中,Cast() 方法是LINQ(Language Integrated Query)的一部分,它位于 System.Linq 命名空间中。这个方法用于将 IEnumerable 集合(或任何实现了 IEnumerable 接口的集合)的元素转换为指定类型 T 的集合。…...

小阿轩yx-Kubernertes日志收集

小阿轩yx-Kubernertes日志收集 前言 在 Kubernetes 集群中如何通过不同的技术栈收集容器的日志,包括程序直接输出到控制台日志、自定义文件日志等 有哪些日志需要收集 日志收集与分析很重要,为了更加方便的处理异常 简单总结一些比较重要的需要收集…...

0to1使用Redis实现“登录验证”次数限制

1 引言 系统为了避免密码遭到暴力破解,通常情况下需要在登录时,限制用户验证账号密码的次数,当达到一定的验证次数后,在一段时间内锁定该账号,不再验证。本章将用几行代码实现该功能,完整代码链接在文章最…...

ARM----时钟

时钟频率可以是由晶振提供的,我们需要高频率,但是外部接高的晶振会不稳定,所有使用PLL(锁相环)来放大频率。接下来就让我们学习用外部晶振提供的频率来配置时钟频率。 一.时钟源的选择 在这里我们选择外部晶振作为时钟…...

NISP 一级 —— 考证笔记合集

该笔记为导航目录,在接下来一段事件内,我会每天发布我关于考取该证书的相关笔记。 当更新完成后,此条注释会被删除。 第一章 信息安全概述 1.1 信息与信息安全1.2 信息安全威胁1.3 信息安全发展阶段与形式1.4 信息安全保障1.5 信息系统安全保…...

C++三位状态比较排序

数组相同元素个数及按序 void 交换3个数升(int& A, int& B, int& C, bool& k) {int J 0;if (B > A&&A > C)J C, C B, B A, A J, k true;//231else if (C > A&&A > B)J A, A B, B J, k true;//213else if (A > B&a…...

麒麟系统安装GPU驱动

1.nvidia 1.1显卡驱动 本机显卡型号:nvidia rtx 3090 1.1.1下载驱动 打开 https://www.nvidia.cn/geforce/drivers/ 也可以直接使用下面这个地址下载 https://www.nvidia.com/download/driverResults.aspx/205464/en-us/ 1.1.3安装驱动 右击,为run文件添加可…...

IDEA 安装lombok插件不兼容的问题及解决方法

解决:IDEA 安装lombok插件不兼容问题,plugin xxxx is incompatible 一、去官网下载最新的2024版本 地址传送通道: lombok插件官网地址https://plugins.jetbrains.com/plugin/6317-lombok/versions/stable 二、修改参数的配置 在压缩包路径…...

聊聊说话的习惯

1 在日常生活中,每个人都有固定的说话习惯。心理学研究表明,通过一个人的说话习惯,也可以分析出他的性格特点。对于每一个人来讲,说话习惯已经融为他们生活中的一部分。在社交活动中,一些不良的说话习惯很可能会给他们带来麻烦。…...

当水泵遇上物联网:智能水务新时代的浪漫交响

在当代科技的宏伟乐章中,物联网(IoT)技术宛如一位技艺高超的指挥家,引领着各行各业迈向智能化的新纪元。当这股创新浪潮涌向古老的水务行业时,一场前所未有的“智能水务”革命便悄然上演,而水泵——这一传统…...

【Canvas与钟表】干支表盘

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>387.干支表盘</title><style type"text/css">…...

分布式项目中使用雪花算法提前获取对象主键ID

hello&#xff0c;大家好&#xff0c;我是灰小猿&#xff01; 在做分布式项目开发进行数据表结构设计时&#xff0c;有时候为了提高查询性能&#xff0c;在进行数据库表设计时&#xff0c;会使用自增ID来代替UUID作为数据的主键ID&#xff0c;但是这样就会有一个问题&#xff…...

小程序多个set-cookie无法处理

1、情景&#xff1a; 项目中遇到一个问题&#xff0c;客户的服务器上了华为云的防火墙&#xff0c;导致小程序请求头中携带了3个set- cookie&#xff08;有两个是华为云给自动加的&#xff09;&#xff0c;而小程序端不知道用哪个来 处理&#xff0c;结果选了个错误的进行处理…...

Mybatis【分页插件,缓存,一级缓存,二级缓存,常见缓存面试题】

文章目录 MyBatis缓存分页延迟加载和立即加载什么是立即加载&#xff1f;什么是延迟加载&#xff1f;延迟加载/懒加载的配置 缓存什么是缓存&#xff1f;缓存的术语什么是MyBatis 缓存&#xff1f;缓存的适用性缓存的分类一级缓存引入案例一级缓存的配置一级缓存的工作流程一级…...

【Qt开发】QT6.5.3安装方法(使用国内源)亲测可行!!!

目录 &#x1f315;下载在线安装包&#x1f315; 把安装包放到系统盘&#x1f315;开始安装&#x1f315;参考文章 &#x1f315;下载在线安装包 https://mirrors.nju.edu.cn/qt/official_releases/online_installers/ &#x1f315; 把安装包放到系统盘 我的系统盘是G盘&…...

springblade-JWT认证缺陷漏洞CVE-2021-44910

漏洞成因 SpringBlade前端通过webpack打包发布的&#xff0c;可以从其中找到app.js获取大量接口 然后直接访问接口&#xff1a;api/blade-log/api/list 直接搜索“请求未授权”&#xff0c;定位到认证文件&#xff1a;springblade/gateway/filter/AuthFilter.java 后面的代码…...

Chapter 12 Vue CLI脚手架组件化开发

欢迎大家订阅【Vue2Vue3】入门到实践 专栏&#xff0c;开启你的 Vue 学习之旅&#xff01; 文章目录 前言一、项目目录结构二、组件化开发1. 组件化2. Vue 组件的基本结构3. 依赖包less & less-loader 前言 组件化开发是Vue.js的核心理念之一&#xff0c;Vue CLI为开发者提…...

Ubuntu: 配置OpenCV环境

从从Ubuntu系统安装opencv_ubuntu安装opencv-CSDN博客文章浏览阅读2.3k次&#xff0c;点赞4次&#xff0c;收藏14次。开源计算机视觉(OpenCV)是一个主要针对实时计算机视觉的编程函数库。OpenCV的应用领域包括:2D和3D功能工具包、运动估计、面部识别系统、手势识别、人机交互、…...

芯片解决方案--SL8541e-OpenHarmony适配方案

摘要 本文描述8541E芯片适配OpenHarmony的整体方案。 本文描述的整体方案&#xff0c;不止适用于8541e&#xff0c;也适用于该芯片厂家的其他芯片&#xff0c;如7863、7885&#xff0c;少部分子系统会略有差异。 整体方案架构 整体方案架构如下图&#xff0c;遵循OpenHarmo…...

Spring Boot之数据访问集成入门

Spring Boot中的数据访问和集成支持功能是其核心功能之一&#xff0c;通过提供大量的自动配置和依赖管理&#xff0c;极大地简化了数据访问层的开发。Spring Boot支持多种数据库&#xff0c;包括关系型数据库&#xff08;如MySQL、Oracle等&#xff09;和非关系型数据库&#x…...

Learn ComputeShader 09 Night version lenses

这次将要制作一个类似夜视仪的效果 第一步就是要降低图像的分辨率&#xff0c; 这只需要将id.xy除上一个数字然后再乘上这个数字 可以根据下图理解&#xff0c;很明显通过这个操作在多个像素显示了相同的颜色&#xff0c;并且很多像素颜色被丢失了&#xff0c;自然就会有降低分…...

Java学习第七天

成员方法分类&#xff1a; 静态成员方法&#xff08;有static修饰 属于类&#xff09;建议用类名访问&#xff0c;也可以用对象访问 实例成员方法&#xff08;无static修饰 属于对象&#xff09;只能用对象出发访问 使用static来定义一些工具类 工具类直接使用类名.方法调用即…...

深入剖析 Redis 基础及其在 Java 应用中的实战演练

引言 在现代分布式系统和高并发应用中&#xff0c;缓存系统是不可或缺的一环&#xff0c;而 Redis 作为一种高性能的内存数据存储以其丰富的数据结构和快速的读写性能&#xff0c;成为了众多开发者的首选。本篇博客将详细介绍 Redis 的基础知识&#xff0c;并通过 Java 代码演…...

Why I‘m getting 404 Resource Not Found to my newly Azure OpenAI deployment?

题意&#xff1a;为什么我新部署的Azure OpenAI服务会出现404资源未找到的错误&#xff1f; 问题背景&#xff1a; Ive gone through this quickstart and I created my Azure OpenAI resource created a model deployment which is in state succeedded. I also playaround …...

【word导出带图片】使用docxtemplater导出word,通知书形式的word

一、demo-导出的的 二、代码操作 1、页面呈现 项目要求&#xff0c;所以页面和导出来的word模版一致 2、js代码【直接展示点击导出的js代码】 使用插件【先下载这五个插件&#xff0c;然后页面引入插件】 import docxtemplater from docxtemplater import PizZip from pizzip …...