如何曲线斩获大厂校招SP Offer

如何曲线斩获大厂校招SP Offer

遥想去年今日,正是踌躇满志,念经刷题,备战实习的屯兵时段。当2023届的师弟师妹们向我虚心请教时,想起去年自己也是线下和师兄、同辈之间交流,线上学习牛客、知乎、脉脉分享的经验。沐往届大家的交流、经验之风,遂觉也应该向大家分享下自己的校招之路,反哺社会。鉴于疫情来袭私企大小厂缩招裁员、高校扩招CS人满为患的种种形势下,校招进入大厂变得越来越难,面试难度也在逐年升级,想在大厂拿到Special Offer(SP)的难度也是难上加难。 相比于去年开始暴卷的后端开发、前端开发,测试开发凭借着高需求、低门槛、吃经验、速晋升等优势,使得普通人就能相对轻松地拿到各个大厂的SP,我愿称之为曲线斩获大厂SP Offer

alt

校招经历

我大约从2021年1月份便开始备战实习,6-9月份边实习边秋招,直至10月初落下帷幕。8个月的校招历程,有着最初的满腔热血(穷学生嘛一想着可以工作搞钱就很热血);也有着中途的迷茫、低落、甚至自我怀疑(关于岗位,行业,城市,面试被挂,学习焦虑等);也有着最后的艰难选择、开奖惊喜和诸多感概。

一开始,对自己定位的方向是Java后端开发,岗位多,后续回归国企也方便,但该岗位需要丰富的理论基础(若需要,这里非常推荐一位Java选手@呆木啊 的经验分享)。但随着复习加重和投递爆卷,深感焦虑和不适,遂转行测开,打算凭借着自己的性格和兴趣,努力打造出优势,实现曲线超越。

转行后,先是轻松拿下阿里、腾讯的实习offer;实习后全力应聘,征战大厂,收获颇丰;共收获十余家SP Offer,薪资大多在40W+。

  • 成果:阿里、腾讯、百度、字节、大疆、华为、美团、TPLINK、虾皮、SAP、京东、爱奇艺等多家厂子的SP Offer,大多年薪总包40W+

回顾这九个月实习和校招,下面简单分享下我在校招流程中的心得。

1. 简历 :尽早投递,逐步更新

简历投递要趁早且最好海投,不要想着等准备好了再投再面,原因有二。一是互联网节奏快且好部门好岗位的hc竞争激烈,过晚被捞的概率低,面试流程也会变长,很拖节奏。所以最好是春招秋招一开启,就投递,这样面的快,留给自己调整的时间也快;二是可以让自己快速进入状态,即使当时并未准备好,但进入状态后可以边面试边准备,提升自己的效率。我记得我找实习和秋招基本都是集中在两三个星期面完80%的公司,巅峰时基本一天至少有两场面试,挺过那一两周,后面就能开心的放松,战线拉得又快又狠。

再一个,简历中千万不要有自己不熟悉的部分,可以随着熟练度的提升逐步更新。比如你只是了解一些C或Linux,最好不要写上,即使标注了解,也很容易被面试官注意到,稍微一问答不上来就很尴尬。面试是在有限的时间里,展现出个人的优势所在。一旦把时间浪费在自己不熟悉的部分,就很难让面试官捕捉到你的优势。

简历非常重要,一定要精雕细琢,逐步完善,一份好的测开简历一样需要标明熟悉的技能点、项目经历(测开实习项目>测试领域项目>开发项目>与测试不相关的项目)。技能点主要是测开需要具备的理论基础和加分项,详见第二部分。项目经历不论是否与测试相关,都要叙述清问题所在,如何解决,提升多少(最好是具体数值)。面试官有时不仅会考察你的知识面,还会评估你的思维能力、解决问题能力、探索能力、表达能力等潜能,这点在校招中尤甚,所以请珍视介绍项目经历的机会。** 简历一页即可**,突出自己在学校的荣誉和对该岗位的应聘优势。

2. 笔试 :不可大意,主次分明

笔试是校招中特有的一环,虽然没有面试那么重要,但也不可大意。有些公司重视笔试,比如华为看笔试分数评级,网易面试时会询问笔试中的算法题。

