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

高级自动化测试常见面试题(Web、App、接口)

一、Web自动化测试

1.Selenium中hidden或者是display = none的元素是否可以定位到?

不能,可以写JavaScript将标签中的hidden先改为0,再定位元素

2.Selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?

  • 1.添加元素智能等待时间 driver.implicitly_wait(30)

  • 2.添加强制等待时间(比如python中写 sleep)

  • 3.try 方式进行 id,name,clas,x path, css selector 不同方式进行定位,如果第一种失败可以自动尝试第二种

3.如何提高Selenium脚本的执行速度?

代码优化,多任务,分布式部署都是可以提升脚本执行速度的。

4.用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没办法通过了,如何去提升用例的稳定性?

  • 1.time.sleep( )

  • 2.driver.implicitly_wait(30)

  • 3.多用 try 捕捉,处理异常

5.你的自动化用例的执行策略是什么?

自动化测试与软件开发本质上是一样的,利用自动化测试工具,经过测试需求分析,设计出自动化测试用例,从而搭建自动化测试的框架,设计与编写自动化脚本,验证测试脚本的正确性,最终完成自动化测试测试脚本(即主要功能为测试的应用软件)并输出测试结果

6.自动化测试的时候是不是需要连接数据库做数据校验?

从数据库层面来进行数据校验可以更方便验证系统的数据处理方面是否正确,数据处理逻辑正常后,UI层面上的校验也是需要做的。

7.id,name,class,xpath, css selector这些属性,你最偏爱哪一种,为什么?

css 、xpath 几乎所有的元素都可以定位到,但是它们的短处在于页面上更改了元素后位置很容易改变,所以首先使用的还是id或者name等。

8.如何去定位页面上动态加载的元素?

触发动态加载元素的事件,直至动态元素出现,进行定位

9.如何去定位属性动态变化的元素?

xpath或者css通过同级、父级、子级进行定位

点击链接以后,Selenium是否会自动等待该页面加载完毕?

会的

10.什么是page object设计模式?

简单来说,就是把页面作为对象,在使用中传递页面对象,来使用页面对象中相应的成员或者方法,能更好的体现面向对象语言(比如java或者python)的面向对象和封装特性。

11.如何在定位元素后高亮元素(以调试为目的)?

用JavaScript等脚本来重置元素属性,给定位的元素加背景、边框

12.什么是断言?

断言的英文是assertion,断言检查的英文是assertion checking。

断言是指定一个程序必须已经存在的状态的一个逻辑表达式,或者一组程序变量在程序执行期间的某个点上必须满足的条件。

13.你觉得自动化测试最大的缺陷是什么?

  • 1.不稳定

  • 2.可靠性

  • 3.不易维护

  • 4.成本与收益

14.Webdriver可以用来做接口测试吗?

接口测试有现成的模块来处理,WebDriver是用于做WebUI自动化测试的。如果要实现接口测试,可以使用Requests模块来实现

二、App UI自动化测试

1.Android APP 内存不足时, 系统如何结束进程获得内存?

系统优先结束被挂起(暂停)的进程,释放内存

2.APP 测试常见的严重问题有哪些?分别引起的原因有哪些?

常见的有 crash、ANR(应用无响应、卡死),一般由设备碎片化、网络波动大、内存泄漏、代码编写错误

3.请简单介绍你曾使用过的一款 APP 自动化测试工具 ?

  • 开放性问题,带点主观意见

  • 1.对比其他熟悉的自动化工具的优缺点

  • 2.自动化的简要方案(简要的同时关键内容请具体)。(提示:appnium 等)

4.Android 测试与 web 测试有什么区别?

相同点:

  • 1.设计测试用例均依据等价类、边界值等方法,测试原理相同;

  • 2.大多数都采用黑盒测试方法来验证业务功能;

  • 3.需要检查界面布局、风格和按钮是否美观、统一等(UI测试);

  • 4.测试页面载入和翻页的速度、登录时长是否溢出等问题(性能测试)

  • 5.测试应用系统的稳定性;

不同点:

  • 1.手机作为通信工具,通信等一些行为会对APP产生(中断测试)

  • 2.手机用户对app 产品的安装卸载操作:从上一版本/上两个版本直接升级到最新版本(安装卸载测试);

  • 3.web自动化测试使用的工具较常用的是selenium,而android手机自动化测试比较常用的自动化工具是monkey、monkeyrunner、Appium(测试工具不一样)

5.app 测试有哪几种环境?

本地环境:app 安装的手机环境和电脑搭建的自动化测试环境(比如安卓 SDK 等等)。

服务器环境:war 包部署的服务器, 服务器可以通过浏览器访问, 也可以通过 app 去访问。(访问的是 web 程序的接口)

6.简单介绍一下 Android SDK 的安装步骤:

  • 下载 jdk 和安卓 sdk

  • 安装 jdk, 配置环境变量(java_home、 classpath、 path)

7.请简要介绍一下移动应用及其服务端的测试点?

移动应用主要有权限、安装运行卸载、UI、功能、性能、中断、兼容性、安全性、回归、升级更新、用户体验。(app的11 大测试点)

服务端有接口测试、性能测试、安全测试。

8.如何判断 app 的 bug 是客户端问题还是后台问题

