金九银十在不知不觉中到了,招聘市场又是一轮毫无硝烟的激烈战场,接下来我会不定期更新我这个月的面试情况,不管是线上的笔试,还是线下的笔试和面谈过程,我大概都会记录下来,供大家参考
9月1号面试情况
今天,有家小公司面试了,先线上笔试,一开始是简单的思维逻辑题(不痛不痒),然后中间是让你设计测试用例,后面难的部分就来了,
题目一:给一张图登录的截图,给了坐标和类型,让你写登录的自动化脚本,我看了,大概要涉及到UI自动化,连按钮的坐标都给你写的清清楚楚,我目前只会接口自动化,所以这题没做;
题目二:给一组数据,让你写代码,从小到大排序输出,就是排序算法,这个简单,只要你提前做好了准备稍加复习即可,记住,笔试题肯定有代码,如果涉及到排序,请把那几种排序复习(冒泡排序,选择排序,插入排序,归并排序,快速排序)
题目三:给出一段代码,让你写出用例设计,包含各种覆盖,有语句覆盖、判定覆盖、条件覆盖、条件组合覆盖、好像还要写出基本路径测试法,我记得大学课本软件测试这本书上有,现在都忘了
题目四:给出一张jmeter性能图:让你解释什么意思,其性能怎么样,该如何优化性能等等
题目五:有一个登录界面的测试,A电脑登录了这个用户名,怎么让B电脑再次登录的时候登不进去或者登进去让A自动弹出下线,这个,我在以前设计用例的时候会想到兼容性问题,但此时怎么解决,我还真不知道,大佬们有办法解决吗?
9月2号面试情况
今天继续面试,简单的题目我就不再说了,我只把我觉得有点难度的列举出来,至少我当时回答是卡了一会的
题目一:python多线程有了解吗?能讲讲你懂的python多线程的东西吗? 这个真的超出我的能力了,多线程我只懂一点点,因为大学学过Java,大概知道多线程怎么一回事,但是此时讲python的多线程,我不知道从何讲起,基本上就是按照Java理解的来讲,请同学们多留意一下这个线程
题目二:数据库中的索引用过吗?怎么创建一张临时表?还有索引的优点和缺点是什么?我懵了,我只会基本的多表连接的sql查询,这怎么搞,临时表怎么建,我也忘了,这玩意太久没用到,所以,这题我基本没回答出来
题目三:提高数据库检索速度的手段有哪些?请同学们多复习数据库,复习内容包括sql语句,索引等知识,细微的知识稍加复习带过,比如(drop与delete区别、视图与表的区别、聚合函数有哪些、左连接与右连接与全连接的区别 等等)
题目四:给你一个验证码,怎么去测?这真的难倒我了,我没测过,真的不会
题目五:你简历上面写了解网络协议,你说说你知道哪些,分别具体讲讲什么意思?这。。。。。我只会http,超文本传输协议,因为这个最熟用的多,还记得ARP,但是啥意思就不知道,忘了,还有其他的我也不知道也想不起来,感觉这个面试要凉凉
9月3号面试情况汇总,面了三家总结而来的
1.笔试题,现场笔试,有些题目在这里跟大家说一下,笔试题有很多是牛客网上的测试题,你们如果要去一家公司笔试,就最好把牛客网上面的选择题和填空题都刷一遍,把错题再刷第二遍第三遍,因为笔试很多考理论,我今天有些没做出来,
2.笔试题,也涉及到数据库的题目,建议把如何创建表,增删查改,创建索引,创建视图,sql的代码都写一遍,复习一遍,我这都是血淋淋的坑啊,sql语句自己不熟练的,赶紧去练练手
3.笔试题,涉及到吞吐量、平均交易响应时间、cpu使用率等等,你们一定要去学习这方面的知识,笔试题和机试题都已经出现过了,这是第二次出现
4.面谈,问了PIL线程锁,不懂,不知道这啥玩意,没回答出来,你们自己查查相关资料,这已经时第二次问到python线程锁了
5.面谈,问python中的装饰器,没听过,只知道ddt,因为@ddt常用,其余真的不知道,你们最好去拓展了解一下
6.面谈,问jmeter的那些跑出来的东西,什么最大交易次数,平均次数,还有什么90,95百分比,啥玩意当时不懂,我用jmeter用的不多,所以不知道这么详细的东西,你们的解决方法,要么你们自己用实战项目亲自跑一遍,要么去找资料自己主动了解,要么你就等着凉凉,因为最近这种东西,我已经是碰到第三次了
7.面谈,问了我会不会UI自动化,不太会,真的不太会,所以,个人感觉市场上UI自动化需求量挺大的,草,上午下午的两家公司都问到了,我只能尴尬陪笑,所以,建议你们学完UI再找工作,或者你觉得自己UI掌握的还行,那就面试时,底气会很足,自信更多一些
8.对了,还问到了覆盖率,问了我做接口自动化,用例的覆盖率多少,我当时回答的不好,因为我没想到会问这个问题,我也不知道真实的覆盖率是多少,你们下次要注意这个问题,最好提前准备,想好怎么回答
9.面谈,问了冒泡排序,讲解逻辑思路和现场用笔写出冒泡排序的代码,这个我提前准备了,所以说的头头是道,一愣一愣的,把面试官看蒙了,搞得他还以为我逻辑思维很清晰,其实,嘿嘿,我是提前准备了
这里提个醒:排序涉及到,冒泡排序、选择排序、插入排序、递归排序、快速排序、二分法排序(我印象中是记得有这个排序),还有时间复杂度,空间复杂度,你们最好提前复习总结好,因为,有总比没有强,提前作准备,有备无患,还可以复习以往的知识
10.有些公司还问了Linux,还问linux版本,草,鬼知道,反正我是菜鸡,我直接说不知道,因为真的平时工作只用基本的Linux语句,会杀进程kill -9 ,会ps - ef | gerp找东西,会备份,会压缩打包解包,复制删除就行(哪怕你不会这些linux指令都行,因为有个工具叫xftp,你可以打开这个,手动压缩和解压,手动删除复制,这个最简单粗暴了),平时就用这些,谁还管Linux版本,真的无语,怎么会有这样的问题,我个人觉得这个问题就是想显示面试官的个人优越感而已,不过关于linux的指令,你们最好还是去xshell上面连接服务器多练练,如果不敢练手,就自己copy一个文件,做个备份,自己熟练熟练语句也行,反正,不管你linux,学的扎不扎实,自己心里要有数
11.面谈,那个牛批的面试官还问了我,怎么把接口自动化做成一个平台那样或者怎么看待接口自动化在测试行业中的流程?这真的难回答,他后来告诉我了,我这里一时半会说不清,也表达不出来,反正我觉得他说的有道理,他是测试老大,手下带了20多个员工,其中不乏有从巨头公司(鹅厂,菊厂之类的)跳槽过来的,我是头一次碰到这么牛批的面试官(他干测试干了16年,我在他面前说接口测试说unittest,他说他十年前就已经用起来了,只不过不是python语言,是用VB敲出来,VB是老古董了,汇编之类的),只要是测试相关啥都懂,还指出了我简历上的一个技术错误地方,好尴尬,就是jmeter的跑出来的一些东西,我真的佩服的五体投地,真的服,这种人我服,贼几把厉害,其实我挺想跟这样的大佬学习,当个小弟能学到很多很多,哎,就怕他看不上我,总之不管如何,我觉得希望不大,暂不想这么多吧,我觉得很多人都是卧虎藏龙,江湖还是大有高人在啊
9月4号面试情况,面了2家自研公司,把问到的问题,稍加总结一下
1.python中的取模,如何把列表转为字符串,针对列表如何去重,随机数的生成 (取模我有点忘了,你们最好是查一下或者复习一下)
2.python的装饰器有哪些,都起到哪些作用,具体怎么在项目中实现的,这个答不出来,你们自己研究吧
3.python中的深拷贝、浅拷贝;还有正则表达式也问了 (正则表达式,上课时没认真听,害,后悔,赶紧看录播吧,那节正则表达式的课)
4.常用的linux命令,至少列举10条
5.tcp与Udp的差别,哪个是三次握手,哪个是四次握手,具体实现的原理是怎么样的,能讲讲吗?
6.python中的元组、列表、字典有什么区别,把你所知道的都讲一下
7.问到了docker容器 (这个我没回答上来,我只知道公司里的开发人员在用,我一个测试真的不清楚这个东西)
8.如果来测一部升降的电梯,就商业写字楼办公楼的那种,从1楼到30楼类似这样的电梯,你会怎么测?
9.微信群聊这个功能,怎么来设计测试用例
备注:今天面试没面好,感觉都要凉凉,请你们跳槽面试前,做好面试准备,不要向我这个菜比一样,问啥啥不会。。。。。。。。。 今天有点伤心,因为很多问题,其实是以前自己整理过一些东西,我没复习,比如tcp与udp,我以前还专门画了图的,现在忘了,还有深拷贝浅拷贝也忘了,明明是些很常见的面试题,怪自己没有准备好,真的不应,明天再去面一家,然后把这几天面试的问题,自己再好好摸索研究一下,到底问题出在哪,哎,还是怪自己,水平和能力还是不够啊
9月5号面试情况 (只面了一家自研公司,本该去一家外包公司面笔试的,后来想想还是算了)
1.具体聊聊你简历上这个项目的流程,怎么测的,
2.讲一个你截止至今业务最复杂的一个项目,业务逻辑最难最复杂的,讲细一点
3.python迭代器,这还是首次问到,你们去复习一下
4.python中的静态方法和类方法,有什么区别
5.你写python语言写脚本常用的第三方库和常用的模块有哪些?
6.冒泡排序,直接写代码写出来,然后问我每一行的代码的意思,这个简单,我还把排序算法的逻辑给他讲的清清楚楚,小case
7.给我五张表,让我写sql语句查询,一开始有点紧张,其实没啥,无非就是多连接主键而已,这个不难,这是基本功,还是有把握的,你们一定要确保自己的sql查询没问题哈
8.还问到了devops,不知道的同学自己百度了解一下,大概是开发测试运维一体化,属于敏捷开发测试的的一种流程,适合那种版本迭代周期短且频繁的项目,因为我上家公司刚好是这个模式,所以我就巴拉巴拉一顿乱说(其实没有,我还是很恭恭敬敬得态度诚恳的认真说,不敢吹,怕搬石头砸自己脚,给自己挖坑)
9.还问到了git与SVN的区别 这是这几天第一次问,我答的不好,你们当心点,注意复习一下
10.最后还进行了上机机试,草,让我测他们公司真实的项目,让我写用例和找bug,突然感觉这公司。。。。。有点慌,周六都还加班,有点猛啊这公司
备注:这家公司办公环境还行,但是周六加班,这个让我有点心有余悸,但是先不管其他,争取拿到offer,本来就是抱着试一试的态度去的,万一生活突然给你惊喜呢
9月7号面试情况 面了2家自研公司(一个去公司面试,一个牛客网视频面试)
1.你在这个项目设计测试用例的时候,怎么去设置危险项?
2.当用数据库去校验时,产生的脏数据或者垃圾数据怎么清理掉(或者说跑用例的时候产生的数据)?
3.打印日志的倒数第三行,Linux指令怎么去写?
4.接口自动化时,比如一个功能退款,如果让你设置参数,你会设置哪些?
5.如果1000个相同的退款同时发起请求你怎么处理? (我当时说了高并发和线程以及锁方面的东西,也不知道说的对不对)
6.请详细说一下这个过程,https://www.baidui.com 发起请求的过程,把内部的请详细说明白
7.微信扫码支付的这个功能,如果让你去设计测试用例,怎么去考虑测试点?
8.打印日志倒数100行,用Linux指令怎么写? 这已经是第二次问到了
9.有三个文件 1.txt 2.txt 3.txt,用Linux指令找出每个文件中含有句号。的内容 (这个真的忘了,以前自学时,听懂过,大半年没看,真的忘了)
10.数据库中,inner join 和 left join 的区别
11. 数据库中,查询最大的某某某,怎么写sql ( 用到聚合函数Max() )
12.现场在线编程题,题目一:找出列表中第二大的数 题目二:写一个方法,要求请求接口的次数最少(其实实质是 要考查二分法排序) 这两道题都是在面试官眼皮底下在线编程的,鼠标不能移开当面页面,你敲的每一行代码的顺序和思路以及规范性等等,面试官可都在看着呢
13. == 和 is 的区别以及拓展到深拷贝与浅拷贝
以下是一个朋友的面试被问到的问题,供大家参考:
01、python2中有range和xrange,这两个有什么区别?
02、print(int('111', 2)) 的结果是?
03、在python当中如何获取命令行参数?
04、test = [{'name':'tom', 'salary':20000}, {'name':'jack', 'salary':15000}, {'name':'liming', 'salary':10000},],根据salary由大到小进行排序
05、python中id、is、=、== 分别是比较什么的?
06、python的小数据池是什么?
07、truncate的作用?
08、如何调整文件中的指针?
09、f.write('hello'),hello是写进了文件还是只是存在内存当中?如何使写的内容主动存储到文件中?
10、流程控制当中:pass、continue、break、exit分别是什么作用?
11、python当中的赋值、浅拷贝、深拷贝有什么区别?
12、python中的可变数据类型有哪些?为什么叫做可变数据类型?
13、python中lambda、map、filter、reduce这些内置函数的作用?利用这些函数,找出1到100中所有的奇数。
14、为什么*args和**kwargs叫做函数的非固定参数?它们是什么数据类型?
15、函数的作用域有哪些?作用域的查找顺序?
16、给出最后print的结果
def multipliers():
return [lambda x : i * x for i in range(4)]
print([m(2) for m in multipliers()])
17、字符串的拼接可以使用+和join完成,两者有什么区别?
18、python的自省是指的什么?
19、一行代码实现1-100偶数求和,至少5种方式
20、什么是闭包函数,闭包函数满足什么样的条件?请写一个常见的闭包函数。
21、什么是递归函数?请用递归函数实现10的阶乘:10*9*8*7....*1
22、什么是装饰器,装饰器的作用是什么?
23、写一个简单的登录验证的装饰器。
24、什么是可迭代对象、迭代器、生成器?
25、json和pickle模块的作用是什么?有什么区别?
26、利用random模块写一个6位的随机验证码,验证码内包含字母、数字(随机出现)
27、re模块中,search、match、findall的作用分别是什么?
28、用户输入一个时期格式:2020-11-06返回是一年中的第几天?
29、如何使用subprocess执行查看/bin/目录下的存在我文件或者目录?
30、类名为People,说一下下面这些特殊属性的作用。
People.__dict__
People.__module__
People.__doc__
31、内和对象在内存中是如何保存的?
32、什么是绑定到对象的方法、绑定到类的方法、非绑定方法,这些方法有什么特点?
33、python中的经典类和新式类有什么区别?
34、Python中staticmethod,和classmethod的作用是什么?
35、__slots__属性的作用是什么?
36、在python中in操作对于list, set, tuple, dict 效率如何?
37、python中异常处理的作用是什么?什么是万能异常?如何在一段代码上加万能异常?
38、什么是粘包?粘包现象是怎么发生的。如何解决粘包?
39、什么是并发和并行?
40、简述进程、线程、协程的区别以及使用场景。
41、进程之间是如何进行通信的?
42、什么是生产者消费者模型?
43、IO多路复用的作用?
44、IO模型有哪些,描述下各个IO模型的特点?
*****非技术问题********
1.自我介绍
2.你的离职原因
3.你发现的最严重的一个bug
4.你碰到的最大的困难是什么
5.你的优点和缺点
6.你对测试这个职业的发展规划是怎样的?
7.谈谈生活或工作中最让你自豪或最有成就感的一件事
技术问题:
1.怎么做接口自动化的,实现的一个流程具体是怎么样的?
这个我教不了,全靠自己项目答,自己总结提炼一下即可
2.你测试的设计用例是怎么设计的,参数怎么得来?
太简单了,你们自己回答
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
最后,我来帮大家总结这么常见的几项:
1.数据库知识,建表,查询,增删改,一定要写出来,不是你看的懂就会而已,要保证自己亲自能写出来!!!(忘记了怎么写的,去我博客随笔分类的数据库中看,sql练习题,多表查询无非就是加了主键的id连接,其他没差别,自己去体会)
2.python多线程和锁,问到两次了,请赶紧自学查资料
3.吞吐量、交易的响应时间、cpu使用率以及性能截图上的各种英文单词和百分比代表的含义,不懂就自己想办法搞截图,请教高手
4.排序的各种算法(至少掌握一种,且得手写排序算法的代码出来,自己拿笔写几遍就熟练了)
5.笔试题(很多理论,v,w,H,x各种模型理论,路径覆盖或者条件组合覆盖的题也多),如果参加公司的笔试,请提前刷牛客网,你不相信我,你会后悔的!!!
6.只要你们两人刚坐下来,基本会问:UI自动化做过吗?能具体讲讲项目中怎么做的吗?
7.python的装饰器,问了两次了
8.python的深拷贝与浅拷贝,也问了两次了
9. python中的元组、列表、字典有什么区别,这几天前前后后一共有3家公司问到过
10.Linux指令再次问到了,请掌握,如果你不会用或者用的不多,请多去复习,在我的博客分类中有linux这篇,全是指令(但不全,只是一些我平时工作常用的),供你们了解
11.打印日志的倒数多少行,用Linux指令来表示(另外告诉你们,自己去举一反三,查查怎么打印日志的前多少行,这里给你们提醒了)
12.Python常用模块 os,sys,logging,time,ddatetime,
未完待续,持续更新中。。。。。。。。。。。。。。。。。