笔试的重点在算法编程题,剩余的知识点太多太碎,在平时积累,无需刻意花时间准备。实在不放心,可以两台电脑打打小抄,或者找个朋友打打小掩护。总之除算法题外,骗过就行。分享一些骗分技巧:

  1. 巧用概率:比如一题先蒙了c,但回头排除b后,一定要更改答案,从a和d中选一个,对的概率大大提升。
  2. 算法题可以直接输出答案,骗过一部分case。甚至也可以巧用随机数,以一定的概率随机输出不同的答案。
  3. 如果一时想不出好的解法,就暴力枚举。没有暴力枚举解决不了的问题,暴力能过60%的case就很牛。

3. 面试 :多实践,多记录,多总结;心态和知识一样重要

面试经验确实是越多越好,一开始自己也是十分紧张,自我介绍声音都在发颤,面试官与我一问一答,十分机械,再遇上一个陌生的手撕代码题,整个就抓耳挠腮,卡卡顿顿,面试体验贼差。后面我狂补面试知识和技巧,听过几遍录音,心态锻炼好后,觉得面试也没那么紧张,熟练之后,感觉很麻木,甚至有投机的面试官往往能聊的很嗨。

所以与其在那里思想斗争,不如多动身实践。针对自我介绍、项目介绍、基本理论、必问面经等面试必问题,一定要提前做好准备。在面试的有限时间里,尽可能的展示出来自己相比于别人的优势,不仅在这些必问题上,还要见机延伸到自己擅长的领域,增强主动性。另外,重视每一场面试机会,事先要多了解下面试公司的情况,技术栈、理念、文化、产品等,并养成习惯,无论面试官或者给你的面试体验好与坏,都把它视作是一场学习和锻炼的机会,尽量不要被面试官的情绪带跑。这点尤其适用于压力面和那种非正常的面试官。你和公司都是在寻找彼此适合自己的候选而已,道不同不相为谋,所以有时候不必气馁也不必结怨。

前期面试最好有录音,面完及时复盘,人们很容易受限于自身,有时候置身事外审视自己,总能发现很多不一样。如果能联系到面试官或者对接人,要及时询问面试反馈,这很重要。如果反馈结果好,能增强信心,如果反馈差,能快速调整。还有一点就是面经,不仅在面试前多看别人写的面经,自己面完也可以及时记录自己的面经。我找实习的时候就记录了很多面经,这为后来的总结、秋招提供了很大的好处。还记得我到后期准备面试就是疯狂在牛客、知乎、博客等地方刷面经,对着一个个问题在脑海里不断演练。

有了面经,其实就可以自己总结一些常见问题的回答,分模块整理,比如Java基础、计算机网络、测试理论等。当然,现在网上有很多别人总结好的,很详实。不管是自己总结还是别人总结,要做的是,对常见模块和常见问题要有准备,备一次而享一年,多划算。后续会分享一些我当时准备的资源和自己总结的文章,还请持续关注。

总结自己大大小小几十场面试,我觉得主要准备好以下两个方面:知识和心态
知识中需要准备的是八股文和代码编程。其中面试的手撕代码很重要,一般这关过不了,很难能拿到一个好的结果。好在测开的面试代码题相对简单,多是leetcode中等难度以下的水平。八股文在于平时的多记录多总结,对不同模块的掌握程度因人而异。

这里我主要想说的是心态,面试心态不好,很难发挥出自己的优势,心态好,兴许唬住面试官,SP Offer立马到手。心态里首先是自信,自信者自知,知道自己的原则和边界,认识到自己的不足和短板,便能随性发挥,任情展现。其次需要准备下沟通技巧,要说出要害,要学会倾听,倘若能使面试官自己说嗨了,岂不美哉。沟通其实也是一名测试需要掌握的重要技能,若想提升,推荐阅读《非暴力沟通》、《金字塔原理》等。面对自己不会的
问题,一定要先思考,再说自己还没想到好的思路下去一定再琢磨一下。这样比起直接说自己不会,能给面试官展现出一个勇于探索、爱思考的好心态。

测开面试

为什么选择测开?

这是一道面试题,也是我特地想最先和大家聊的问题。

