【敲黑板划重点】研发岗笔试锦囊妙计,不会也能得分的技巧真的存在?顺便送一套笔试常识扫盲礼包。

大家好,我是苏一恒,作为一名双非二本的学生,深知学历劣势,所以不断在其他维度提升自己,终于在2020年春招拿下阿里、腾讯,秋招拿下字节、京东、百度、shopee、bilibili等知名公司。校招经历了超过100场的面试/笔试,具有丰富的备考经验,并且总结了很多实用技巧,免费分享给大家。

前言

投递简历之后,你是否曾经,打开招聘网站一遍又一遍地刷新页面,祈祷初筛通过、发放笔试或面试通知。

笔试是校招过程中的重要一环,尤其是对于很多大企业来说,投递的简历过多,用笔试挂掉一半面试者还是很常见的。当然笔试也是我们向公司展现自己能力的第二印象(第一印象是简历)。

这篇文章主要针对于研发岗,对于非研发岗部分可以作为参考,因为某些技巧性的东西是共用的。尤其是笔试经验比较少的同学,这篇文章可以让你以一个更加稳重得姿态去应对笔试,共勉。

笔试

一般投递后多久才能收到笔试机会

笔试是公司统一安排的,一切以公司的安排为准,在我经历的这么多投递过程中,最快的笔试是次日,最慢的笔试是投递后1个月多月,因为有的公司收简历比较早,但安排笔试比较晚,只要没有收到感谢信(指一封反馈邮件:感谢你参加校招,但是……不匹配),就说明还没被挂。(好吧,吊着也挺难受的)

如何免笔试?

一般在实习岗位如果通过内推,很多公司都能免笔试,对于正式岗位来说,有一部分公司如果参加了提前批次也是可以免笔试的,但是在正式批次中,大部分公司还是需要你经历笔试这一步的。

如果自己用了别人的内推方式,有可能更快初筛或免初筛,甚至有机会免笔试,但一定不会免面试(别做梦了),具体政策以各公司的安排为准。

这里再次强调,多去牛客网的“讨论区”寻找内推机会,大片大片的内推等着你。

举个秋招的栗子:

  • 比如字节跳动、腾讯等,如果参加了秋招提前批内推(6-7月),可以如果简历还不错,直接进入面试(我当时就免笔试了)。
  • 比如百度,是可以在简历投递之后,可选择参加模拟笔试,如果前几名是可以免笔试的(和参加了一场笔试没区别……)。

笔试试卷类型

就2020秋招目前的情况来看,今年的笔试难度是研发岗>非研发(但是非研发又有群面,其实也不容易)。

对于很多不同类别研发岗来说,大部分的公司的试卷都是根据岗位划分的,会出更有针对性的试卷,但我也见过全部岗位一张卷的,前端要读C++代码、后端要用js手撕编程题等等各种奇葩操作。

如果是线下考试,会有纸质试卷进行考试,但今年的疫情情况,一般还是线上考试的比较多。博主大胆预测,企业经过今年的被迫远程,尝到了甜头,远程笔试的机会会越来越多。

在笔试题型中,一般有四种类型:单选题、多选题、编程题、开放题。大多数试卷都是选择题和编程题的组合,特殊的情况也有全编程题的,或者全开放题的等等。

笔试平台和基本常识

2020几乎所有的企业改成了远程投递,相应地笔试流程也改成了远程笔试,

大部分企业都选用牛客网在线笔试平台赛码网在线笔试平台。而部分小公司的笔试就比较多样化了,这个不再展开详谈。

一般笔试时间限时120min或90min,但要求你在这时间内全部题型做完,比如有的你做完选择题提交后,就不能再返回修改了,当然,这个要以每个公司的考试须知为准。

对于编程题,题目顺序不是难以程度顺序,所以,中间如果有不会的,一定不要直接放弃。

为了防作弊,两个平台都会开启“摄像头监控”、“切屏检测”、“录屏监视”、“代码相似度检测”,其中牛客在线笔试平台很多也会开启“手机监控”,具体方法是通过手机扫码牛客小程序,并保证常亮状态。不过很多企业,是对编程题开放了允许切屏使用自己的IDE的,但别忘了“录屏监视”,如果有什么不意愿让核查组看到的东西(比如你的你投递竞争对手公司的记录等),还是尽早隐藏。

