这篇文章是尝试说明如何让一个软件开发0基础的学生在参加校园招聘时拿到大厂软件工程师开发的offer。
你可能没有任何计算机基础,只是听说计算机就业不错就跃跃欲试;也可能你是四大天坑专业的学生,打听了学姐学长们的工资之后,就想转行了;也可能你是个大专、民办、普通本科、双一流的计算机专业学生,正不知道如何度过之后的四年进入心怡的公司。无论哪一种,这篇文章都适合你。
我在论述一件事情的时候,喜欢倒推,先定义目标,再分解过程。既然要拿到大厂的校招offer,那我们就得知道大厂心目中优秀应届生的画像是怎样的。当了这么多年的校招面试官,我用几个句话来概括这个画像:理论基础全面、扎实;项目实践经验丰富;聪明勤奋爱学习。
下面挨个解释一下。
1、理论基础
这个一般是校招初面时的重点考核对象。初面的面试官一般是公司的基层业务骨干,是实际干活的主力,他们喜欢的就是应届生进公司之后最需要具备的能力。
理论基础首先得“全面、系统”,要做到这一点,靠学生自己去 上看帖子绝对没戏,最靠谱的方式就是把学校课程设置中的教材全部掌握。如果你对自己学校的水平没有信心,登到那就把清华大学计算机专业的课表下载一份,按着课表把教材都买来。
当然,只掌握教材里面的内容是远远不够的,还需要“扎实”。教材里面全部是抽象、整理之后的东西,是精华、骨架,但没有血肉,你还需要填满血肉。也就是能做到用理论解释实际问题。这个只靠读教材是远远不够的,要根据教材中的指引,去查资料、去做项目,理论与实践互相印证。
举个例子
比如,计算机 络中的七层协议。教材只告诉了我们有应用层、传输层、链接层、物理层…… 可能还分别列举了每层中的一些名词,比如,应用层的http、ftp等。那你在了解课本中的名词概念之后,要试着通过搜索资料来回一下:在浏览器中打开一个 页时,会有哪些 络行为?
当你通过这个问题了解了本地dns、运营商dns、权威域名、tcp建连、http协议头等一系列知识之后,才算是彻底掌握了七层协议。当然,要做到掌握这些知识,光查资料也不行,会看得头昏脑胀,还要结合实践,自己尝试用Java代码写一个真实的 络请求。
当教材中的所有知识点你都能用它来解释实际看到的计算机应用,并能自己通过编程做过小小的实验之后,理论基础这一关就算过了。但这只是说你的实力达标了,为了顺利通过大厂的初面,你还需要刷题。就像平时书读得再好,如果高考前不刷题一样考不出漂亮的成绩一样。LeeCode里面有所有校园招聘初面官的潜在问题,在开始参加校园招聘会之前刷上2、3个月,保你通关。
这里要注意,千万不要想,我只刷题是不是可以?面试官不是傻子,随便一个问题就能考察出来你是否真正实践过、理解了。大家都知道LeeCode,刷一刷确实对巩固理论基础知识很有帮助,但现在面试时普遍都加了一些实践方面的问题,那些只刷题没实践过的一问便知。
2、项目实践
软件开发是一个理论与实践紧密结合的领域,缺了哪一条腿都走不好路。如果前面的理论基础过关了,接下来面试官就会考核项目经验了。我一般让候选人从自己简历中列出来的项目中随便挑一个他觉得比较有挑战的来提问。技术方案设计、技术选型、工程架构、代码规范、异常流等等随便挑几个问题,就能看出来候选人是真做了还是瞎吹。
这里不要求你多,一定要精。做一个项目时,对它的每个细节了如指掌,还要能不断发现问题寻求突破。比如,项目中用到了dubbo,我就会问你dubbo的基本原理;项目中用到了图片缓存,我就会问你图片缓存的设计机制是怎样的;你设置了一个DB索引,我就会问你为什么要做索引,数据量级达到多少时索引的效果才会显现出来。
简而言之,对于项目中接触到的任何一段代码,要搞明白,他背后的原理的原理的原理是什么,往深处挖的层次越多,你在面试官里那得分越多。做软件开发这一行,没有打破沙锅问到底的精神是做不好的。
3、聪明勤奋
勤奋是最没有技术含量的事情,只有能高效地产出结果才会有价值。所以勤奋没有用,加上聪明就很厉害了。
怎么判断一个人是否聪明呢?口若悬河、滔滔不绝?性格开朗、朋友满天下?善于搞人际关系?对软件工程师来说,这些都是次要因素,核心是快速准确地抓住重点,并找到方案解决问题。公司招聘一个人进来是要干活的,讲究的是:用最高的待遇,招聘最聪明的员工,做最复杂的事。
一般来说,我会从这些方面去看一个人是否聪明。
第一、我问的问题是否能准确地抓到重点,并简洁高效地做出回应。这才是真正的沟通技巧,要做到这点,需要思路清晰并且有知识储备,即使你语言表达能力再弱,电话另一端的我也能感受得到你是否具备这个素质。
第二、是否够Open。这个词用汉语我不知道如何清晰地表达出来,主要是指在解决问题时,可以把思路打得很开,而且善于吸收别人意见形成自己的方案。有很多人在解决问题时容易一条路走到黑,成本太高了。
第三、有方法论。做任何事情,在度过初始的入门阶段之后都要形成自己的套路。然后在碰到新问题时用自己的套路往上面套,然后在解决问题的过程中不断地修正自己。
初面官可能在理论基础和项目经验方面考察得更多,聪明勤奋这一条需要有多年工作经验的面试官才能聊得出来,一般是二面、三面,甚至HR面试的重心。
要做到这几点,一般需要每天投入2个小时,经过至少两年的训练才可以。后面的文章中我会陆陆续续拆开来讲。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!