这个要根据业务来,一般数据的问题前端的问题多些,一般做法是有问题提给前端开发, 他们知道是他们自己的问题还是后台返回的数据问题。

9.安卓中如何取出日志信息?

把安卓系统日志信息实时导入到本地:adb logcat -v time > d:\mylog.log

运行使用某个 app,实时获取该 app 的日志信息(cmd 里面的返回信息) :

adb shell monkey -p com.android.calendar -v 1000 > d:\mylog2.log

10.常见的 adb 命令:

  • 查看当前连接的设备:adb devices

  • 安装软件:adb install 路径\xx.apk

  • 卸载软件:adb uninstall <包名>

  • 从电脑上发送文件到设备:adb push <本地路径> <远程路径>

  • adb push C:\test1.txt /sdcard/

  • 从设备上下载文件到电脑:adb pull <远程路径> <本地路径>

  • adb pull /sdcard/test1.txt D:

  • 实时获取日志:adb logcat -v time > D:\mylog.log

  • 登录终端设备 shell:adb shell

  • 查找包名/活动名:adb logcat | findstr START

  • 启动 APP 启动:adb shell am start -n packageName/activity

  • 关闭 app语法:adb shell am force-stop 包名

  • 监控 APP 启动时间:adb shell am start -W packageName/activity

  • Monkey 命令:adb shell monkey -v -p mypackage 50

11.APP 这么多主流机型如何测试 ?

我们公司就买了, 魅族, 华为, 小米, iphone7、 iphone8 、 iphone8plus 、 iphone x 测试兼容性,有些没有的机型,先借用同事的手机进行测试,同时申请公司购买,或者采用云真机。

12.App 崩溃(闪退),可能是什么原因导致的?

  • 缓存垃圾过多:由于安卓系统的特性,如果长时间不清理垃圾文件.会导致越来越卡.也会出现闪退情况.

  • 运行的程序过多,导致内存不足

  • 应用版本兼容问题:如果应用版本太低,会导致不兼容,造成闪退。此外,有些新版本在调试中,也会造成应用闪退。解决方法:如果是版本太旧,更新为新版本即可;如果是新版本闪退,可能是应用在改版调试,可卸载后安装旧版。

  • 检查 APP 中访问网络的地方,组件中的 ImageView 是否可以正常的下载并显示到 app 页面上。

  • 检查 APP 的 sdk 和手机的系统是否兼容。

  • 在一些特定情况下的闪退,比如播放视频,在 Android5.0 升级到 Android6.0 的时候,有些系统 API 老版本

  • 有,新版本没有,到时回去对象的时候失败,报空,系统就会出现闪退

13.Appium 都有哪些启动方式

  • 1.客户端启动

  • 2.命令行启动

14.请简单介绍一下使用过的安卓UI自动化测试工具?

参考答案:appium:是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的。robotium:是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长按、滑动等)、查找和断言机制的API,能够对各种控件进行操作。

15.请说明Android手机和IOS手机,系统有什么区别?

  • 两者运行机制不同:IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。

  • 两者后台制度不同:IOS中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭。

  • IOS中用于UI指令权限最高,安卓中数据处理指令权限最高。

三、接口自动化测试

1.按你的理解,软件接口是什么?

就是指程序中具体负责在不同模块之间传输或接受数据的并做处理的类或者函数。

2.HTTP和HTTPS协议区别?

  • https协议需要到CA(Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用;

  • http是超文本传输协议,信息是明文传输,Https协议是由SSL+Http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全;

  • http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443;

3.HTTPS在哪一层?

以前我面试很喜欢提网络协议的问题,有朋友说我装X,不实用。稍有点研究网络知识,实际就不难回答

HTTPS在应用层。

4.get和post区别是什么?

POST和GET都是向服务器提交数据,并且都会从服务器获取数据。

区别:

  • 1)传送方式:get通过地址栏传输,post通过报文传输

  • 2)传送长度:get参数有长度限制(受限于url长度),而post无限制

  • 3)GET产生一个TCP数据包(对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200返回数据),POST产生两个TCP数据包(对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok返回数据)

  • 4)get请求参数会被完整保留在浏览历史记录里,而post中的参数不会被保留

  • 5)在做数据查询时,建议用GET方式;而在做数据添加、修改或删除时,建议用post方式

5.常见的POST提交数据方式

主要有四种方式:application/x-www-form-urlencoded、multipart/form-data、application/json、text/xML等。

6.什么是Http协议无状态协议?怎么解决HTTP协议无状态协议

无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息。HTTP 是一个无状态协议,这意味着每个请求都是独立的,Keep-Alive 没能改变这个结果。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。HTTP 协议这种特性有优点也有缺点,优点在于解放了服务器,每一次请求“点到为止”不会造成不必要连接占用,缺点在于每次请求会传输大量重复的内容信息。客户端与服务器进行动态交互的 Web 应用程序出现之后,HTTP 无状态的特性严重阻碍了这些应用程序的实现,毕竟交互是需要承前启后的,简单的购物车程序也要知道用户到底在之前选择了什么商品。于是,两种用于保持 HTTP 连接状态的技术就应运而生了,一个是 Cookie,而另一个则是 Session。

7.cookie和session的区别

  • cookie数据存放在客户的浏览器上,session数据放在服务器上

  • cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session

  • session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面应当使用cookie

  • 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie可以将登陆信息等重要信息存放为session;其他信息需要保存,可以放在cookie

