在互联网从业十余年了,面试过的候选人没有上千也有几百。最近也一直在招人,最近几年发现现在互联网行业的招聘形势确实发生了不少变化,公司要求会越来越高,而候选人需要提前做的一些准备也有更高的要求。因为自己在招聘上也有一些思考和感触,所以想写一个系列文章,让一些涉世未深的年轻人们能更多了解到站在招聘方视角是如何看待候选人的,希望能帮助一些小朋友们少走一些弯路吧。    首先是想谈谈大家经常提到的准备面试经常提到的背八股文,当然作为中国人,应该都能知道背八股文是个贬义词,原意是想表示当年科举制度的僵化和死板,要求很多人需要死记硬背四书五经等等。对应到我们技术面试,就是大家所谓的那些基础知识点,比如计算机相关的操作系统、网络、编译原理等等诸如此类的东西,大部分是一些有固定答案的概念性知识。    说实话,在有了搜索引擎和ChatGPT这种东西后,对于死记硬背的东西我们为什么还需要去准备呢?想不起来就查一下不就好了?实际上确实如此,很多知识点在我们实际工作中不会死记硬背,真想不清楚了,肯定也是会再查一遍。那为什么那么多年了,不管是学校考试还是技术笔面试都还要考察这些东西呢?这就是我想在这篇文章给想不明白的同学解释解释原因。    我们不排除有部分面试官不太合格,只是按部就班的去考察这些八股文,看答案对不对就完事了,只作为了一个最简单的门槛筛选,简单来说,就是他们认为如果你连这点勤奋都不愿意付出,那说明不太符合岗位的期望。只能说这种筛选有一定的道理,但不应该是考察这些基础知识的初衷。    回到正题,先说说“八股”该不该背,我认为不该背,应该去掌握去理解这些知识点,形成知识体系。很多知识点当时靠背是能很快速成的,至少应付一些小公司问题不大。但这样的话,你永远不可能对计算机基础有深入的理解,这都是点状的知识点,完全孤立在你的大脑里,你完全不知道是什么意思,比如问你线程和进程区别,你背了一通下来这些东西(实际上我也记不住,现搜的)“进程是操作系统进行资源分配的最小单元,线程是操作系统进行运算调度的最小单元。 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 线程是操作系统能够进行运算调度的最小单位。”但你根本不知道操作系统里资源分配和运算调度是什么意思,你都不知道操作系统里哪些东西算是进程,哪些算是线程,你也不知道进程怎么区分怎么通信等等,那你这个知识点就相当于无用的。因为它没有结合你日常能接触到的一些实际应用结合起来。正常来说,你应该搞清楚什么是进程,进程在我们用电脑的时候是怎么样的存在,它有哪些特点,通过什么管理,有哪些方式能体现通信等等,你把这些东西都串起来后,你就会对什么交资源分配的最小单元有比较清晰深入的理解。    所以说,实际上大家所有的背八股是不可取的,实际上招聘方本质的诉求是招聘有良好计算机基础的候选人。    但很多人会问,良好的计算机基础到底在实际工作中有什么卵用呢?你大部分工作不还是在CRUD吗,都是搬砖,你用得上学那么多吗?如果你有这样的疑问,那我们需要再讨论讨论工程师和码农的区别。你如果只是满足于做一个外包,天天接需求,那你就可以认为自己做个码农就行了,不要管什么原理什么基础,我简单培训个一两个月的就能上手干活做需求,就跟真的是去工地搬砖一样,有手有脚,体力充沛就行了,这样显然你的职业生涯是有局限性,抗风险能力也很差。    那怎么能比较系统的学习计算机基础呢?最简单的当然就是把专业课本都能搞明白了,你专业课如果都能拿90+,那肯定基础不会差,虽然大学的很多课程大家都是考前一两周突击一下就能及格甚至拿不低的分数,但想拿90+,肯定还是需要好好掌握的。另外,多思考多结合实际,现在都有ChatGPT这样强大的工具了,你如果对某个知识点不太明白他具体什么意思,你就让ChatGPT给你举几个例子,让他用大白话给你说清楚,我想会你会更容易掌握,更能知道到底怎么回事。我可以举个例子,比如问你计算机网络的七层网络模型,你如果光看死记硬背,你还是经常会忘了一两个,但如果你能跟着某个网络请求的过程,层层去拆解他在每一层都发生什么变化,这样就可以把这些知识点串起来了。    再举一个岗位相关的例子,比如面试前端工程师,我经常会问盒模型这种烂大街的问题,有部分人甚至不知道盒模型的正确概念,那可以认为你学习HTML/CSS肯定是不可能系统的,而一半左右的同学能看过概念,能说清楚标准盒模型和IE盒模型的区别,从内到外分别是哪几个盒子,有些能知道width和height在两种情况下分别是什么盒子,然后就就仅此而已了。那我希望的是什么呢?我一般会继续追问,知不知道盒模型在整个布局中的作用,然后再问自己使用CSS的时候,有没有思考过比较常见的一些属性都影响哪些盒子,再去问问相关的常见布局方案和CSS选择器优先级等等。由此就基本能判断,这个候选人对整个知识体系是否有一定的理解了。所以每个“八股”知识点的背后,肯定是有关联性的,真正要考察的是很多知识点背后的基础理解。    说到这,就可以解释为什么有些同学在面试的时候经常自我感觉良好,感觉问了好多“八股”题自己都自我感觉良好,但最后还是被挂了。有没有可能是一个面试问了10个这种问题,然后你只答对了基础的概念是什么,而忽略了后面面试官的那些追问,而很多同学甚至没意识到可能更重要的是后面的那些追问,导致自己留下来的印象就是问的问题好像我一开始都答得挺好的,但就是没过。    总而言之,掌握计算机基础知识不能靠死记硬背,需要自己多去思考知识点之间的联系,这也是人类能记忆大量信息的关键,通过网状的知识体系,能够互相联系,帮助自己巩固。我们所谓的理解了某个知识点,其实也是类似的感觉。这样的好处是,即使某个知识点你记得不太清了,你也可以通过跟面试官沟通相关的知识,让面试官能知道你是个有比较好基础的人。    所以面试的本质还是面试官判断你是不是需要的人,是不是愿意跟你做同事,“八股”和其他各种面试题也好,都只是为了验证这些的手段而已,所以不管你记不记得这些基础知识,也不要慌,一道题不会,不会判你死刑,但你如果因此心态崩了,发挥只会越来越差,很多能补救的机会也会错过。所以有些问题你记不清,你可以尝试着去跟面试官互动一下,表示说这块具体细节我可能背不出来了,但我知道他其实主要作用是blabla,实际上他是xxxx这个体系里的xxx环节,一般我们在xxx的时候可能会需要考虑它。如果是这样的回答,我相信面试官也会有个好印象。    这个问题就先讨论到这里,后面想到哪些常见现象我会再写文章,也欢迎大家评论说一下面试中自己比较疑惑的点,我可以考虑优先写个文章展开说说。    
点赞 130
评论 12
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务