百度质量部测试开发工程师(感谢牛客网)
首先感谢牛客网为我提供了这样一个平台,它知识覆盖面之广,让我可以肆无忌惮的来刷题。对于我而言,找工作就告一段落了,现在是回馈牛客网的时候了。目前手上有华为算法工程师,百度测试开发工程师,老家那边的研究所。相比于一些大牛,我肯定不是厉害的,不要喷我,但是对于这些,我已经满足了,还是愿意分享给大家我的经验,希望能够帮助到你们。
我的专业是通信,研究生期间的项目偏理论研究,代码量很少(实际5000行)。是从5月份开始准备找工作的事情的,主要是针对测试或者测试开发的岗位的。先复习了C和C++(C++没看完),数据结构与算法(代码几乎实现了至少一遍),计算机网络(尤其是TCP的那一章节)。由于没学过操作系统、数据库、软件测试,所以就简单的了解了一下操作系统和数据库常见面试题目,并且把MySQL的操作命令熟悉了一遍,然而并没有什么卵用,面试时还是说不清楚,被鄙视。。。重点复习了一下软件测试,在图书馆借了好几本关于测试的书,重点推荐《软件测试技术经典教程》,赵斌编著,先是看了软件测试的基本概念和方法,分析了书上的测试案例,其实仅有这些是不够的。还买了一本《剑指offer》来看(可以在牛客网上在线编译的),看了第一道题目之后,醍醐灌顶一般,原来写代码是酱紫的。使我对写代码的规范性和完整性有了新的认识。
这些知识看了一遍之后,已经是7月中旬左右了,我在简历上写了熟悉C/C++,数据结构与算法,计算机网络,了解数据库、操作系统和软件测试。这时候已经有很多公司开始了内推,我真的是海投的,简历通过筛选的次数很少。经历了几次内推面试后,觉得自己准备不够,面试的问题都是回答的模棱两可的,都止步于一面。但是我做了一些分析,其实面试问题挺简单,但是我没有深入的了解。并且我对操作系统和数据库了解的太少了,面试官看到简历上有这些的话,还是会问的,然后就丢人了(捂脸)。
就这样,内推一无所获,内心是奔溃的。然后就重新深入的研究碰到的面试题目,就拿排序算法吧,快速排序的时间复杂度为什么是o(N*logN),**,我当时是不知道的(不要鄙视我),只是简单的记住,然后面试的时候就露馅了。考虑到实在没有学过操作系统和数据库,仅一些皮毛,我就没有把这两个放在简历上了,事实证明,这是明智的决定,因为面试官不再问我了。针对于测试这个岗位,我在写代码的时候,就很专注于测试用例以及边界条件等。
说完准备工作,接下来分享一下面试经验。
华为主要是问项目,我的项目偏理论研究,也非常对口,没有可以分享的,因人而异。如果你觉得自己足够牛,一定要表现的非常非常自信,并且主动争取进入总裁面,拿到special offer,比批发价好不少。
昨天拿到了老家那边研究所的offer,待遇很不错,是我的第一意向。研究所很看重学校出身、专业对口和性别(本人是妹纸)。如果真的想去研究所的话,就做一些与研究所对口的项目的,你会受益匪浅的。我简直是走了狗屎运,在校招宣讲会的最后一站拿到了offer,岗位是软件测试,问我对测试的了解,测试的关键是什么?怎样做到零bug?这些问题没有统一的答案,看自己怎么说了。还问到自己在项目过程中用到了哪些测试方法,怎样做测试,为什么设计那样的测试方案?因为在项目过程中,很少有机会做到专业的测试工作,所以能问的 也就这些了,如果没有时间了解测试工具,就不要浪费时间,最好能去公司实习一两个月。
今天收到了百度HR的电话,拿到了测试开发的offer,这个需要重点讲一下。我是免笔试的,据说是因为我的成绩很好,获得了很多的奖学金,我原以为奖学金是没用的(捂脸)。。。面试是连着三面。一面,先问项目,我就重点讲了与测试和写代码的项目经历,节约时间。面试官问代码量多少?项目中用到了哪些测试方法?为什么这样测试?写代码的时候用到了哪些测试方法?然后开始写代码,第一个是链表反转,我写的很快,关键是细节,边界条件,特殊条件,一定要全面,同时自己最好写上测试用例(这得益于《剑指offer这本书》);第二个是非递归实现二叉树的先序遍历,我写了一会儿,没有写出来,然后面试官说那你写递归遍历吧,我很快写了出来;最后是给我一只笔,让我对这只笔进行测试。二面,直接写代码,字符串相加(大数相加),我是会的,但是比较花时间,我就说这个可能要花很久,然后面试官说那就换成字符串中第一个只出现一次的字符吧,然后设计测试用例,我也很快的写了出来,他表示很满意;接下来,面试官说了一个app,根据输入,判断输出怎样的三角形,即是否非法输入,是否是三角形,锐角三角形,钝角三角形,直角三角形,等边三角形,等腰三角形等等,写出所有的测试用例,并要考虑这款app的兼容性问题(我当时没想到)。最后是问我对未来有什么规划没?三面,先问我最失败的事情,最成功的事情,自己的性格,我以为是综合面,就放松了警惕,谁知接下来就是写代码!!!给一个矩形,由若干小正方形构成,求一共有多少个矩形,我想了一会,不会。然后是最长公共子序列问题,**,我想到了是动态规划问题,但是我显然不会啊,我就说了蛮力法的思路。两个代码都没写出来,我以为我要挂了,我还说我赶时间,要马上走,明显是对百度的不重视,我简直是作死的节奏。。。就这样,匆忙的结束了百度的面试。一周之后接到了HR的电话,效率还是蛮高的,我还是蛮意外的。我觉得我能拿到offer,要么因为运气好,要么因为缺人,因为我觉得我回答的并不是很好。
最后根据我的血泪史,说几点我的看法。1. 找工作要趁早啊,不要等着研二或者大三暑假开始准备,晚了,越努力越幸运;2. 找工作一定要特别针对性的准备,少走一些弯路;3. 基础很重要的,尤其是算法,多看几遍,多写代码,做到手写代码无误;4. 强烈推荐牛客网和《剑指offer》,虽然我是研二下才知道这些的,但是为时不晚。5.牛客网是良心网站,没有它,就没有我的现在,非常感谢。
于2015年9月28日
答主最终去了家乡的研究所,在当地属于收入较高的水平。由于答主是女生,还是很安逸的。(2020.03.01)