8.什么是DNS?

DNS 是域名系统 (Domain Name System),DNS是用来做域名解析的,它会在你上网输入网址后,把它转换成IP,然后去访问对方服务器;没有它,你想上百度就要记住百度的IP,但有了DNS的处理,你只需要记住对应网站的域名,即网址就可以了。

9.请问你们公司是如何做接口测试的?

接口测试实际跟一般测试不同就是测试用例的设计部分。

  • ①获取接口规范。

  • ②设计接口测试功能用例(主要从用户角度出发看接口能否实现业务需求,用例设计就是黑盒用例那一套)。

  • ③各种入参验证(正常情况,异常情况包括输入参数个数不对,类型不对,可选/必选,还有考虑参数有互斥或关联的情况)。

  • ④接口返回值各种验证(符合接口文档需求)

  • ⑤了解接口实现逻辑,实现逻辑覆盖(语句/条件/分支/判定/…)

  • ⑥接口能并发执行吗、安全吗,性能满足要求吗?

  • ⑦采用工具或者自写代码来验证。

  • ⑧发现问题跟功能测试一样,该报bug报bug,该跟踪状态的跟踪状态。

10.怎么设计接口测试用例?

通常,设计接口测试用例需要考虑以下几个方面:

①是否满足前提条件

有些接口需要满足前提,才可成功获取数据。常见的,需要登录Token

逆向用例:针对是否满足前置条件(假设为n个条件),设计0~n条用例

②是否携带默认值参数

正向用例:带默认值的参数都不填写、不传参,必填参数都填写正确且存在的“常规”值,其他不填写,设计1条用例

③业务规则、功能需求

这里根据时间情况,结合接口参数说明,可能需要设计N条正向用例和逆向用例

④参数是否必填

逆向用例:针对每个必填参数,都设计1条参数值为空的逆向用例

⑤参数之间是否存在关联

有些参数彼此之间存在相互制约的关系

⑥参数数据类型限制

逆向用例:针对每个参数都设计1条参数值类型不符的逆向用例

⑦参数数据类型自身的数据范围值限制

正向用例:针对所有参数,设计1条每个参数的参数值在数据范围内为最大值的正向用例

11.平常用什么工具测接口的?

常用http协议接口测试工具,如:postman、fiddler、jmeter;webService接口用SoapUI、jmeter等。

12.没有接口文档,如果做接口测试?

本题主要考情商,通俗来说就是忽悠能力,先唬住面试官了再说,进去了也是瞎测测,随时做好背锅的准备,当然,你肯定不能回答面试官不测(心理mmp,脸上笑嘻嘻),接下来就是扯犊子时间

用抓包工具把接口抓取处理,然后针对性进行测试;接口中字段信息不清楚的,找时间集中寻求开发解答。(常用抓包工具Fiddler、Charles等)

13.在手工接口测试或者自动化接口测试的过程中,上下游接口有数据依赖如何处理?

用一个全局变量来处理依赖的数据,比如登录后返回token,其它接口都需要这个token,那就用全局变量来传token参数。

14.依赖于第三方数据的接口如何进行测试?

mock

接着面试官会问你,如果mock的,然后你就顺着坑继续挖,搭建mock服务。

15.接口测试中,依赖登录状态的接口如何测试?

依赖登录状态的接口的本质上是在每次发送请求时需要带上session或者cookie才能发送成功,在构建POST请求时添加必要的session或者cookie

16.如何模拟弱网做测试?

Fiddler和charles都可以模拟弱网测试,平常说的模拟丢包,也是模拟弱网测试。

17.你平常做接口测试的过程中发现过哪些bug?

面试官出这个题,主要是想知道你是不是真的做过接口测试,毕竟现在很多小伙伴简历经过包装(不包装连面试机会都没有,没办法,为了生存,能理解)

常规错误,接口没实现,没按约定返回结果,边界值处理出错等。

输入异常值(空值、特殊字符、超过约定长度等),接口抛错,没做封装处理;

输入错误的参数、多输入、少输入参数,接口可能出现的错误;

安全性问题,如明文传输、返回结果含有敏感信息,没对用户身份信息做校验,没做恶意请求拦截等;

性能问题,如接口并发插入多条相同操作,响应时间过长,接口压测出现瓶颈等;

18.当一个接口出现异常时候,你是如何分析异常的?

先抓包,用fiddler(charles)工具抓包,或者浏览器上F12调试工具;APP上的话,那就用Fiddler做代理,通过手机设置代理去看请求和返回报文;

查看后端日志,如Linux系统通过xhell连上服务器,查看接口日志,查看是否有报错信息(命令:tail -f 日志文件);

19.如何分析一个bug是前端还是后端的?

平常提bug的时候,前端开发和后端开发总是扯皮,不承认是对方的bug。

这种情况很容易判断,先抓包看请求报文,对着接口文档,看请求报文有没问题,有问题就是前端发的数据不对;

请求报文没问题,那就看返回报文,返回的数据不对,那就是后端开发的问题咯。

20.你们做接口测试自动化吗?

现在针对大量应用,普遍推崇做接口测试自动化,维护成本低、收益高。常用的工具有许多,如Jmeter、Robot Framework、pytest等。