先讲点个人经历,纯属题外话。本科是物理转计算机,学期太短,并没学到太多;保研硕士,随导师领略计算机视觉的神奇世界,除了苦肝的几篇成果外,剩余时间都在摸鱼hhh。找工作算是心头大事,但也是一波三折、历经迷茫后,才寻到测开方向。起初面的是Java开发岗,但随着不断地深入学习,越发觉得自己的兴趣在慢慢变淡,只觉得复杂繁多的理论学习带来满满的焦虑,大量的逻辑代码也产生强烈的不适。我在想,如果以后整天的生活都被这种焦虑感和不适感充斥着,该是多么的可悲!在一边排斥的同时,也在积极的变通调整,寻求合适的岗位,了解到身边很多类似困扰的师兄师姐很多选择了测开,在小许纠结和充分了解后,忽然发觉还挺适合自己。追求知识的广度,有着较少的代码量,需要细致而发散的思维,需要充足的细心和耐心,需要有探索精神和发现问题的能力,这些既是测开岗位的需求,也是我从小到大的专长。双重作用下,又觉得自己能行了,再次燃起斩获大厂offer的热情。

撇开个人私心不说,应聘测开这个岗位时,大多数人都会出于以下几个因素。**一,宁鸡头,不凤尾。**测开这个岗位有很强的综合性,好的测开要懂前端、后端、测试、甚至有些部门还要求懂点算法。实习时测开项目组里面,有些前端很牛、有些后端架构写的很凶、有的测试经验丰富(分有功能测试、性能测试、安全测试、自动化测试等)、有的把控项目进度有一手、有的排查问题很迅速,大家各司其职,皆为一个目的:**保证产品质量与安全,提高开发人员的研发效率。**可以说,一个好的测开是要比开发人员懂得更广泛,因为对于风险的把控往往需要对全局有个清晰的认识。鉴于当下开发的内卷程度,对于具备开发实力而又不想太卷的人,测开会是一个较好的归宿。同样地劲头学下去,测开岗会比开发更容易能达到头部。任何岗位,能达到本岗位的前15%,才是各大公司争抢的人才。所以各位一定要在保命的同时,多挖掘自己的爱好、特长,进而找到自己擅长的岗位,这会使得你更容易达到竞争的高位。努力永远赶不上天赋,尽管我们大多数情况下都没有达到拼天赋的境界 。**二,前景好,需求大,压力小,薪资高。**在阿里,目前的标配是8个研发配1个测试,对测试人员的需求一直都很大。 更别说对于那些细分领域(性能、安全、自动化、智能化测试等)的测试人才需求,一直都是高薪聘用。测开的压力相对开发还是小一些,毕竟主战场是在软件研发周期的中下游,一旦发现问题,紧急加班的还是开发人员。另外,任务难度山也确实比开发小,虽然需要懂的范围广、但深度和难度上要求并不高。工作内容比较灵活,可供选择的方向很多。所以,对于追求高薪、不以代码为命、不惧怕沟通的人,选择测开能带给你更好的人生体验,工作生活会更加顺畅。**三,性格适合,有趣有价值。 **测试比较适合务实较真、喜欢探索未知的人。找bug是一件很有趣的事情,在写测试用例时需要在把控产品全局的风险基础上发散思维,探索发现潜在风险点,覆盖各个场景。测开人员既是产品质量的守门员,又是安全问题的吹哨人。

当然,选择测开需谨慎。尤其是面临开发和测开选择的人,要注意开发转测开好转,但测开很难转开发。另外,测开往往需要接触繁多的业务,对业务的理解要比开发还要深刻、熟练。还有,测开需要更多的沟通协调,有的时候要强势,有的时候要弱势,对有些人来说可能比较排斥。

希望大家谨慎考虑,联系自身实际,对自己的未来不将就!

理论知识

测试理论

主要考察软件测试流程和周期、测试用例设计、系统测试分类、测试工具、沟通&文档问题、职业选择与规划、 如何测试xxx(微信红包,登录界面,手撕的代码题、一个杯子等)

  • 书籍:《软件测试的艺术》 、《Google软件测试之道》、《机器学习测试入门与实践》、《人人都是产品经理》
  • 学习路线: 必读《软件测试的艺术》 ,然后针对牛客、知乎的面经提前准备好自己的回答,必要时看些《机器学习测试入门与实践》、《人人都是产品经理》开拓下视野,这已足以应对校招面试。若想进阶,可以阅读实践一些性能测试、自动化测试相关的书籍和项目。当然,沟通、文档能力也需要有意识地去学习。