另外有些作死的操作这里给大家提个醒,从网上拷贝代码或者考试还没结束就在牛客等平台进行讨论,且不说你会不会被牛客工作人员查到,不要忘了,你随时是可以被其他同学匿名举报的,很多情况下拿到你的用户名就足够了。还有不要替考,很多公司在审批offer的时候会进行背景调查的,如果查到笔试者不是入职本人,不好意思,直接封杀。

【划重点】在线笔试考试锦囊妙计

基本技巧

  • 单选题:还是要根据自己的平常时间的累积,多几套真题并总结是可以有很快的成效的,可以去牛客网找对应公司的真题。尤其是智力题,做两遍真题就没问题了。
  • 多选题:如果题目说明了少选得部分分,有把握直接选,如果自己没把握,那就求稳拿部分。
  • 编程题:编程题先求能AC,再考虑性能优化,一般你的AC成绩就作为最终的考评成绩了,一些大公司的简历池里,你的笔试只有一个分数成绩。如果常规方法没思路,那就要想到暴力破解。如果实在是不会,那就使用待会儿介绍的超级技巧“面向测试用例编程”。
  • 开放题:开放题一般都是给个题目,然后给个富文本编辑器就直接手打了。为了突出你的亮点,在解答题目本身之外,一定要适当的调整格式和换行,有逻辑有条理更容易脱颖而出。最常用的文本格式和样式就是加粗、换行、无序列表、有序列表。

编码思路

  • 编码前:一般要熟悉你擅长的语言,善用API,尤其是数组API、字符串API、转型API、正则表达式、栈API、队列API、Map和Set等等是考试最常见的了。对于算法要求不高的岗位来说,压轴的也就是动态规划和图相关的题了,一般要求leetcode的middle基本就够用了,但对于算法要求比较高的后端或者算法岗等等,差不多要到leetcode的hard才够用(主要是后面面试时撕代码难度高)。如果基础不太好的同学,推荐先去leetcode把《剑指offer》系列的题刷一遍,然后再针对自己的薄弱点进行专题强化。
  • 编码时:基本上常规思路能结果大部分的问题,暴力破解又能为AC增添更多的通过率。不建议上来就直接写代码,边写边想思路,建议先在纸上或者脑子里把思路理清,然后再编码,总体效率最高。有些题目名义上”不要使用if……else……“,但是基本上判题环境是没有限制的,别那么死脑筋,能AC就ok。
  • 编码后:发现明明和答案一模一样,但就是通过0%的测试用例,需要好好检查一下是不是需要return而不是直接打印。这里可以直接方便地使用的平台的“自测数据”功能,可以直观地看到自己上传的代码在平台中的运行结果。

为什么不必考虑性能?

有的读者会注意的,为何我推荐编程题使用暴力破解或者不管性能去达成AC,是因为笔试不是面试,面试过程中会手撕代码评估性能,而笔试更多的是给你输出一个成绩,只是一个数字本身,最快的方法解决问题可以节省时间。想优化,AC完所有题目,再回来优化不迟(只要你有时间)。

超级技巧:不会写?来试试,面向测试用例编程

知己知彼,百战不殆。

先介绍下在线笔试平台的判题原理:(这里我只研究了牛客和赛码)

  • 导入:平台方导入相关题目和有限的测试用例。
  • 判题:将考生的代码用测试用例进行自动测试。
  • 结果:AC的成功率*题目分值,最终得到每个题目的分值

注意“有限”二字,根据很多场次的现场测试,不管是牛客还是赛码,其实考场上的测试用例都在5-18附近,尤其是赛码,5-6个测试用例比较多,而且,赛码的题目用例是包含在最终测试用例里面的,而牛客不是,我们就可以利用这个来实现不会写也能得分的技巧。

这里假设完全不会写:

  • 第一步,观察平台,如果你用的是赛码平台,直接先把题目的案例直接打印到控制台,一般能AC个18%。牛客则跳过。
  • 第二步,观察答案,如果答案是返回true或者false这种有限个答案的题目,直接打印输出true,如果通过了40%,那就打印输出false,则会通过60%。(即使返回1/2/3……也可以尝试)
  • 第三步,盲猜总结判定条件,基于测试用例比较少的特性,可以多加一些判定条件,比如当输入的行号/第一个数字n<4的时候,输出false其他输出true,就这样盲猜运行程序,最终我们综合一套最优的if方案,有机会达AC通过80%测试用例。

高频考点