21.列出几个JMeter监听器?

  • 一些JMeter监听器是:

  • 集合报告

  • 汇总报告

  • 查看结果树

  • 用表格查看结果

  • 图形结果

  • BeanShell Listener

  • 摘要报告等

22.在python中进行数据驱动测试

在unittest中,没有自带的数据驱动,我们得借助ddt来实现,首先,我们得在python运行环境中安装ddt,用下列命令安装

pip install ddt

另外一个测试框架pytest,它自带数据驱动实现,是通过@pytest.mark.parametrize(argnames,argvalues) 来实现参数化的。

也可以根据自己需求用python实现数据的读取和驱动。

23.接口自动化中的关联怎么处理?

把上一个请求返回的结果传入到下一个请求的参数中,将请求的结果反射到一个类属性(使用setattr()函数),下一个请求去调用这个类属性

24.自动化测试怎么校验结果?

断言 ,预期结果与实际结果对比

数据库校验,根据测试场景来查询数据库里的数据和请求之前的数据进行比对

25.自动化使用的测试框架是什么?简述自动化框架的设计、维护

测试框架:python+unittest+requests+ddt+openpyxl+pymysql+logging

python:入门简单,语法简洁

unittest :定义一个测试用例类,具体的方法来维护测试用例的生命周期,测试场景行为,测试用例 前置场景,行为,期望结果,实际结果,断言方法,Setup teardown方法

requests:接口调用 ,支持http请求的库,API 简洁,提供不同的http请求方法,支持session,cookies,

ddt :数据驱动,ddt 类装饰器,data 测试方法装饰器 unpack解包可迭代的数据类型

普通用户,数据库,配置文件—(基础数据)

openpyxl:数据管理 excel管理数据,使用openpyxl模块来进行excel数据的读和写(excle,csv, json, yaML, txt都可以管理测试数据)

pymysql:数据库交互,数据校验

eval,json:数据格式的转换 Eval将python支持的格式转换成对应的格式

logging:日志处理, 统一日志输出格式,渠道,级别,执行结果的记录,便于定位问题

jenkins:持续集成

2/框架设计思路:数据驱动+结构分层(可读性,可维护性,可扩展性)

数据驱动:将维护数据与代码分离,接口调用行为一致,针对不同的参数组合驱动不同的测试场景,减少代码冗余

结构分层:数据层+用例层+逻辑层

数据层:测试数据的支撑 data.xls

用例层:用例的执行 test_register.py test_recharge.py

逻辑层:公用的方法的封装与提取 doexcle.py do_mysql.py http_requests.py logger.py等模块

3/框架设计步骤:

准备测试数据:EXCEL表准备测试用例—excel数据的读取—参数值的替换

