开发转测开的渣渣秋招上岸之路
0.写在开头
秋招因为在国外,为了赶国内下午的面试天天早上8天才睡。一来二去时差倒了一轮,变成了晚上9点睡早上5点起的好作息。百无聊赖写点对各位大佬完全看不上的上岸之路,希望对春招测试/测开的同学起到一点点点点帮助。
1.背景
本人国内浙江双非本科读的数学,北美渣硕专业Information Systems,12月刚毕业。一直犹豫不决留美还是回国,十月才下定决心要回国开始慢人N步的秋招。投递基本上都是在牛客上找的内推,还有极个别同学推的HR。因为是浙江人,投的岗位都是在杭州上海,所以选择相对比较少。期间看到不少北京深圳的岗位也动摇过想法,后来还是坚定离家近点。
本科的时候只有在大一大二接触过C语言跟数据结构跟大三的C#,接触的程度大概就是大部分本科生的考前3天复习法。
研究生期间开始正式接触编程,途径都是课设。第一个大项目是课上的安卓订餐app,全程什么也不懂靠队友凯瑞。再之后接触的有:
- Java swing的开发(非常非常非常过时,吐槽一下学校的课程安排,不过整体的逻辑跟JAVA语法掌握很到位)
- 数据库(非常基础的查询跟存储过程)
- 多线程(全程念PPT的老师,实在背不下来拿了个C)
- Web Design(非常硬核的一门课,老师上课教1+1=2,作业让你解个偏微分方程,不过非常有用,接触到了Angular和RESTful,让我一度有转前端的冲动)
PS:无任何实习经验。
2.准备
简历
说来有点丢人,我自己的简历从开始投到结束改了不下10次。最开始拿着投coop的英文简历一通翻译就开始投了华为的留学生专场。在身边所有项目/经历比我少的同学拿到笔试后发现自己简历挂了之后,才开始找了份简历模板好好开始修改。再之后为了凑行数抄了别人的项目(不可取),在看了诸多面经以后发现项目会深入之后悄咪咪删掉了。还改了很多次错别字跟日期错误(也不可取)。
个人认为简历的话做到三点:简洁明朗布局合理;内容准确无错字;充分了解自己写下的每一个字。好的敲门砖才能帮你拿到面试!
另外我其实准备了两份简历,一份是JAVA开发,主要内容就是JAVA项目,另一份是测开,把几个不重要的项目改成了自己做的UFT跟Selenium。
算法题
有些同学觉得测开不用刷题,个人认为还是要的。有些大厂面试手撕代码难度基本跟开发持平(个人面试结论)。不过我也是因为实在是图论无能,DP无能,默默转了测开,还是讲一些我个人觉得比较关键的几个基本算法吧。
1. 排序(熟练写快排,堆排)以及其他排序的时间空间复杂度
2. 树的遍历(dfs,bfs的递归非递归写法,层序遍历)
3. 简单的一维DP(斐波那契数列,青蛙跳台子)跟对二维DP有个大概的概念(会写就最好啦)
4. 链表的操作(长度,翻转,判断环,中间翻转)
5. 二叉搜索及变种(比如版本控制)
6. 涉及计数的(HashMap,如果是字符或者数字可以用array)
剩下想到再补充。我个人没刷过太多题,也不是很精通所以没什么发言权。我个人刷题过程是先写 -> 看复杂度 -> 看评论区 -> 膜拜大佬(不是) -> 完善自己的代码。leetcode提交以后会有类似题给你推荐,比如linkedlist的找中点(easy)到linkedlist中点翻转(medium)涉及的知识点都会比较集中,也更适合巩固。
JAVA基础
个人着重复习了自己有接触的:
1. LinkedList, ArrayList
2. HashMap, 1.8前后的,红黑树
3. 封装,继承,多态
4. 类加载,双亲委派
5. 几个设计模式(比如Singleton的几种写法)
6. 原始数据类型跟对象
7. String,StringBuffer,StringBuilder
剩下JVM,装拆箱,GC,还有内存空间,IO流之类的我没有特别深入,因为时间有限,感觉不能学到面试的时候问答入流的状态,就只背了些大概。但是光看面经不可取,还是要对各种概念有个大概了解,比如之前问我GC,再问我GC在哪些算法,步骤,都能稍微说一部分。
多线程
其实我在准备国内面试以前完全不想学多线程,感觉也没啥用,结果发现国内面试都在问才开始硬着头皮准备。一开始准备都是看别人的面经,然后记知识点。随后在面试过程发现,光有面经不够,面试官会抓着一点一直问下去。个人推荐汪文君的多线程课程,不用看特别特别深入,重要的是知识点的连贯,在面试官问到自己不是特别确定的那块时尽量往自己会的方面引。这只是个小的tips,能全记下肯定最好啦。具体的课件我是从别人帖子找来的,会跟帖子链接一起贴在最下面。我其实没有看完,也都是跳着看自己列了个提纲就上了。
计算机网络,操作系统
个人没什么技巧,全靠死记硬背,虽然投入产出可能不成正比,有些面试都没提到,但是问到你记得住就是赚到。我之前背这玩意的时候头发大把大把掉,这TCP是啥,UDP是啥,HTTP是啥,这些都是啥,我是啥。现在背完一个月也基本忘光了(不可取)。
数据库
索引/B树,B+树/事务/事务隔离/简单的查询语句(面试有手写过)。数据库其实要学的很多,我个人比较急功近利(还是时间问题)整理了一些个人觉得重要的,剩下的还有数据库的引擎(MySQL三种,适用情况),MongoDB,Redis(可能后端会问比较多),还要数据库的锁。
测试相关
测试是我在10月底才开始准备的,比较匆忙(我好像从头到尾都是没时间?),大概说一下自己准备的内容。
两个项目:UFT,Selenium。UFT比较麻烦,要在microfocus注册再怎么样,只能拿到30天的trial,编写语言是VB。Selenium是用JAVA写(也有python),做了一个amazon网站的注册,登陆,购物车,结账的一个过程。然后测不同注册信息的提示之类的。参考的网站会贴在下面。
以及一些常见问题:
1.测试分类
2.怎么测一个app/网站/发红包
3.黑白灰盒测试
4.测试用例
5.测试工具
以前没接触过,只有一些自己的大概研究,参考链接也会贴。
3.面试
一人血书牛客收购其他在线编程网站!无数次在别的网站上没等到面试官了,后来沟通发现应该是网站问题。
其实我应该是面试里最没发言权的,前后投了10家笔试/简历跟牛客的留学生专场(重点表扬,好几个朋友留学生场上岸了),一共拿了6家面试,参加了3家,二面三面就只有网易,最后顺利上岸。
稍微说一下面试内容吧,已经很久了不一定记得。
字节一面(后端) ##吐槽一下字节的面试官态度非常非常差 1.自我介绍 2.手撕代码 (两个linkedlist,比如1-2-5, 2-6,不借助别的链表弄成交并集1-2-5-6,2)sql查询 3.问JAVA 4.HashMap原理 5.HashMap冲突怎么处理 6.HashMap,HashTable 7.多线程 (ConcurrentHashMap) 8.volatile 9.问我为什么没有Spring相关经验 (面完之后我才去补,虽然后面也没用上) 问很细很细很细,因为是第一次面试被面的很怀疑人生,面试官也是心不在焉的样子
拼多多一面(服务端) 1.自我介绍 2.手撕代码(两道二维DP原题,真的看不懂,小哥哥非常非常非常耐心的引导我,写了大概一半) 3.HTTP,HTTPS 4.TCP,UDP区别,应用(这里我没说出来,小哥引导我说,TCP UDP是传输层,HTTP是应用层,其实就是一种应用) 5.多线程 真的那小哥人太好了,特别有耐心,我说我啥也不会,他说没事我可以慢慢告诉你,你回去巩固知识点以后也用得上
网易互娱(游戏测开)
一面
1.聊项目(当时没有做测试的项目,讲了angular的,问我有什么困难,怎么克服的)
2.手撕代码(取五张扑克,大小王可以替,问是不是顺子,时间复杂度n)
3.几种线程池,synchronized,semaphore 其实这儿没问我synchronized,但是我线程池只知道4种的名称和使用,
回答的时候就说了自己知道的,然后补充说自己知道别的多线程的实现办法,然后开始讲
4.四次挥手,为什么四次
二面
1.聊项目(selenium,为什么做这个,遇到的苦难,怎么测试的,怎么设计测试案例)
2.聊游戏 猛聊,聊完就结束了(一脸懵逼)
三面(HR)
1.智力题(怎么随机生成5个小数 使得生成的数合为1,生成4个切成5段,一个0-1生成器概率是p,1-p,怎么做出等概率的0-1生成器,等概率的n生成器)
2.转编程遇到的困难
3.怎么克服的
4.比较有成就感的事情
5.开发跟测试有什么区别(开发是把一个东西从0变成1的过程,但是这个结果可能会有问题,会有0.99,也可能是1.01。测试把这些偏差校正。而测开就是告诉他们怎么校正的过程) 6.期望起点
7.工资
然后就上岸了...?其实人还是蒙的,当时想的是,还没回国,秋招海投大厂,积累经验,春招再看看情况,结果也算运气好吧。
23号还有个海康的测开,如果半夜起来参加了再来贴面经~
4.Works Cited
收藏夹中大佬们的面经
Selenium参考
https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html
https://www.guru99.com/all-about-testng-and-selenium.html
5.写在最后
个人tips:
1. 不要只刷面经,有时间还是要看书
2. 知识点其实是连贯的,最好自己画表或者提纲方便理解
3. 有机会还是要更深入的研究,面经/书能看到的可能只有当前的知识点或者表面的东西
4. 别给自己太大的压力(看着床头的头发陷入沉思)
5. 开发上不了岸看看我们测开嘛(不是)
6. 知识点精比广有用,当然适当时候也可以功利一点啦
杭州的小伙伴明年请带我玩好嘛!
春招想投测试/测开的小伙伴欢迎评论区一起抱团取暖~