计算机网络

主要考察五层协议、TCP三握四挥、TCP与UDP区别(以及如何保障可靠传输)、输入URL发生什么(出现故障如何快速定位?)、HTTP、状态码、cookie和session等

  • 书籍:《计算机网络-自顶向下方法》、《TCPIP详解三部曲》、《图解HTTP》、《图解TCPIP》
  • 视频:计算机网络(谢希仁第七版)-方老师(B站)
  • 学习路线:必看《计算机网络-自顶向下方法》、计算机网络(谢希仁第七版)-方老师

数据库

主要考察常用SQL语句、日志、性能与优化、索引、事务、隔离/锁、Redis、redis数据结构、redis缓存、持久化

  • 书籍:《MySQL 必知必会》、《高性能 MySQL》、《Redis设计与实现》
  • 视频:尚硅谷MySQL技术高级篇(B站)、尚硅谷Redis高级-周阳(B站)
  • 学习路线:优先学习mysql和redis中必看部分,再了解进阶书籍和博客。注意数据库一定要多动手敲语句,像练习编程题一样,Leetcode也有对应的sql语句练习题。

数据结构

主要考察数组、链表、字符串、栈、二叉树、排序、回溯、简单动态规划等问题。这一块更多的是编程题,一定要早准备,在leetcode、牛客刷题后,多总结并每天练习保持手感。

  • 书籍:《算法竞赛入门经典》、《算法》、《剑指Offer》、《程序员面试宝典》
  • 博客:***************
  • 学习路线:必看***************和《剑指Offer》,如果可以,最好将高频刷两遍以上。

操作系统

主要考察进程线程协程、进程同步与通信、虚拟内存、页面置换、Linux文件系统、linux常用指令

  • 书籍:《现代操作系统》 《鸟哥的Linux私房菜》
  • 视频:操作系统(哈工大李治军老师)(B站)
  • 学习路线:优先学习《现代操作系统》和Linux基础应用

Java

主要考察java基础(接口、深浅拷贝、集合等)、JVM(类加载、GC、JMM)、并发编程(JUC、多线程、线程安全锁)、Spring框架(Ioc、AOP、生命周期、MVC等)

  • 书籍:《Java核心技术》卷1和卷2、《Java语言程序设计基础篇》、《Java并发编程的艺术》、《JAVA并发编程实践》、《深入理解Java虚拟机:JVM高级特性与最佳实践》、《实战Java虚拟机:JVM故障诊断与性能优化》
  • 博客:JavaGuide
  • 学习路线:必读《Java语言程序设计基础篇》、《Java并发编程的艺术》、《深入理解Java虚拟机:JVM高级特性与最佳实践》,在此基础上读一些面试博客,刷刷面经。

Python

主要考察python基础(容器、装饰器、内存机制GC、多线程、闭包等)、爬虫相关

  • 书籍:《Python编程:从入门到实践》、《Python网络数据采集》、《流畅的Python》、《Python深度学习》
  • 博客:廖雪峰的Python在线学习教程
  • 学习路线: 必读《Python编程:从入门到实践》基础打牢后,可以选择性的读一下爬虫、深度学习类的书籍

前端

主要考察js相关、浏览器相关、框架相关(React和Vue)

  • 书籍:《HTML+CSS+JavaScript入门经典(第3版)》、《JavaScript高级程序设计》、《JavaScript权威指南》、《HTTP权威指南》
  • 技术文档:MDN、React和Vue官方文档
  • 学习路线:必看《HTML+CSS+JavaScript入门经典(第3版)》、《JavaScript高级程序设计》或《JavaScript权威指南》,若想深入研究一定要多学习官方技术文档。

整体学习路线

建议最先准备算法编程题,语言选择python或java均可。接着学习数据结构、计算机网络、数据库、操作系统、测试理论中必看的部分,完事后基本在理论基础这一块不虚面试官的提问。学完后,可以看一些进阶的书以及面经博客之类。