发起请求:请求方法(get/post方法进行封装—URL的拼接(不同—参数转化为字典

拿到请求的返回值:解析返回值code,status,msg信息

断言

好处:

  • 1、自动化测试用例和手工测试用例的完美结合,减少重复工作

  • 2、配置灵活,可以自主切换测试环境,执行测试用例

  • 3、常用功能进行封装,逻辑清晰,易于维护

  • 4、统一执行入口,管理测试用例集:

  • run.py模块通过模糊查找来选择需要执行的测试用例

  • 5、持续集成,定时构建,快速反馈

26.具体的在这个项目中自动化怎么应用到实际的?

对自动化结果的分析完成所有的自动化测试框架的设计和实现后,进行接口测试,然后集成到jenkins,配置定时执行,生成htML报表,查看测试通过率,查看接口的功能

每次发版时,进行回归测试,新功能开发未提测前。

现在还想从事软件测试行业的小伙伴们,想要心仪的工作,要多努力学习哟。我给大家整理了一份800多道软件测试面试真题的PDF文档。高清打印版打包带走,横扫软件测试面试高频问题,涵盖测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来...)

1、阐述软件生命周期都有哪些阶段?常见的软件生命周期模型有哪些?

2、什么是版本控制,常用的版本控制系统有哪些?

3、数据库三大范式是什么?

4、mysq|有关权限的表都有哪几个?

5、MySQL的binlog有有几种录入格式?分别有什么区别?

6、存储引擎选择?

7、什么是索引?

8、索引有哪些优缺点?

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1、切换目录用什么命令?

2、怎么查看进程信息?

3、怎么查看当前路径?

4、删除文件用哪个命令?

5、对文件的内容进行统计?(行号、单词数、字节数)

6、grep命令有什么用?

在这里插入图片描述

在这里插入图片描述

1、请写出table标签下面会包含哪些标签元素?

2、很多网站不常用table iframe这两个元素,知道原因吗?

3、 jpg和png格式的图片有什么区别?

4、常用浏览器有哪些,内核都是什么?

5、form标签上定义请求类型的是哪个属性?定义请求地址的是哪个属性?

6、简述一下src与href的区别?

7、before和::before区别?

8、如何让一个div.上下左右居中?

在这里插入图片描述

在这里插入图片描述

1、自动化工具选择的关注点?

2、常用移动应用自动化测试工具有哪些?

3、什么是 自动化测试?

4、自动化测试优点?

5、Jmeter的作用优点以及缺点?

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1、JMeter中处理器的类型是什么? 

2、解释什么是预置处理器元件?列出一些预处理器元件?

3、是否提到测试元件的执行顺序?

4、正则表达式中的“包含"和“匹配”表示什么?

5、服务器CPU指标异常怎么办?

6、你们的性能测试需求哪里来?

7、你们性能测试做的是前台还是后台?

8、性能测试指标有哪些?

在这里插入图片描述

在这里插入图片描述

1、说说你最大的缺点?

2、你对加班的看法?

3、你对薪资的要求?

4、在完成某项工作时,你认为领导要求的方式不是最好的,自己还有更好的方法,你应该怎么做?

5、如果你的工作出现失误,给本公司造成经济损失,你认为该怎么办?

在这里插入图片描述

在这里插入图片描述

最后

整份文档一共有将近 200 页,全部为大家展示出来肯定是不太现实的,为了不影响大家的阅读体验就只展示了部分内容,还望大家海涵,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!

 

相关文章:

高级自动化测试常见面试题(Web、App、接口)

一、Web自动化测试 1.Selenium中hidden或者是display &#xff1d; none的元素是否可以定位到&#xff1f; 不能,可以写JavaScript将标签中的hidden先改为0&#xff0c;再定位元素 2.Selenium中如何保证操作元素的成功率&#xff1f;也就是说如何保证我点击的元素一定是可以…...

京准电钟解读:为何不能用网络上的NTP时间源服务器

京准电钟解读&#xff1a;为何不能用网络上的NTP时间源服务器 京准电钟解读&#xff1a;为何不能用网络上的NTP时间源服务器 通常是因为以下几个方面的原因&#xff1a; 安全性问题&#xff1a; NTP服务器可能被黑客操纵或成为攻击的目标&#xff0c;如果服务器被攻破&…...

Android OpenGLES2.0开发(十一):渲染YUV

人生如逆旅&#xff0c;我亦是行人 Android OpenGLES开发&#xff1a;EGL环境搭建Android OpenGLES2.0开发&#xff08;一&#xff09;&#xff1a;艰难的开始Android OpenGLES2.0开发&#xff08;二&#xff09;&#xff1a;环境搭建Android OpenGLES2.0开发&#xff08;三&am…...

7种内外网数据交换方案全解析 哪种安全、高效、合规?

内外网数据交换方案主要解决了企业跨网络数据传输中的安全、效率与合规性问题。通过采用先进的加密技术、高效的数据传输协议以及严格的审批和审计机制&#xff0c;该方案确保了数据在内外网之间的安全交换&#xff0c;同时提高了传输效率&#xff0c;并满足了企业对数据合规性…...

详解:事务注解 @Transactional

创作内容丰富的干货文章很费心力&#xff0c;感谢点过此文章的读者&#xff0c;点一个关注鼓励一下作者&#xff0c;激励他分享更多的精彩好文&#xff0c;谢谢大家&#xff01; Transactional 是 Spring Framework 中常用的注解之一&#xff0c;它可以被用于管理事务。通过使…...

2025最新Flask学习笔记(对照Django做解析)

前言&#xff1a;如果还没学Django的同学&#xff0c;可以看Django 教程 | 菜鸟教程&#xff0c;也可以忽略下文所提及的Django内容&#xff1b;另外&#xff0c;由于我们接手的项目大多都是前后端分离的项目&#xff0c;所以本文会跳过对模板的介绍&#xff0c;感兴趣的朋友可…...

大模型面试问题准备

1. BERT的多头注意力为什么需要多头&#xff1f; 为了捕捉不同子空间的语义信息&#xff0c;每个头关注不同的方面&#xff0c;增强模型的表达能力 2. 什么是softmax上下溢出问题&#xff1f; 问题描述&#xff1a; 上溢出&#xff1a;ye^x中&#xff0c;如果x取非常大的正数…...

FFmpeg 命令行全解析:高效音视频处理从入门到精通

FFmpeg FFmpeg 是一款开源的多媒体处理工具集,支持音视频编解码、格式转换、流媒体处理等全链路操作。核心功能与工具: 多媒体全链路支持 支持 1000+ 音视频编解码格式(如 H.264、HEVC、AV1)和协议(RTMP、RTSP、HLS),覆盖录制、转码、流化等全流程。提供三大核心工具: …...

在使用LomBok时编译器弹出java: 错误: 不支持发行版本 5该怎么解决的四种方案

你遇到的错误 java: 错误: 不支持发行版本 5 表明你的代码正在尝试使用 Java 5 或更早版本的编译器&#xff0c;而这些版本已经不再受支持&#xff0c;并且可能与你当前使用的 JDK 版本不兼容。以下是解决此问题的步骤&#xff1a; 1. 检查项目语言级别 确保你的项目配置为使…...

【数据结构】(12) 反射、枚举、lambda 表达式

一、反射 1、反射机制定义及作用 反射是允许程序在运行时检查和操作类、方法、属性等的机制&#xff0c;能够动态地获取信息、调用方法等。换句话说&#xff0c;在编写程序时&#xff0c;不需要知道要操作的类的具体信息&#xff0c;而是在程序运行时获取和使用。 2、反射机制…...

在VSCode中安装jupyter跑.ipynb格式文件

个人用vs用的较多&#xff0c;不习惯在浏览器单独打开jupyter&#xff0c;看着不舒服&#xff0c;直接上教程。 1、在你的环境中pip install ipykernel 2、在vscode的插件中安装jupyter扩展 3、安装扩展后&#xff0c;打开一个ipynb文件&#xff0c;并且在页面右上角配置内核 …...

WordPress网站502错误全面排查与解决指南

502 Bad Gateway错误是WordPress站长最常遇到的服务器问题之一,它意味着服务器作为网关或代理时,未能从上游服务器获取有效响应。针对WP可能出现的502问题,本文提供一些基础到进阶的解决方案供大家参考:) 一、502错误的本质和核心诱因 502错误属于HTTP状态码中的5xx系列,…...

