校招结束,发个测试开发岗面经表示感谢~
写在前面:找工作的过程中在牛客上看了很多面经,也对自己有很多帮助,因此写下自己的经历,希望也能给大家一些帮助。另外我找的所有工作均是测试开发岗,可能不同岗位情况不太一样,所以如果有说的不对的地方,请大家见谅,都是个人经历,一家之言,也请勿喷!
为了方便大家阅读,我把整个过程分三部分来说,首先是我找工作的一个经历和面试中的一些感受,然后是对找测试开发岗的一个准备工作,我把大家最关心的面试问题放在最后一部分,不想看我啰嗦的同学可以直接跳到最后一部分看重点(由于很多面试集中在一上午或一下午,所以其中有些面试的问题记得不太全面了,请见谅!另外,我个人觉得面经的重点在于根据别人的面试查缺补漏,毕竟大家的问题不可能都一样,完善自己的遗漏知识点更重要)。
找工作经历及面试感受:
内推的时候很不顺利,一共投了30多家,投到最后简直没有尊严了😭,阿里投的是阿里集团,一直到结束都是新投递,建议之后同学在内推时要选部门!!但是也有看到有些部门直接回绝的,所以还是要打听清楚再投;腾讯投的北京的岗位,也没得到面试机会;整个内推只有网易和好未来得到了面试的机会,但是很幸运也都拿到了offer,网易的幸运是我校招幸运的开始,因为有了网易的offer,在整个校招过程中心态好了很多,所以找工作心态很重要,就算不顺利也一定要调整好自己的心态!
校招基本只投了北京的一些公司,除了滴滴、搜狗和腾讯(后来听说腾讯今年西安并没有投放北京的岗位😔),笔试很幸运都过了,我个人觉得笔试通过一方面是看答题的结果,另一方面跟岗位也很有关系,可能因为测试开发岗都还招人,所以在我觉得答得并没有很理想的情况下,居然也都过了,所以笔试没有过也不完全都是自己的原因,也不要气馁。
面试主要集中在几天之内,所以协调时间很重要。
美团的面试官给人的感觉都很温和,二面面试官很照顾情绪,害怕我紧张,说可以先跟他聊聊天;
阿里面试两面基本都在聊项目,面试官给的建议都是多参加一些社会实践,多实习;
360面试:本来以为360偏c ,就不太会问java,结果一面几乎全程都在问java,感觉像java知识的快问快答;二面面试官人特别好,我上线时他已经在线了,因为刚从外面回来,还跟我说让我坐下歇会,准备好了我们再开始,问的主要是项目,面试官说360的测试开发偏开发,测试有专门的测试人员做,最后给的建议是用简短的语言讲清楚自己的项目,可以用画图的方式方便面试官理解你的项目,平时我在介绍项目时都会给面试官画图,但由于360是视频面,就没有画(阿里视频面时就画了图)。另外语速要合适,我可能语速比较快,讲项目面试官就会听得不是很明白。
这里说一个插曲,在面美团时,面试官让写两个栈实现一个队列时,脑残的在面试官话没说完时自己说了个队列,因此换了题。后面百度也是,本来说让写判断回文,可能我又表现出来做过,又被换了题,但是我还是跟面试官大概讲了讲回文的思路。
百度面试感觉更注重技术细节,其中写代码时面试官给的是有指针的函数定义,表示不会c ,然后就让用c,因为不熟没敢写,最后用的java,面试官最后给建议时说c是很重要的,不然内存泄露发现不了问题很严重,让说微信的性能测试,也就没有往兼容性上想,一直没有说到机型的问题,之后说到多机时我才提到了多个机型的问题,面试官不太满意,之后说机型是很基础的要考虑的情况。
关于hr面:个人觉得hr面也要条理清晰,表达清楚,最重要的是要能够自圆其说。
经过这么多面试,也通过跟面试官的沟通,我觉得我能通过的主要原因是逻辑思维能力还不错,表达没有太大问题,技术还算过关,另外我看了一些测试的书籍并做了一些整理和总结。所以我觉得对于测试开发来说的话,这些方面可能会是比较看重的吧。
另外关于面试,个人觉得在面试中如果问到了你熟悉的问题一定要回答全面,可以有自己的思考和总结在里面,如果被问到的不太熟,可以说一些相关的知识点或你的想***比较好。
准备工作:
推荐大家去看360招聘公众号里的职位解忧铺,有一篇是讲测试和测试开发的,里面对于要做的准备介绍的比较详细,我个人是从找实习开始决定要找测试开发的(之前想找前端,4月份发现来不及果断转了),所以一直以来也就主要准备了计算机网络(tcp/ip详解卷1、谢希仁的计算机网络)、数据库(sql必知必会、数据库案例应用)、操作系统(现代操作系统、清华的公开课)、数据结构和算法(剑指offer、大话数据结构、leetcode只做了一点、还有牛客上的算法课)、java语言(
java程序员面试宝典、java程序员的基本修养、大话设计模式只看了重要的 )、测试相关(软件测试的艺术、从菜鸟到测试架构师、软件测试技术大全、selenium,qtp,junit的一些相关资料和书)、linux看了一点(鸟哥的私房菜基础篇和网络篇)。总之很多东西是看完就忘,我是边看会在onenote记笔记,忘了就回去翻笔记和书再看看。
另外,经常会有人说测试是找不到开发的人才去做的,我不得不承认,当时确实是因为觉得前端缺太多而且还得同时准备算法、网络、数据库这些东西,时间来不及才选择做的测试开发,但是我觉得关于职业选择应该是选最适合自己的,我是认为如果我去做开发,可能也勉强能做,但是以我的技术水平和积累,将来也是会被拍死在沙滩上的,还不如做测试开发,至少经验的积累可能未来也够混口饭吃,另外,兴趣也是在职业选择中很重要的一部分,当然只是个人想法,也未必正确。
最后是一些面试问题的整理:
美团
一面
介绍项目,写一个排序数组中给定数出现的次数,给出测试用例,java的垃圾回收,数据库,写一个course表中选课的top5,linux中写一个查找加匹配的命令,从输入网址到显示的过程
二面
两个队列实现一个栈,估算西安有多少架钢琴,你和开发就1像素的界面区别有不同看法,怎么说服开发,软中断、硬中断,pcb,时间片轮转调度被抢占发生了什么
三面
项目,看了测试方面的哪些书,对反转单词顺序的问题设计测试用例,为什么选测试开发
hr面
为什么辅修人力资源,对你的帮助,技术之外最有成就感的事,为什么选北京,投了哪些公司,offer的选择
百度
一面
简单问了项目难点,对测试的了解,问对linux的了解程度,java的内存分配,内存泄露,内存包括哪些区域,什么时候回收内存,集合类,hashmap和hashset的联系,vector的底层实现,扩容与arraylist的区别,给定索引后目标串替换原串写代码,网页为什么会打不开,显示不全,网页上数据量很大,还要计算,怎么快速返回给用户,给ab两个文件,各5亿url,每个长64bit,内存4G,找交集,给定n个整数从中随机取出m个不相同的整数
二面
从输入网址到打开页面,服务器端如何根据url读取文件,写字符串的字符查重,不能用现有容器,所以用了数组实现,字符为26个字母,只用一个临时变量实现字符查重,测试手机qq和微信的性能
三面
挑一个 最能体现你能力的项目介绍,最有成就感的事,最让你觉得受挫的,团队合作,团队矛盾,职业规划,应对压力,最忙忙到什么程度,具体到时间,设计测试用例,淘宝收藏夹和水杯,主要说思路,为什么辅修了人力资源,以后有没有想过去做这方面,offer情况
阿里
一面
对java语言的理解,面向对象,项目
二面
项目,死锁,如何预防,和老师或同学意见冲突怎么办,工程上遇到问题怎么解决,最大的困难,最大的成就感,团队合作,职业规划,两根不均匀的香,一根燃完1个小时,如何得到15分钟
hr面
讲发表的文章,职业规划,offer情况
360
一面
项目,java抽象类和接口,是否能实例化,接口中是否有成员变量,垃圾回收,full gc ,jvm内存模型,内部类,5亿数据下,arraylist和linkedlist谁插入快,java中同步的实现,线程池,concurrenthashmap,sortedset,mysql存储引擎,区别,锁的级别,tcp三次握手,四次挥手,设计模式
二面
项目,进线程区别
hr面
家庭情况,为什么来北京,优缺点,职业规划,如何劝唐僧不去取经,薪资期望,为什么没有实习
网易
一面
写双向链表的头插,尾插和删除指定索引节点,给一个功能写测试用例,http的缓存机制
二面
抽象类和借口区别,对测试的了解,团队管理,团队合作,如何面对压力,工作中用到的知识并不是你熟悉的领域(从知识的共性入手回答的,并举例)
hr面
为什么选测试开发,项目和测试开发的关系,期望薪资
好未来
项目,如何测试手机,测试手机通话功能,对测试的了解,bug管理系统,bug优先级
找工作实力和运气都很重要,我可能是运气更多一些,感恩~最后把很有感触的一句话分享给大家,offer从来都不会缺席,只是可能会迟到而已,希望大家最后都能找到满意的工作,加油!