- 博客(74)
- 收藏
- 关注
原创 航旅纵横测试开发一面面经
一开始以为问的是那种找偶现bug的那种压测, 后面才反应过来是性能压测工具, 说了loadrunner 后续又问了压测的时候怎么看cpu占有率, 我说用loadrunner自带的那个生成测试报告, 就可以看了。会有线程安全问题, 本质上是为了提高处理并发的能力, 但是也牺牲了很多精力去防止线程安全, 以及可能有死锁问题, 造成阻塞, 而且对服务器来说会有额外的性能开销。11 反问 问了公司的技术栈, 以及对我面试的建议(好久没面了, 希望有人说出我的不足加以改正)9. 使用多线程, 会有什么缺点吗?
2025-02-26 19:51:12
216
原创 灵犀互娱游戏测试开发一面面经
大概说了一下之前实习的组, 业务是做什么的, 以及c#来做为测试开发语言是因为那边的产品就是c#来写的, 猜测是因为方便开发帮忙写自动化~~ 以及selenium用很多语言写都差不多, 所以用c#自己也能适应。2. 看你的简历上有写关于用友的实习, 可以介绍一下那边的业务吗?6. 看你博客写的东西不少, 会的技术栈也很杂, 连前端的css选择器都学了,为什么要学这个。阿里的子公司, 做的是游戏业务, 所以投递的时候把简历上加上了自己的游戏经历.5. 说说王者荣耀如果你是打野的话, 具体的游戏思路是什么。
2025-02-26 00:01:54
556
原创 每日两题 双指针的应用,复写零,移动零
我们先来看题目描述,给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。
2024-07-31 00:07:21
357
原创 每日两题 快速排序,两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。
2024-07-30 00:32:48
462
原创 MySQL索引,事务
在关系型数据库中,如果一张表中的数据过多,那么在查找的时候会很慢, 这是因为数据库查询的时候,会便利表中的数据. 而且数据库中的数据是在硬盘中存储的,硬盘的IO操作时间是远远低于内存的. 所以就很影响用户体验. 针对这种情况,我们引入了索引这种概念,-Index ,index在英文中也叫目录,就和我们翻看书的时候,可以查看目录,就可以很快的查找到我们想要的数据了.
2024-05-19 17:01:08
695
原创 spring的常用注解
我们在学习spring的时候,经常会用到注解。那么spring都有哪些注解呢?它是一种为程序代码提供元数据信息的标记。在Java中,注解以@开头,可以附加到类,方法,字段或者其他代码元素上,用于提供额外的信息或指示编辑器解释器或其他工具对这些代码元素进行特殊处理。接下来,我将介绍一些常见的注解。
2024-04-27 22:00:20
988
原创 自动化测试框架 Selenium(3)
本篇博客,我们将继续Selenium自动化测试的学习.在前面的章节中,俺介绍了Selenium是怎么回事,和键盘鼠标操作.还有url和title的获取,接下来我们将介绍更多Selenium的操作.
2024-04-11 21:55:26
493
原创 自动化测试框架-senlenium(2)
前面我们讲了如何定位元素,那么我们把元素定位到了以后,又如何进行操作呢?这篇博客我们会分几个模块来详细的介绍这些操作.如何的去操作测试对象。
2024-04-10 23:56:07
471
原创 UI自动测试框架-selenium(1) selenium介绍和选择器
selenium是用来做web端自动化测试的框架,它支持各种游览器,各种平台,支持各种语言(如 Python,Java,C#,JS,Ruby...等)有丰富的api.它的原理就是 我们将代码构造一个http请求发送到webdiver游览器驱动,游览器驱动在发送到游览器.游览器响应到游览器驱动,驱动在返回到代码里给程序员看到.xpath是一种在XML中文档中定位元素的语言,因为HTML可以看做XML的一种实现,所以selenium用胡可以使用这种语言在web应用中定位元素,依旧可以成功的选择我们想要的。
2024-03-21 23:35:48
696
原创 什么是自动化测试,自动化测试有什么作用
在技术日益发展的今天,一个优秀的项目,不仅仅是开发人员的心血,更离不开测试人员的帮助.传统的人力测试会消耗大量的人力资源和时间成本.在面对一些项目的时候就显得力不从心了,这时候我们可以使用自动化测试来帮助我们来减少时间成本和人力成本,达到我们预期的结果.自动化测试值软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估结果,将人为驱动的测试行为转化为机器自动的过程.自动化测试金字塔.
2024-03-17 00:28:44
804
原创 测试用例的设计(2)
我们在前面的文章里讲了测试用例的几种设计方法,分别是等价类发,把测试例子划分成不同的类型,在每个类型中选取一个.这样可以解决软件测试不能穷举的问题.还有边界值法.该方法可以完善等价类划分法,我们把测试用例中的范围划分成.上点(边界上的点),内点(边界内的点),还有离点(如果是开区间,就是边界内离得最近的一个点,如果是闭区间,就是边界外离得最近的一个点). 还有因果图,通过它来画判定表,把测试的条件都全面考虑到来细致的测.
2024-03-12 16:32:29
2676
1
原创 测试用例的设计(1)
基于需求设计测试用例是测试设计和开发设计的基础,第一步是分析测试需求,验证需求是否正确完整,无二义性,并且逻辑自洽.在需求正确的基础上细化测试需求,从测试需求中提炼出来一个个的测试点.(3)外部大型复杂网络应用系统,比如电子商务,网上银行,视频网站(腾讯,优酷)等,除了有复杂的系统的功能测试需求外,在系统的性能,安全性,兼容性,容错性,可靠性等都有很高的要求。1.有效等价类,对于程序的规格说明书是合理,有以以的数据构成的集合,利用有效等价类验证程序是否实现了规格说明书中的功能和性能。
2024-03-11 00:33:04
1132
4
原创 [Spring] IoC 控制反转和DI依赖注入和Spring中的实现以及常见面试题
Spring是一个开源框架,他让我们的开发更加简单,它支持广泛的应用场景,有着活跃而庞大的社区,这也是Spring能够长久不衰的原因.这个概念还是相对于比较抽象,我们用通俗易懂的话来讲,Spring是包含了众多工具方法的IoC容器 那么问题来了,容器是什么.什么是IoC容器。
2024-03-10 14:00:36
1354
1
原创 JVM垃圾回收机制(GC)
目录1.什么是垃圾回收2.GC对于虚拟机各块的影响3.垃圾回收具体是怎么展开的3.1引入计数3.2可达性分析(JVM使用的就是这种方法)3.2.1.标记清除3.2.2.复制算法3.3.3标记整理3.3分代回收 在C语言等编程语言中,采用的是动态内存管理,我们使用malloc申请内存,free释放内存,在malloc这种方式申请到的内存是伴随整个进程的生命周期的,这一点对于服务器非常不友好,因为服务器每个请求都去malloc一块内存,如果不去free释放,在内存越来越多的时候,后续内存可能就申请不
2024-03-07 09:34:54
1079
原创 软件测试的基本概念
1.发现问题的版本开发人员需要知道出现问题的版本,才能获取到对应版本的代码来重现故障,并且版本统计和分析每个版本的质量2.问题出现的环境环境分为硬件环境和软件环境,如果是web项目,需要描述游览器版本,客户机操作系统等,如果是app项目,需要描述机型,分辨率,操作系统版本等,详细的环境描述有利于故障定位3.错误重现的步骤描述问题重现的最短步骤4.预期行为的描述让开发人员指导怎么样是正确的,尤其是以用户的角度来描述程序的行为是怎么样的,如果是依据需求提出的故障,能写明需求的来源是最好的。
2024-03-07 00:42:10
647
原创 CSS选择器的常见用法
css选择器的主要功能是选中页面指定的元素,选中了元素,就可以设置元素的属性了.这就好比当我们在编辑word文档的时候,想要更改字体颜色或者大小,可以用鼠标选中要更改哪些字.然后在修改.在CSS中也需要选中元素.我们有好几种选择器可以来选则不同的元素.
2024-03-04 12:32:59
406
原创 JVM类加载机制以及双亲委派模型的介绍
类加载,指的是Java进程在运行的时候,把.class文件从硬盘读取到内存,并进行一系列校验解析的过程..class文件=>类对象.硬盘=>内村类加载的过程在Java官方文档中有说明类加载大致可以分为五个步骤:即 加载.验证 准备 解析 初始化这五个步骤.下面我们分别来介绍这五个步骤干了一些什么。
2024-03-02 21:57:05
885
原创 JVM的内存区域划分
JVM也称为Java虚拟机,它是Java代码的运行环境,Java属于半编译半解释形的语言.它的运行环境在虚拟机上,而不是物理设备.Java这么设定主要是为了跨平台,即一套代码,多处使用.我们只需要编译出一套Java代码, 就可以部署到不同的操作系统中去.Java不想重新编译,而是期望能够直接执行,先通过Javac把.Java文件=>.class文件.字节码文件就是Java字节码.是它自搞得一套cpu指令,因因此.我们编写和发布一个Java程序,只需要发布.class文件即可.
2024-03-02 20:49:56
1079
原创 HTTPS是什么,详解它的加密过程
我们知道HTTP协议是超文本传输协议,它被广泛的应用在客户端服务器上,用来传输文字,图片,视频,js,html等.但是这种传输如果经过了黑客的路由器或者别有用心的人的设备,可以很轻松的破解并修改我们的内容,这种协议的安全性得不到保障.为了解决这种问题,我们引入了HTTPS,它是基于HTTP协议的一种加密安全协议,可以把HTTP协议传输的内容进行加密传输,让黑客或者别有用心的人破解不了.
2024-03-01 22:03:11
1504
原创 [HTTP协议]应用层的HTTP 协议介绍
我们在前面的博客中,简单的介绍了传输层,网络层,数据链路层等网络层的协议和相关概念,这些协议越往上越和我们编写程序的人息息相关,尤其是应用层和传输层,本篇博客,我将带领大家认识和了解应用层的重要协议--HTTP协议.HTTP又叫做超文本传输协议,所谓的超文本就是即可以是文件也可以是图片或者视频文字之类的. 也可以是HTML 或者CSS JS文件和文本传输只能是字符串不一样,超文本可以传输更多类型的数据.
2024-02-08 23:40:00
1446
原创 数据链路层
目的地址/源地址:mac地址,是六个字节的地址,在每一个设备出场的时候网卡里就有自己的mac地址.IP地址和mac地址是两套不同的地址体系,它们是两组不同的人做的.现在都会使用.以太网数据帧的载荷部分是有长度要求的,最短是46字节,最长的1500字节,46字节是因为ARP是46字节,1500字节是因为硬件限制了.只能这么大 这个被称之为MTU。这一套流程下来,就完成了数据传递的过程,每一层所负责的都不一样.共同合作完成了我们的目标.IP地址是统筹规划的,而MAC地址是只负责相邻两个设备之间的传输。
2024-02-07 22:38:06
369
原创 IPv4的公网地址不够?NAT机制可能是当下最好的解决方案
我们都知道IPv4的地址范围是32个字节,这其中还有很多地址是不可用的.比如127.*,这些都是环回地址.那么在网路发展日新月异的今天,互联网设备越来越多,我们该如何解决IP地址不够用的问题呢?目前有一种主流的解决方案,也是大家都在用的--NAT机制首先我们把IP地址分为两大类,私网IP和公网IP,私网IP又叫做局域网IPIP地址是10.&,172.16-172.31*,192.168* 这三类地址是私网IP。
2024-02-06 18:14:36
752
原创 IP协议,把这篇文章看完就够了
方案二:使用别的协议,如IPv6,.IPv6有十六个字节的大小,可以给地球上每一粒沙子都分配一个地址,所以是远远够用的,但是这涉及到一个问题就是,设备更换起来很麻烦.全世界的所有服务器基本上都支持IPv4,但是很少有支持IP v6的.我们国家是这方面的先行者,现在中国对于IPv6的普及已经到二零百分之70以上了, 但是现在还是不太现实,我个人非常看好IP v6。2.4位头部长度,IP协议的的头部长度是32bit,也就是length*4字节数,4比特表示最大的数字是15,因为ip头部的长度是60个字节。
2024-02-05 02:15:01
961
原创 深入理解TCP网络协议(3)
在前面的博客中,我们重点介绍了TCP协议的一些属性,有连接属性的三次握手和四次挥手,还有保证数据安全的重传机制和确认应答,还有为了提高效率所用的滑动窗口等.然而TCP协议的特性远不止这些,在这篇博客中,我们将更深入的了解决TCP协议的其它特性.
2024-02-04 17:21:51
1454
原创 深入理解TCP网络协议(2)
滑动窗口机制是TCP协议中很有意思的一种机制,它的作用主要是为了提升传输效率,据我们前面所讲的,TCP协议中每次传输数据都会等待对端发送一个ack报文以后才会继续重传下一份,但是这样的效率会很低,不利于我们传输大量的数据.所以前辈们设计了滑动窗口机制.主要的机制是,我们发送端可以一次发送多个数据,然后等待一份ack即可,等到了以后继续发送,这样可以将传输效率大大提高了, 我们用一张图来生动形象的描述一下滑动窗口的过程.而现在则是发送一波数据以后,统一等一波ack,把多次请求的时间统一成一份时间来等.
2024-01-31 01:28:48
1064
原创 一篇文章带你搞懂UDP协议报文以及注意事项
答:我们可以参考TCP是如何实现可靠传输的,可以设置序列号来做一个确认应答机制,如果对端收到了我们的信息,就会发送一个应答序列号,如果我们没有收到这个序列号,就可以进行超时重发了,TCP是可靠,有连接,面向字节流的一种网络协议,而且传输的文件大小也没有限制,那么是不是TCP协议就一定要比UDP协议好呢?1.UDP本身是无连接,面向数据报,不可靠的一种网络协议,如果要基于这种协议,来实现一个可靠传输应该如何设计.2.UDP的大小受到限制,如果要基于传输层的UDP协议,传输超过64k的数据,如何设计.
2024-01-27 23:31:22
441
原创 深入理解TCP网络协议(1)
在Linux中(windows中也是如此),会以500ms为一个单位去控制,每次判定超时重传的时间都是这个数值的整数倍,如果依旧没有得到应答,就会在2*500ms的时间后再次重传,以此类推,每次都是上一次的两倍,但是如果时间过长又会发生什么呢?如果是两次握手,那么就只是在我们上面提到的第二次握手,这样,接收端就不知道自己的发送功能和发送端的接收功能是不是好的,起不到我们想要的效果.第三次握手的时候,接收端收到发送端的应答报文,就明白自己的发送功能和对方的接收功能都是好的.
2024-01-27 22:24:09
3505
4
原创 [TCP协议]基于TCP协议的字典服务器
TCP协议是一种有连接,面向字节流,全双工,可靠的网络通信协议.它相对于UDP协议来说有以下几点好处:1.它是可靠传输,相比于UDP协议,传输的数据更加可靠.当然这里的可靠是相对的,并不是真的万无一失.我们会在后面的博客中给大家详细介绍TCP协议的可靠传输.2.它传输的字节流文件没有大小限制,不像UDP协议,一次只能传输64kb的报文数据.但是也有缺点:1.开销大,需要对连接的建立与维护,以及确认数据报的确认和重传,会增加网络开销.2 传输效率低;
2024-01-27 01:20:55
1052
原创 [MySQL]关于表的增删改查
select name, math+chinese+english as 总分 from exam_result where math+chinese+english < 200;Insert into stuent(列名,列名,列名)values(数据,数据,数据,),(数据,数据,数据);select name from exam_result where name like '孙_';
2024-01-22 20:08:59
979
原创 [网络编程]UDP协议,基于UDP协议的回显服务器
UDP协议是一种网络协议,它是无连接的,全双工,并且是面向数据报,不可靠的一种协议。常用于在线视频播放,游戏这种实时性要求比较高的应用。或者无需可靠传输的应用,如DNS查询 SNMP等。一次UDP数据报报文传输的数据最大为64kb,实际上,UDP因为头部占用八个字节。所以可传输的精准大小为64kb-8b = 65507字节。
2024-01-21 19:28:24
2164
1
原创 [MySQL]基础的增删改查
MySQL是一种客户端-服务器程序。我们在客户端写的SQL语句会上传到服务器上保存。它的里面可以存database数据库,而每个database里面可以有多张表。我们可以在表里面存入我们想要的数据,这种表有点类似于EXCEL表格一样,有行和列。它的底层是B+树。
2024-01-21 00:42:17
1131
原创 [计算机网络]基本概念
注:如何去理解端口和IP地址,就好比在买快递的时候IP地址是是你家小区的地址,而端口号是你的手机号码,通过IP地址找到你家小区,在通过手机号码精准定位到个人。网络层:负责地址管理和路由选择,例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式来规划出两台主机之间数据传输的合理路线,路由器就是在网络层工作的。注意我们这里说的是传统意义上的交换机和路由器,也称为二层交换机(工作在TCP/IP五层模型的下两层)、三层路由器(工作在TCP/IP五层模型的下三层)。负责设备之间的数据帧的传送和识别。
2024-01-20 00:55:39
1094
3
原创 [文件IO]文件操作的几个笔试题
直接就是先通过字节流的read()方法,把目标文件的内容通过字节数组给读出来,然后写入到我们创建的文件里。扫描指定目录,并找到名称中包含指定字符的所有普通文件(不包含目录),并且后续询问用户是否要删除该文件。看到题目以后,理清思路。首先扫描目录找到文件这种操作,和二叉树类似,得用递归来写。然后我们创建一个2.jpg把文件给复制过去看看效果。我们一开始有一个图片1.jpg。可以看到文件被成功的复制下来了。我们先来看一下题目描述。结合题目一和题目二来写。
2024-01-19 01:33:03
437
原创 [文件I/O操作] 用Java代码来操作文件
在文件中,我们可以分为两种类,一种是字符文件,另外一种则是二进制文件。而对应的,这两种类型的文件我们可以用不同的方法去读写。
2024-01-17 01:34:49
399
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人