锂电池保护板测试仪:电池安全的守护者与创新驱动力

在新能源产业蓬勃发展的今天&#xff0c;锂电池以其高能量密度、长循环寿命和环保特性&#xff0c;成为电动汽车、无人机、便携式电子设备等领域不可或缺的能量来源。然而&#xff0c;锂电池的安全性和稳定性一直是行业关注的焦点。为了确保锂电池在各种应用场景下的可靠运行&a…...

flowable-ui 的会签功能实现

场景&#xff1a;在进行智慧保时通开发时&#xff0c;有个协作合同入围功能&#xff0c;这个功能的流程图里有个评审小组&#xff0c;这个评审小组就需要进行会签操作&#xff0c;会签完成后&#xff0c;需要依据是否有不通过的情况选择下一步走的流程 思考步骤&#xff1a; 首…...

Python学习第十七天之PyTorch保姆级安装

PyTorch安装与部署 一、准备工作二、pytorch介绍三、CPU版本pytorch安装1. 创建虚拟环境2. 删除虚拟环境1. 通过环境名称删除2. 通过环境路径删除 3. 配置镜像源4. 安装pytorch1. 首先激活环境变量2. 进入pytorch官网&#xff0c;找到安装指令 5. 验证pytorch是否安装成功 四、…...

Kibana:Spotify Wrapped 第二部分:深入挖掘数据

作者&#xff1a;来自 Elastic Philipp Kahr 我们将比以往更深入地探究你的 Spotify 数据并探索你甚至不知道存在的联系。 在由 Iulia Feroli 撰写的本系列的第一部分中&#xff0c;我们讨论了如何获取 Spotify Wrapped 数据并在 Kibana 中对其进行可视化。在第 2 部分中&#…...

半导体晶圆精控:ethercat转profient网关数据提升制造精度

数据采集系统通过网关连接离子注入机&#xff0c;精细控制半导体晶圆制造过程中的关键参数。 在半导体制造中&#xff0c;晶圆制造设备的精密控制是决定产品性能的关键因素。某半导体工厂采用耐达讯Profinet转EtherCAT协议网关NY-PN-ECATM&#xff0c;将其数据采集系统与离子注…...

CMake小结2(PICO为例)

1 前言 之前写过一篇cmake&#xff0c;不过很简单&#xff1a;CMake小结_cmake ${sources}-CSDN博客 构建系统现在真的太多了&#xff0c;完全学不过来的感觉&#xff0c;meson&#xff0c;gardle&#xff0c;buildroot&#xff0c; Maven。。。我是真的有点放弃治疗了。之前…...

5. Go 方法(结构体的方法成员)

Go语言没有传统的 class &#xff0c;为了让函数和结构体能够关联&#xff0c;Go引入了“方法”的概念。 当普通函数添加了接收者&#xff08;receiver&#xff09;后&#xff0c;就变成了方法。 一、函数和方法示例 // 普通函数 func Check(s string) string {return s }//…...

Linux查看和处理文件内容

1.文本文件 有字符集编码的文件 如&#xff1a;ASCII、UTF-8、Unicode、ANSI等 常见的文本文件 txt、xml、conf、properties、yml等配置文件、日志文 件、源代码 2.二进制文件 除文本文件外的文件 如&#xff1a;可执行程序、图片、音频、视频 3.cat 格式&#xff1a;…...

关于网络端口探测:TCP端口和UDP端口探测区别

网络端口探测是网络安全领域中的一项基础技术&#xff0c;它用于识别目标主机上开放的端口以及运行在这些端口上的服务。这项技术对于网络管理和安全评估至关重要。在网络端口探测中&#xff0c;最常用的两种协议是TCP&#xff08;传输控制协议&#xff09;和UDP&#xff08;用…...

Spring IoC和DI

Spring IoC和DI 1 IOC1.1 什么是IoC&#xff1f;1.2 IoC 介绍1.2.1 传统程序开发1.2.2 问题分析1.2.3 IoC程序开发1.2.3 IoC 优势 1.3 DI 介绍 2. IoC & DI 使⽤IoC 详解Bean的存储1.1 Controller&#xff08;控制器存储&#xff09; 1.2 Service&#xff08;服务存储&…...

centos9之ESXi环境下安装

一、centos9简介 CentOS Stream 9是一个基于RHEL&#xff08;Red Hat Enterprise Linux&#xff09;的开源操作系统。它是CentOS Stream系列的最新版本。CentOS Stream是一个中间发行版&#xff0c;位于RHEL和Fedora之间&#xff0c;旨在提供更及时的软件更新和新功能。CentOS …...

