测试开发:面试真题+学习准备

作者: 6b440373157d | 来源:发表于2017-12-22 11:16 被阅读320次

    岗位:测试开发

    我的秋招已经接近尾声了,目前拿到了滴滴,58,链家,电信it研发中心的offer,在等头条、腾讯和百度的结果。秋招面了的公司除了这7家还有搜狐和美团,搜狐面试体验不好,感觉二面面试官不尊重我(不是压力面,就是不尊重),所以我态度也不太好,面完hr说我那天的面试通过了,回去等通知,然后就没有然后了。美团是内推免笔试的,远程面了3轮技术面然后就没消息了,说实话我回想了一下三轮面试基本没什么问题,该答的该写的我都答的不错,就是想不通哪个环节出了问题。现在我就按我面试的顺序跟大家分享一些面经和感悟吧。大多数面试我面完回来没写面经,因为感觉太累了,所以只能大概的回忆一下。

    一、链家(内推的,笔试完八月底去北京现场面,2轮技术1hr

    链家是我秋招面试的第一家公司,专门跑了一趟北京现场面的,链家工作环境不错,hr姐姐也很nice,面试官整体也还不错,之前已经写了面经。

    潜水牛客快一年,贡献一波面经(毕竟第一次走到了hr面)。

    面试前会做一个小时笔试,笔试题难度中等,1道算法 4道编程,一眼望去很难,其实多想一下基本都会有思路,最后一道题是关于数据库的,不太懂,没有写,前面四道都写了思路,有一道编程把代码也写了一下。

    一面

    1.自我介绍

    2.学通信的为什么选择来做测试,优势在哪

    3.项目中遇到了什么记忆深刻的事情或者经历,让自己成长了很多,用通俗的语言把项目具体遇到的问题和解决过程描述一下(项目是通信的,他不懂)。这个问题主要是考察表达能力。

    4.让讲了一下笔试题里的一道算法题设计思路,针对笔试的令一道题设计测试用例

    5.有没有实习?

    6.同学朋友怎么评价我?自己有什么缺点?

    7.能提前来实习吗?

    8.有什么问题要问的?

    然后就是闲聊,面试官三十六七岁的样子,应该是部门的leader,人很好,很幽默,回答问题的过程中他能抓出来重点反问,一针见血那种,但是整体都挺开心的。一面主要是面试官对我的简历上的经历比较满意,所以没问什么太专业的问题。30min。

    二面

    1.OSI七层模型

    2.链路层解决什么问题?链路层包头内容?

    3.IP层和TCP层作用?TCP包头

    4.socket编程用过吗?讲一下服务器和客户端socket流程。

    5.服务器端socket流程中listen和accept哪个是带阻塞的?什么情况阻塞?

    6.TCP连接时的几个计时器?(我回答的几个他竟然不知道,都是TCP/IP详解那本书里面的,我也不知道他问的到底是啥,他说可能我挖的太深了,反正他一脸懵逼)。

    7.socket读和写的时延(写时延我回答的是超时计时器,超时重传时间为1s,3s,5s,6s,12s.....他又懵了);读时延我说不了解,问了他一下,他跟我说读时延是用来测量服务器处理时延的,然后画了首发过程让我指出读时延具体是发送和接收流程中的哪段时间。

    8.下午的笔试题感觉怎么样?难不难?(我说还好,他说他感觉还是挺有难度,尴尬)

    9.针对笔试题中的一道题问了问题,那道题开放性设计算法的,我大概写了思路,第二问代码没写,我的思路中用了字典树,哈希和桶排序,他就让我详细讲了一下字典树在那道题里怎么用,讲的过程中发现有的点我当时没想清楚,卡了,他就让我想,想出来后加大难度继续提问。后来卡了不知道怎么继续的时候他说他说一下他的思路,结果讲着讲着他也卡了,哈哈哈,然后这个问题就跳过了

    10.对链家有什么看法?

    讲完后还给我讲了一下链家的技术团队,在上海合并了以前的一个类似的搞房产的公司,成立了新的分公司,那边有二三百人的研发,北京四五百人(有点怀疑真有这么多吗)

    11.有实习吗?他说还是北京上学的学生运气好,机会多,很多人平时都在外面实习,实战经验丰富。

    12.有什么想问他的?

    二面是一个很年轻的面试官,略严肃,问的问题也挺刁钻,有好几次差点没答上,主要考察开阔性思维和知识的融会贯通能力。跟他交流的过程还是学了不少,也发现了一些知识漏洞,收获挺多。30min

    三面

    1.自我介绍

    2.对链家有什么看法

    3.自己有什么优点

    4.为什么做测试?测试和开发是什么关系?

    5.软件出了问题是开发背锅还是测试背锅?

    6.项目中负责的模块如果给别人做,别人会做的更好嘛?(这个问题好难回答。。。回答的不好)

    7.对前两位面试官的看法

    8.能来提前实习吗?

    9.有什么问题问他?

    最怕的就是hr,感觉他们问的问题套路都好深,防不住就入坑了,还是情商太低。第一次hr面,还是个男hr,感觉挺好玩的。15min。

    链家整体感觉还可以,工作环境不错,周围也很安静,hr说每天提供两餐,还有班车接送。唯一坑爹的地方是面试等的太久了,等了三个小时才一面,导致360笔试迟到了十分钟,一下午在那里等的好崩溃。希望有个好结果吧,毕竟跑这么远,好辛苦,住大家好运~

    二、58(内推笔试,2轮技术面1hr面,视频)

    一面:45min,

    没有让自我介绍,直接上问题

    1、挑一个印象深刻的项目,讲一下遇到了什么问题,如何解决的。

    2、C预编译是什么?做了哪些工作?

    3、C内存泄露

    4、一个10G的文件,存放了用户的访问记录(每次记录占1行),如何找出访问频率最高的前10个?

    5、25匹马,5个跑道,如何在最少的比赛次数内找出最快的三匹

    6、Linux如何找出10天内修改过的文件

    7、一个链表,如果找出最中间的结点(答了三种方法,最优的是用快慢指针)

    8、数组和链表的区别

    9、堆和栈的区别

    10、数据库了解吗?平时用的什么数据库?(我说了解的不多,所以只问了一个问题)

    11、数据库索引作用?有哪几种

    12、SQL语句找出班级成绩排名50-100的同学姓名

    13、URL解析的全过程

    14、除了web服务器,还了解什么服务器?(答了负载均衡服务器,让我具体说了一下作用、负载均衡服务器用在刚才说的URL解析的哪个步骤、比较流行的负载均衡服务器有哪些)

    15、200个数存在数组里,数字大小在1-100以内,如何找到出现频率最高的一个,不能用辅助内存

    16、排序算法时间复杂度

    17、多线程同步互斥机制

    18、线程池作用

    19、哪些应用用到TCP,哪些是UDP

    20、进程间通信方式

    面试难度还可以,都是比较基础日常的问题,没有问测试的东西。

    二面:30min

    1、自我介绍

    2、介绍两个项目和论文,针对项目提了几个问题

    3、C内存泄露了解吗?如何避免?

    4、测试的作用是什么?

    5、C常用的数据结构有哪些?具体的应用场景?

    6、HTTP协议了解吗?HTTP报文格式?

    7、Linux常用指令?ps命令的参数有哪些,含义

    8、测试都要做哪些工作?回答的里面有接口测试,又问了我接口测试是什么?什么是接口?

    9、性能测试做什么工作?

    答了压力、负载等,又问了压力测试怎么做?我举例说比如模拟1000个用户并发登录;又问我如何用C代码实现这

    1000个用户的并发,我说用多线程编程,结合线程池;他说如果不用线程池呢,没想出来(后来问了他这个问题怎么搞,

    他说试题答案不方便同步,巴拉巴拉的,我猜是他也不知道答案)

    10、如何启动线程?

    11、设计测试用例,如何测试优酷视频客户端

    12、哈希冲突处理方式

    13、有什么问题要问他

    hr面:20min

    hr面常问的一些套路问题。。。

    三、美团(内推免笔试,3轮技术面,13面是电话面,2面牛客网视频面)

    一面:1h10min

    1、自我介绍

    2、输入URL的具体响应过程

    3、刚才讲述的URL过程涉及到哪些协议,具体讲一下相关的协议内容(DNS,TCP/IP,HTTP,ARP)

    4、HTTP常用的方法有哪些?POST和GRT区别?

    5、session和cookie的理解?

    6、了解SYN包吗?讲一下具体应用(讲了TCP三次握手过程,主动讲了TCP超时计时器可以保证可靠传输,又问了TCP还有什么保证可靠传输的机制,握手拥塞控制)

    7、SYN Flood了解吗?具体解释一下现象和原因,解决方法

    8、socket编程过程(服务器客户端,结合三次握手讲了一下)

    9、智力题:一个圆桌,AB两个人放硬币,A先放,先放不下的人输,A如何放才能保证赢

    10、智力题:8个球,1个球比其他7个重,如何用一个天平秤2次找出重的球

    11、简历写了学习了JMeter,主要学习了什么,用它做了什么,如何用它做性能测试

    12、C编译链接的全过程(预处理编译汇编链接)

    13、静态链接和动态链接区别?

    14、静态库和动态库后缀?(答了.lib和.dll,她说你说的是windows下面的吗,我说是的。不过我也不知道linux下的啊。。)

    15、静态链接的时候显示undefined reference to的原因有哪些

    16、C虚继承的作用

    17、C智能指针

    18、C  define和const区别?

    19、C  static成员函数和成员变量是什么?什么时候需要用到静态成员变量?

    20、C深拷贝和浅拷贝

    21、STL了解哪些?(讲了vector、list等,让我讲了区别,vector的底层实现机制)

    22、写了两个数据库SQL查询语句,比较简单

    23、Linux用过吗?查看当前目录指令?

    24、查看进程指令?(答了ps,又让讲了ps的参数和作用)

    25、查找某个文件后100行中子串word出现的行

    26、功能测试包括哪些方面的测试?

    27、功能测试有哪些方法(答了等价类,边界值,因果图,让解释了一下等价类)

    28、测试电梯,设计测试用例

    二面(40min)

    1、自我介绍

    然后直接写代码,比较简单,牛客可以在线调试

    第一题:字符串反转

    第二题:二叉树反序列化中序遍历

    写完代码还没来得及调试就让先讲思路,然后就结束了。。。

    三面(经理面,30min)

    1.自我介绍

    2.项目负责的模块占整个项目的百分之多少

    3.负责的模块难点在哪

    4.团队中和别的同学发生过意见不合的情况吗?如何解决的?

    5.进程线程区别

    6.进程的状态和转换条件?

    7.输入一个网址后跳转到目标网页过程中用了哪些协议?DNS解析分类?ARP解析过程?

    8.创建进程用到了哪些函数?答了fork,vfork,问了这俩区别

    9.对测试的看法?讲了测试具体要承担的职业,让继续说,又说了测试需要具备的能力,还让继续,又说了测试和开发沟通的问题

    10.为什么做测试?怎么学习测试的?学习了哪些东西?

    11.设计测试用例的方法?

    12.测试用例要素

    13.可以实习吗?具体时间?

    14.家是哪的?父母对我去北京工作的看法?

    15.手里有哪些offer?美团和这些offer之间我选择哪个?

    16.单身吗?

    最后再吐槽一句,我不服,哈哈哈,因为美团是我最想去的公司,本来以为挺稳的,结果就这么莫名其妙挂了,还难过了一整天,后来他们来武汉面试的时候本来约了一个同学跟他一起去霸面的,结果前一天晚上百度约了3面,我就没有去,面完百度回来我就不想去霸面了,此处不留爷自有留爷处,哈哈

    四、滴滴(校招批笔试,现场3轮技术1hr

    滴滴面完没有写面经,我就大概回忆一下。

    一面:50min

    1、自我介绍

    2、介绍项目,问了项目的一些细节(主要考察语言表达能力和思维清晰度)

    3、针对项目设计测试用例

    4、C内存对齐,给了俩结构体例子让我求出占用内存大小

    5、C构造函数、拷贝构造函数和赋值运算符的应用,给了俩代码让我指出调用了哪个构造函数

    6、平衡二叉树是什么?给8min手写平衡二叉树代码

    忘了。。。

    二面:40min

    1、自我介绍

    2、不用加减法交换两个整数值

    3、写代码:把hello world转换为world hello(剑指offer原题)

    4、0号进程和1号进程

    5、智力题:100块钱买鸡,公鸡5块,母鸡2块,小鸡5毛,100块钱全部花完的前提下给出所有购买方案

    6、写代码:实现STL的auto函数

    7、c  volatile关键字的作用

    忘了。。。

    三面:40min

    三面是总监面,主要讲了项目,然后给了我一个实际的场景,让我想办法解决问题

    HR面:20Min

    继续套路。。。然后我还被套进去了

    五、头条(内推笔试,3轮视频技术面,hr面还没挨到我)

    依旧是靠回忆写面经,哈哈哈

    一面:40min

    1、自我介绍

    2、写代码:N个数,有2个数出现了1次,其他数都是出现了1次,找出这2个数(剑指offer原题)

    3、HTTPS了解吗

    4、将一个HTTP数据包升级为HTTPS后,我如何设计测试用例

    5、数据库索引类型

    6、数据库删除表数据操作,答了delete和trancate。删除表操作?答了drop,然后问了这三个的区别

    7、写了一个sql查询语句

    8、TCP三次握手和四次挥手过程,挥手为啥要4次

    9、shell用过吗?问了几个指令,让写出杀死错误日志中的进程的脚本代码

    忘了。。。

    二面:40min

    1、自我介绍

    2、写代码:非递归实现二叉树的镜像

    3、给了几个数据库的表,写sql

    忘了。。。

    三面:50min

    1、自我介绍

    2、写代码:找出字符串中的驼峰字符(badcan,第一个a和第二个a就是驼峰),删除驼峰之间的字符

    3、HTTPS了解吗

    4、将一个HTTP数据包升级为HTTPS后,我如何设计测试用例(-_-||拿的是同一套面试题吗)

    5、输出www.baidu.com后,从数据包走向、协议和前端发生的一些事情等方面讲一下

    6、假设你是百度的工作人员,四川地区人民反应他们上不了百度主页,你将从哪些方面排查?

    忘了。。。

    面完后hr打电话说面试通过,10月中选前hr面。

    六、百度(秋招笔试,现场3轮技术面)

    一面:50min

    1、自我介绍

    2、写代码:字符串最长上升子序列

    3、针对刚才的代码设计测试用例

    4、写代码:判断链表是否有环

    5、针对刚才的代码设计用例

    6、给2个表,用sql的连接和嵌套两种方式写sql语句

    7、测试电梯

    忘了。。

    二面:45min

    1、自我介绍

    2、写代码:实现memcpy函数

    3、针对刚才的代码设计测试用例

    4、写代码:字符串匹配的,具体不太记得了

    5、针对刚才的代码设计测试用例

    6、进程间通信方式

    7、TCP和UDP区别,应用场景

    8、为啥做侧开?优势是啥?

    忘了。。。

    三面:50min

    1、自我介绍

    2、问了一些性格方面的问题,还有项目中遇到问题和冲突如何解决的

    3、写代码:给了个实际场景,设计算法然后写出来,不是很难,很快搞定,描述起来太麻烦我就不说了

    4、10亿本书,如果想知道某个单词在哪些书中出现过,如何设计数据结构和算法?

    5、测试两部电梯

    忘了。。

    七、电信IT研发中心(笔试,现场2轮技术1hr电面)

    岗位后端开发

    一面:

    1、自我介绍

    2、C指针和引用区别

    3、C  static关键字

    4、C  const关键字

    5、C类中一个函数可以同时用static和const修饰吗

    6、数据库where和having区别

    7、输入一个网址后发生了什么

    8、HTTP包头

    9、HTTPS了解吗

    10、UML了解吗

    忘了。。。

    二面:

    1、自我介绍

    2、C编程的时候都需要注意哪些问题?

    3、C内存分配方式

    4、项目

    忘了。。。

    八、腾讯(秋招笔试,现场2轮技术 1轮hr)

    一面:40min

    1、自我介绍

    2、实现strcpy函数(之前看了源码没考虑内存重叠,所以我写的时候也没考虑,然后被怼-_-||)

    3、OSI七层模型(忘记会话层和表示层具体干嘛的了,大概按我的理解说了一下表示层作用)

    4、了解jemter底层原理吗?我说不了解,但是我可以说说我的理解,然后说了一堆

    5、为啥做侧开?优势?为啥去深圳?诸如此类的一些问题

    忘了。。。

    一面是个leader,全程面无表情怼我,搞得我好紧张,但是我还是全场面带微笑扛下来了,结束的时候让我问问题,本来觉得应该是挂了,但是出于礼貌还是问了两个问题。后来竟然过了,汗。

    二面:40min

    1、自我介绍

    2、写代码:快排。问了时间复杂度和稳定性

    3、TCP握手流程

    4、TIME WAIT了解吗

    5、TCP劫持了解吗

    6、上网的时候界面有时候会弹出广告,你觉得是什么原因?

    7、socket编程的流程

    8、数据库索引底层原理

    忘了。。。

    HR面:45min

    腾讯的hr面感觉快赶上某为的面试了,性格、家庭、兴趣爱好巴拉巴拉的全都问,都是套路,但是一不小心还是会被套进去。

    腾讯今年的面试很奇怪,面的很简单,看了其他搞后台开发的同学的面经感觉也都挺基础,这是要扩招?

    关于测试&测试开发&开发

    前段时间有个同学问我投的都是什么岗,我说测开,他说那你岂不是已经一堆offer了。。。我当时挺无语,感觉搞开发的同学特别看不起测开,感觉测开就是给他们打杂的没什么技术含量。就我了解,百度的测开不仅仅是开发测试工具和平台,还要跟业务结合做一些开发的工作,其他公司好像基本都是开发工具和脚本。在我面试的这些公司里,基本都是以开发的标准在面测开,测试的东西反而比较少,代码该写的还是要写,算法该问的还是要问,从编程语言,数据结构,数据库,网络到linux,我不觉得这些知识哪一项是侧开可以不掌握的,不知道有些看不起测开的同学是什么情节,测开的开发工作确实会比开发少一些,但是不论是面试还是知识广度深度上都不会亚于开发的。

    对于测试工程师,主要是做功能测试,所以相对较轻松。

    关于秋招准备

    我读研期间主要是做理论研究,今年三月份才看完c、数据结构和网络,找实习的时候投的都是开发岗,奈何基础太差,没找到。七月份注意到测试开发这个岗位,分析了一下觉得更适合我,所以开始看了一些测试的书籍和视频,自学了软件测试工具jemeter,但是平时看书主要还是按开发的要求在准备,刷题主要是剑指offer,在牛客刷了2遍,每次面试前我都会再过一遍。

    关于内推or校招

    就今年的形式来看,内推开始的特别早,很多人都参加了内推,估计内推就占了很多坑,在准备的还可以的前提下我建议参加内推,有的公司内推不过还可以秋招,但是感觉几率很小了。但是内推存在的问题是,开始的早,准备可能不够充分,另一方面,远程面试的效果会比现场面差,所以如何取舍还是要看自己。

    关于面试套路

    1、问到会的东西,一定要慢点说(虽然我到现在也没学会,面试的时候总是会忘记这点),可以适当拓展,把自己知道的相关的都说出来,把面试官往会的地方引,不要被牵着鼻子走,不然。。。你懂得。

    2、遇到不会的,如果是偏底层的问题,大家了解的其实都不多,可以跟面试官说说自己的理解,如果是表层的东西,不会的就直接说不会,不要瞎掰。

    3、面试的时候一定要表现的自信!这点特别重要!有时候回答完面试官会反问确实是这样吗?这个时候如果比较确定就一定要自信的说确定!

    4、面完让问问题的时候一定要多问岗位相关的,显得你好学!

    5、hr面主要考察你的稳定性、积极性和性格,要小心一些,表现的积极主动乐观一些,不然容易被套路,别问我为什么。。。

    6、关于现场写代码,一般不会很难,基本都是剑指offer的题目,十分钟以内可以搞定,实在不会的,就按笨办法写,然后面试官会引导你的。还有需要注意的就是,想到一个方法,不管好不好,都要说出来,表明你在主动思考,抛砖引玉,面试官会继续引导你的。

    今天先写到这,后期想到别的东西我会来补充,祝大家顺利~~~

    本文来源于牛客网

    作者:会飞的鱼_fly

    相关文章

      网友评论

        本文标题:测试开发:面试真题+学习准备

        本文链接:https://www.haomeiwen.com/subject/fkytgxtx.html