考察方式一般都是多样化的,这里就不细节展开了,更多的还是综合知识的运用,下面就罗列一些高频的知识点。

  • 数据结构:队列、栈、堆、链表结构特性,二叉树的节点计算方式和三种遍历方式
  • 算法:时间复杂度,排序算法逻辑、稳定性和选型,动态规划,贪心算法
  • 智力题:排列组合、逻辑题等等,高中数学题
  • 网络:http1.x/http2/https的特性和区别,tcp/udp,CDN、DNS、网络攻击、加密、子网掩码、缓存、响应码、请求方法、跨域、cookie和session
  • 操作系统:操作系统概念,进程的状态、同步异步、和线程的区别、死锁,常见命令行命令
  • 数据库:SQL语句、命令、事务、关系型和非关系型区别、主键、多表连接
  • 前端:语言特性和历史,变量提升和函数提升,作用域,this指向,异常判断,捕获和冒泡,防抖和节流,canvas和svg,css布局,异步和同步,Promise、async、await等异步,事件循环,class和extends,对象操作方法,赋值,基本包装类型,typeof,instanceof,===、==,js框架、UI框架、基本类型、apply/call、组件通讯、懒加载、数组/字符串方法、继承
  • 编程素养:设计模式、软件开发规范、模块化、组件化、MVC/MVVM、CS/BS

没有积累咋搞?

这些东西,一般来说是靠日常积累出来的,但是还有另一种方法也能拿到不错的成绩:刷真题。我参加的笔试比较多了,发现了一个规律,你做当前公司的笔试前去牛客网找一下历年的考卷,然后刷两套,最后真正笔试的时候,意外地发现题目、题型、难度梯度整体都是类似的,博主大胆猜测每年出卷子那批人应该没有换血,或者这是他们公司内部的出题标准。比如360喜欢全栈知识,百度前端编程题里总会加一道“网页应用题”等等。

笔试冲突怎么办?

一般来说,对于中大型公司来说,笔试不止一轮,如果邮件预约的笔试时间和你的安排冲突了,可以仔细查看邮件是否可以通过“点击不参加”而被安排到下一轮,有的邮件上明确写了拒绝则没有下次机会,那就需要自己权衡了。如果也没有标注拒绝会怎么样?那就不着急点拒绝按钮,一般下方都有官方招聘的邮件或者面试官联系方式,看是否能重新调整时间。

不建议收到邮件就直接点击“同意参加”。如果你投递了多份简历的话,笔试安排时间和邮件发放时间是不稳定的,一般笔试时间由公司统一指定,所以可以等到开考前再点击同意并进入笔试是不耽误的,万一这边刚点击了同意,明天又来两个冲突的笔试,那就不好协商了。

面试机会是按照笔试成绩排序吗?

大部分是。

但最终能不能被发起面试,还是会综合你的笔试成绩和简历评估,见过有的同学明明笔试全部AC了但还是没有被发起面试。有时候不是你不够优秀,被发起面试一般是各部门各自评估的,他们会从简历池里抽出来看并综合你的其他成绩,然后再选择要不要发起面试。当然,也有一些流水线面试的公司,比如滴滴、百度等等,所有都是整体评估,然后在意向部门内服从分配。

最后的告诫

校招公司那么多,千万不要吊死在一棵树上,多去投递多累积笔试和面试经验,在战场上成长,这才是制胜的关键。一般来说从投递到笔试,一定会经历简历挂的阶段,这个过程,也是磨练心志的时候。相信吧,总有一家公司适合你,总有一个面试官赏识你,熟能生巧,摸索出自己的生存之道就是渣渣的进阶之路。


我是苏一恒,一个热爱生活和追逐梦想的人。

我在博客和公众号"菜鸟offer"和你一起成长。

【敲黑板划重点】研发岗笔试锦囊妙计,不会也能得分的技巧真的存在?顺便送一套笔试常识扫盲礼包。_第1张图片

推荐阅读:

【复盘】回顾准备秋招求职的这一年,还好,没有被生活打败。

干货!战略攻克大厂!2020春招,我在40+场面试/笔试中学到了这些……

【建议收藏】靠着这些学习方法,我入职了世界五百强——互联网时代的“奇技淫巧”

【近万字干货】别让你的简历配不上你的才华——手把手教你制作最适合你的简历

【成长必备】我为什么推荐你写博客?愿你多年以后成为你想成为的样子。

你可能感兴趣的:(求职秘籍,面试,校招,秋招,校园招聘,笔试)