【论文学习】基于规模化Transformer模型的低比特率高质量语音编码

以下文章基于所提供的文档内容撰写&#xff0c;旨在对该论文“Scaling Transformers for Low-Bitrate High-Quality Speech Coding”进行较为系统和深入的分析与总结。 论文地址&#xff1a;https://arxiv.org/pdf/2411.19842 一、研究背景与动机 自20世纪70年代以来&#xff…...

Docker 2025/2/24

用来快速构建、运行和管理应用的工具。帮助部署。 快速入门 代码略 解释 docker run :创建并运行一个容器&#xff0c;-d是让容器在后台运行 --name mysql :给容器起个名字&#xff0c;必须唯一 -p 3306:3306 :设置端口映射 -e KEYVALUE :是设置环境变量 mysql :指定运行的…...

Rust语言基础知识详解【一】

1.在windows上安装Rust Windows 上安装 Rust 需要有 C 环境&#xff0c;以下为安装的两种方式&#xff1a; 1. x86_64-pc-windows-msvc&#xff08;官方推荐&#xff09; 先安装 Microsoft C Build Tools&#xff0c;勾选安装 C 环境即可。安装时可自行修改缓存路径与安装路…...

Kronecker分解(K-FAC):让自然梯度在深度学习中飞起来

Kronecker分解&#xff08;K-FAC&#xff09;&#xff1a;让自然梯度在深度学习中飞起来 在深度学习的优化中&#xff0c;自然梯度下降&#xff08;Natural Gradient Descent&#xff09;是一个强大的工具&#xff0c;它利用Fisher信息矩阵&#xff08;FIM&#xff09;调整梯度…...

Ubutu部署WordPress

前言 什么是word press WordPress是一种使用PHP语言开发的建站系统&#xff0c;用户可以在支持PHP和MySQL数据库的服务器上架设WordPress。它是一个开源的内容管理系统&#xff08;CMS&#xff09;&#xff0c;允许用户构建动态网站和博客。现在的WordPress已经强大到几乎可以…...

请解释 React 中的 Hooks,何时使用 Hooks 更合适?

一、Hooks 核心理解 1. 什么是 Hooks&#xff1f; Hooks 是 React 16.8 引入的函数式编程范式&#xff0c;允许在函数组件中使用状态管理和生命周期能力。就像给函数组件装上了"智能芯片"&#xff0c;让原本只能做简单展示的组件具备了处理复杂逻辑的能力。 2. 类…...

在Linux桌面上创建Idea启动快捷方式

1、在桌面新建idea.desktop vim idea.desktop [Desktop Entry] EncodingUTF-8 NameIntelliJ IDEA CommentIntelliJ IDEA Exec/home/software/idea-2021/bin/idea.sh Icon/home/software/idea-2021/bin/idea.svg Terminalfalse TypeApplication CategoriesApplication;Developm…...

如何在netlify一键部署静态网站

1. 准备你的项目 确保你的静态网站文件&#xff08;如 HTML、CSS、JavaScript、图片等&#xff09;都在一个文件夹中。通常&#xff0c;项目结构如下&#xff1a; my-static-site/ ├── index.html ├── styles/ │ └── styles.css └── scripts/└── script.js…...

网页制作09-html,css,javascript初认识のhtml如何使用表单

表单主要用来收集客户端提供的相关信息。,使网页具有交互作用。在网页制作的过程中&#xff0c;常常需要使用表单&#xff0c;如进行会员注册&#xff0c;网上调查和搜索等 访问者可以使用如文本域列表框&#xff0c;复选框以及单选按钮之类的表单对象输入信息&#xff0c;然后…...

Linux 命令大全完整版(03)

1. 系统管理命令 screen 功能说明&#xff1a;多重视窗管理程序。语  法&#xff1a;screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s <shell>][-S <作业名称>]补充说明&#xff1a;screen 为多重视窗管理程序。此处…...

【新人系列】Python 入门专栏合集

✍ 个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4dd; 专栏地址&#xff1a;https://blog.csdn.net/newin2020/category_12801353.html &#x1f4e3; 专栏定位&#xff1a;为 0 基础刚入门 Python 的小伙伴提供详细的讲解&#xff0c;也欢迎大佬们…...

嵌入式软件数据结构(一)链表知识点专栏 附源码 附原理

嵌入式软件数据结构&#xff08;一&#xff09;链表知识点专栏 附源码 附原理 前言&#xff1a; 首先我们要知道什么是链表&#xff1f; 什么是链表&#xff0c;链表是一种通过指针串联在一起的线性结构&#xff0c;每一个节点由两部分组成&#xff0c;一个是数据域一个是指…...

order by布尔盲注、时间盲注

pdo防御下&#xff0c;order by、limit不能参数绑定&#xff0c;可以进行sql注入 案例&#xff1a;靶场的less-46 布尔盲注&#xff1a; import requests from lxml import htmldef get_id_one(URL, paload):res requests.get(urlURL, paramspaload)tree html.fromstring(…...

数据结构与算法-图论-最短路-拓展运用

选择最佳路线 分析&#xff1a; 这是一道图论中的最短路径问题&#xff0c;目标是在给定的公交网络中&#xff0c;找到从琪琪家附近的车站出发&#xff0c;到她朋友家附近车站&#xff08;编号为 s &#xff09;的最短时间。以下是对该问题的详细分析&#xff1a; 问题关键信息…...