对于Java和Python的学习,挑一个掌握熟练即可,最好能做到对应的后端开发水平。前端的知识也算是进阶,如果掌握不熟练,切记不要写在简历上,并不是必需项。就我个人而言,除去python和前端没写在简历上,剩余模块的知识均是熟练掌握,对网上的面经基本都能有备无患。回想在春招实习和秋招面试中,基本没在技术面挂过,当然这也跟测开的门槛低有关。

项目实践

很多投递测开岗的同学不太重视简历上的项目实践,也许是不知道该写些什么。我认为是不可取的,项目不仅非常锻炼自己,也是在面试中需要反复聊到的。好的面试官遇到一些有趣的项目是十分愿意听你讲的,他不仅会跳进项目内听你讲一些细节,也会跳出项目内容听你是否讲出项目的前因后果,以及考察你的思维、表达、动手实践能力。如果项目这块缺乏或者薄弱,面试官会疯狂问一些八股文,甚至一些没怎么学习到的理论知识,这很难找回主场,充分发挥出自己的优势。

项目首推github或者gitee上的一些自动化测试项目练手,然后简历上梳理清楚该工具解决了什么问题,减少了哪些手工测试步骤,以及量化出提升的效率。如果对爬虫比较感兴趣,做一个十分熟悉的爬虫项目也很加分。其次,推荐练手一个有着前后端分离的项目,比如在开发岗中烂大街的博客、管理系统、商城等等。这会让你熟悉web开发,不仅能给面试官展现出自己的动手能力,对于以后的工作也很有帮助。实在不济,写一些无关项目也行,但注意一定要谨慎梳理,顺着问题 -> 挑战->方法->难点->成果->感悟的思路组织,并且让外行也能轻松明白你在做什么。比如我在最初实习面试的时候,就把研究生阶段的图像识别项目写在简历上,虽然面试官并不懂CV这一块,但我介绍完项目后,大都表示对这部分内容很感兴趣,对我的工作也很认可,甚至会多聊两句题外话hhh。

实习经历

一旦定下准备工作的打算,就最好抓住一切机会去企业实习。企业和学校不一样,那里能感受到真实的开发测试流程、能接触到真实的业务场景、能多少领略到社会的环境氛围。

更重要的是,他能让你提前感受下未来的工作体验,是否能喜欢、是否能承受住这份工作。像我当时在某大厂实习时,同一大组五个实习生,全部转正,但最终只留下一个人,其中一人转行开发,一人升学,另外两个秋招时选择了其他公司。我很感谢那段实习经历,师兄、主管人很奈斯,认识很多玩的不错的同事,也开拓了很多眼界。工作上,也让自己很认同测开这个岗位,学会了如何快速熟悉业务、如何定位需求、如何压测、如何和开发人员沟通督促、如何沉淀出有价值的经验和感悟。这在之后秋招面试中屡屡被提起,面试官非常感兴趣,有几轮面试官甚至会请教其中的一些细节问题。

加分项

一些论文,专利,竞赛获奖是通用有效的加分项。此外,如果熟悉某些测试工具、有着很强的前端或后端编程经验也很受欢迎。

学习资源

八股文

CS-Notes
JavaGuide
测试开发岗-高频知识整理【校招】
春招测开岗面试高频考点万字汇总
公众号:公子龙、offershow、三***敖丙、CodeSheep

编程题

***************
CodeTop :面试前刷一刷,十分靠谱

交流群

很欣赏一个认识的同学,他在找工作时会加很多相关群,比如华为池子、百度提前批开奖等。不仅能感受到找工作的氛围,也能互相交流分享,挺好的。********************大家集思广益,一起去大厂,一起斩获SP Offer!

长文不易,还请各位看官,点赞收藏加关注,我是阿桂@阿桂阿桂,发现有趣的知识,分享给有价值的你。

全部评论
您好,那个javaguide网站好妙啊,请问python有没有相应的网址?非常感谢 已经三连
点赞
送花
回复 分享
发布于 2022-04-27 09:09

相关推荐

头像
05-24 12:47
已编辑
莆田学院 Java
点赞 评论 收藏
分享
13 56 评论
分享
牛客网
牛客企业服务