数据开发的简历及面试

简历 个人信息: 邮箱别写QQ邮箱, 写126邮箱/189邮箱等 学历>>本科及以上写,大专及以下不写 专业>>非计算机专业不写 政治面貌>>党员写, 群众不用写 掌握的技能: 精通 > 熟悉 > 了解 专业工具: 大数据相关的 公司: 如果没有可以写的>>金融服…...

android s下make otapackage编译失败

[DESCRIPTION] android s上&#xff0c;我司推荐使用split build的方式进行编译&#xff0c;但是部分客户依旧会采用AOSP full build的方式进行编译。而我司在这块release的时候&#xff0c;并未进行验证。因此执行make otapackage的时候&#xff0c;会出现如下报错。 [0312/…...

【算法通关村 Day12】字符串

字符串青铜挑战 字符串转换 转换为小写字母 给你一个字符串 s &#xff0c;将该字符串中的大写字母转换成相同的小写字母&#xff0c;返回新的字符串。leetcode791 public class ToLowerCase {/*** 将字符串中的大写字母转换为小写字母。** param s 输入字符串* return 转换…...

grafana K6压测

文章目录 install and runscript.jsoptions最佳实践 report 解析 https://grafana.com/docs/k6/latest/get-started install and run install # mac brew install k6当前目录下生成压测脚本 # create file script.js k6 new [filename] # create file ‘script.js’ in …...

SQLite 安装教程以及可视化工具介绍

目录 简述 1. Windows 系统安装 1.1 下载预编译的二进制文件 1.2 解压文件 1.3 配置环境变量 1.4 验证安装 2. GUI 可视化工具 2.1 免费工具 2.1.1 DB Browser for SQLite 2.1.2 SQLiteStudio 2.1.3 SQLite Expert 2.1.4 SQLiteGUI 2.1.5 Antares SQL 2.1.6 DbGa…...

谷云科技iPaaS×DeepSeek:构建企业智能集成的核心底座

2025年&#xff0c;DeepSeek大模型的爆发式普及&#xff0c;正引领软件行业实现 “智能跃迁”。从代码生成到系统集成&#xff0c;从企业级应用到消费级产品&#xff0c;自然语言交互能力已成为新一代软件的核心竞争力。据行业分析&#xff0c;超60%的软件企业已启动大模型适配…...

mac 下 java 调用 gurobi 不能加载 jar

在 mac 电脑中的 java 始终不能加载 gurobi 的 jar 包&#xff0c;java 的开发软件 eclipse&#xff0c;idea 总是显示找不到 gurobi 的 jar 包&#xff0c;但是 jar 包明明就在那里。 摸索了三个小时&#xff0c;最后发现原因竟然是&#xff1a; jar 包太新&#xff0c;替换…...

京准电钟:NTP精密时钟服务器在自动化系统中的作用

京准电钟&#xff1a;NTP精密时钟服务器在自动化系统中的作用 京准电钟&#xff1a;NTP精密时钟服务器在自动化系统中的作用 NTP精密时钟服务器在自动化系统中的作用非常重要&#xff0c;特别是在需要高精度时间同步的场景中。NTP能够提供毫秒级的时间同步精度&#xff0c;这…...

京东-零售-数据研发面经【附答案】

近期&#xff0c;有参加春招的同学和我交流了他的面试历程&#xff0c;我针对这些内容进行了细致的总结与梳理&#xff0c;并在此分享出来&#xff0c;希望能助力大家学习与借鉴。 1.八股文 1&#xff09;HashMap的底层原理是什么【见V6.0面试笔记 Java基础部分第19题】 2&am…...

面试之《react hooks在源码中是怎么实现的?》

要深入理解 React Hooks 在源码中的实现&#xff0c;可以从以下几个关键方面来剖析&#xff1a; 核心数据结构 在 React 内部&#xff0c;使用链表来管理每个函数组件的 Hooks。每个 Hook 对应一个节点&#xff0c;这些节点通过 next 指针相连。以下是简化后的 Hook 节点结构…...

泛型的约束有哪几种?(C#)

目录 1 值类型约束&#xff08;where T : struct&#xff09; 2 引用类型约束&#xff08;where T : class&#xff09; 3 无参构造函数约束&#xff08;where T : new ()&#xff09; 4 基类约束&#xff08;where T : <基类名>&#xff09; 5 接口约束&#xff08…...

Harmony开发笔记(未完成)

一、感想 作为一名拥有11年经验的Android开发者&#xff0c;我亲历了Android从高速发展到如今面临“僧多粥少”的过程。技术的世界瞬息万变&#xff0c;没有一种技术能够让人依赖一辈子。去年初&#xff0c;我自学了鸿蒙系统&#xff0c;并顺利通过了鸿蒙官方的初级和高级认。…...

DevSecOps普及:安全与开发运维的深度融合

一、引言 随着软件开发模式的演进&#xff0c;DevOps已成为现代软件工程的主流实践。然而&#xff0c;在传统的DevOps流程中&#xff0c;安全往往被视为开发和运维之外的额外环节&#xff0c;导致安全漏洞在产品交付后才被发现&#xff0c;增加了修复成本和风险。为了解决这一…...