春招面经来了!

suiling 2019-02-18 17:43:50 1266
本文来自 CSDN程序人生 ,作者 suiling

作者 | wait0804

责编 | 伍杏玲

本文经授权转载自编程剑谱(ID:gh_2080838a8f91)

春节过完,很多人就要准备竞争激烈的春招。各大公司将会正式招聘,由元旦期间拉开序幕(1 - 2 月),到彻底的进入白热化阶段(3 - 4 月),竞争是相当的激烈,谁做的准备越早,谁的胜算就越大。

对于马上到来的春招,很多人不是很理解这个春招到底是针对 19 届的还是 20 届毕业学生?我在这简单的说一下,春招的主体是 20 届,面向的是所有 20 届的毕业生,还有少部分 19 届没找到工作或者考研失败的同学,20 届以找暑期实习为主,19 届以找正式工作为主(是要签三方协议的)。

对于不占任何优势的你,如果想进 BAT 级别的大厂,春招实习 + 实习转正 + 秋招 offer,这个是进大厂最容易的一条路,即使没能转正,有了大厂的实习经历,秋招也能去一个不错的公司;千万别指望着秋招,等你完全准备好了,在去找工作,就错失了最佳的机会。

有读者给我说,他见过很多春招没咋找实习,秋招工作都找的不错,觉得找实习对于自己不是很重要?

没找实习,直奔秋招,拿到不错 Offer,每年都有一大批这种人呢。看看他们所具有的优势你就知道了:985/211、硕士、科班出身。但对没有名校背景的你而言,很多简历筛选都不一定过,你无形中错失很多面试机会,这就是现实。

学历对于互联网行业找工作是起一点作用的,没你想的那么大,基本上要求最低的都是本科学历了,主要还是看技术能力,技术水平。学历不太好的,没必要在这块纠结了,好好提升技术,能力提升起来问题就不大(根据我自己的经验,学历的影响,在春招找暑期实习的时候远小于秋招了),这就是为啥学校不好的,越要参与春招找实习了。

国内计算机强校,首推哈工大和华科,其次两电一邮,西电、电子科技、北邮,还有其他一些计算机强校:北航、中科院、国科大、武大、浙大、中山大学、中南大学、上交等,如果想考研的,上面的学校在互联网业内是非常知名的高校,可以作为首选;如果你有幸在计算机强校,一定要多找找自己实验室的师兄、师姐聊聊,他们会给你提供很多机会和渠道,在根据自己的规划走,找实习、战秋招,这样能更有把握的进入大厂。

面试流程

年后陆陆续续的面试已经展开了,基本上以电话 + 视频 + 现场三种面试形式为主,面试时最好都录音下来,方便自己复盘与总结,简历 + 自我介绍提前准备好,一定要熟悉简历上面的技术点,以及把自己的优势在自我介绍的时候,充分展示出来,最好能吸引面试官,让他顺着这条线去问你。

大部分公司招暑期实习面试都是 3-4 轮,2-3 轮技术 + 1 轮 HR 面试,考察点围绕着:基础 + 算法 + 项目

正常情况下,一面的就是未来部门的导师,二面就是小组 Leader,三面就是部门 Leader 或者总监。面试你的面试官有极大的可能,就是你未来工作岗位上的师兄。有些公司、有些部门、有些岗位,可能还有交叉面试,面上 7-8 轮技术面试的都有,可能是你的评级高,或者很犹豫要不要招你,又或者你在同一家公司换部门面试了(被一个部门淘汰,另一个部门在简历池把你又捞出来了),这些都是有可能发生的。

第一轮面试一般问题比较全的、比较细的,偏基础和算法(项目也会问的,不过问的不是很深),主要看看你的编程功底是怎么样的,并且第一轮面试的时间一般是超长的。

之前我面试头条一面面了 3 个多小时,头条面试简单的问了一些基础问题,需要拿笔在纸上不断写算法,以及各类的情景设计题。面试官还会把电脑给你,让你现场通过百度解决一些技术问题。写完之后,还问的很细致:这块怎么优化,这块为啥这样写。

这是在考验你的技术能力和算法功底,这是一场超长时间的,需要保持思维高度活跃。这就为啥面试一天或者做完笔试题后,累到瘫了。

第二到第三轮的技术面试,以算法 + 项目 + 智力题为主。这轮面试会针对你的项目,对于功能模块、项目亮点、改进优化、遇到什么困难,怎么解决的,都会问到的,但不会拘泥于细节,而是更加宏观的考察你,以及喜欢在这轮问一些灵活性比较大的题目。

我之前在好未来秋招时,一面二面是直接抽算法题写,二轮下来能写 7-8 道,说明手写代码的能力还是很重要的。时间比一面相对短点,但是二面更加注重了你的潜力以及解决问题的能力。

最后一面是 HR 面,主要是考察你的软技能,沟通能力,谈谈薪资福利,还有是看看你有多大的可能性会来我们公司。

一般情况下,提前了解准备一下,心态放好,认真回答问题都不大的。注意的是有些公司 HR面时,会让你再讲讲做过的项目,用到的技术,HR 面也不一定完全是非技术,有这个心里预期就好。

每轮面试完的评价将在系统中保留,直到最后的 HR 面结束,也不一定能拿到Offer。HR 面也会有淘汰的,也有可能是前面的一轮二轮面试,好几个人旗鼓相当,一时难以抉择,而面试官没有那么多的时间考虑,就先都通过,走入下一轮面试,自己能有更多的时间去考虑到底要招哪一个人。

面试通过,会进入下一轮的,一般会有邮件或者电话通知,没有音信的,就默认被淘汰了。

刷题

基础 + 算法 + 项目,缺一不可,对于基础 + 项目,是比较容易学习与准备的。难就难在算法上面,而各大互联网公司必问算法,算法能力可以体现一个人的聪明程度,以及在一些复杂问题的设计上,需要对时间复杂度与空间复杂度进行权衡,这是在大型系统,高并发,实时性较高场景下必须考虑的,算法能力强的绝对是优秀人才!

我们不是专业打 ACM 比赛的,没有进行过系统的算法能力的训练,针对互联网公司的招聘,算法方面的准备,就必须进行刷题,《剑指Offer》 + LeetCode,只要把这 2 处算法题都拿下,国内任何公司的手写算法,将没有太大的问题。

先把《剑指 Offer》上的 60 多道题刷 2 遍,再把 LeetCode 上面的 easy 以及 medium 刷至少 2 遍,hard 确实难度比较大,看个人时间了。

当年我春招找实习是这样过来的,算法方面我刷了几百道题,一步一步走了过来。我深知做这些算法题是多么的难,很难坚持,为了一道题理解清楚,花费好几天时间。

马上就 3 月了,建议先把十大排序算法 + 《剑指 Offer》至少过 2 遍(比 LeetCode 上面的容易,并且视频敲/现场手写频率比较高,先走内推面试)。没问题的话开始刷 LeetCode,要过笔试算法题,LeetCode 是必刷的,正式春招是需要笔试的,笔试通过才能进行现场面试的,这一关是必须要经历的。

想拿大厂 Offer,算法能力是必备的,一定一定要重视!

面试

面试是 30% 运气 + 70% 实力,要是接连好几场面试没有通过的话,心态要保持好。一定要坚信,肯定会有 Offer 的,面试玄学,一切都很难说。

简历的内容以及自我介绍,一定是有把握的才讲出来。

之前同学面试自我介绍的时候,说英语 4 级,口语还不错。面试官直接说,拿英文把自己的项目介绍一下。

同学当时傻了,常见的口语还可以,技术项目里面很多的专业术语根本不清楚,也没准备英文的简历以及英文面试。当时硬着头皮结结巴巴地说了,然后面试官简单问了一点其他的,20 分钟就面试结束出来了,最后就没了消息。

在面试的时候,千万不要夸大自己,要有礼貌,要谦虚,想清楚了在说,不能着急啊!

面试的时候,熟悉的地方,可以拿纸边画边讲出来,进而把整个体系都引出来(说真的,面试要是问我 RBtree 或者 B+/B- 树,我能把这个数据结构中有关树的结构全部讲出来,问到网络编程,能把 7 大进程间通信,6 大高并发模型都讲出来,这些都是相互联系的,说出来比较自然)。

不会的技术千万不要乱扯,表明自己肯学习的心态就好。

面试的时候,自信很重要,对于自己掌握的知识点,说话声音不要太大但要斩钉截铁,如果面试官问到的问题,自己没有听清楚(电话/视频面试很容易出现这种情况),又或者自己没有理解到位,不要怕,要及时的跟面试官进行沟通,把问题搞清楚。

在面试的过程中,沟通与表达的能力至关重要,通过反复地交流、讨论,再引导面试官,找到面试官感兴趣的地方,深入交流。

笔试没过的,可以去现场霸面试试,机会都是争取来的,不试一试怎么知道没有呢?

学习的意义

大家可以去牛客网上看看,主要是看内推机会、渠道以及面试历程,也可以在上面交流一些技术、资源等,至于面试具体问什么,具体是什么面试题,大概看几眼就行了,没必要把每个人的面试题,你都要弄会、弄懂,那样的话,真是没有太大的意义与价值!

各个互联网公司,甚至同一个公司的不同部门,面试官喜欢问什么,都是不一样的,没必要花那么大的精力去猜面试官喜欢问什么。我们要搞清楚,自己是给谁在学习,给面试官学习吗?为了应付面试拿 Offer 吗?

对于基础而言,不在于你掌握的多少, https 知道一点,TCP 也知道一点,多而不精,还不如自己真正地把 TCP 学好了,再学 https 相关知识,学一门会一门,不要追求数量,要的是质量,这样你才能深入思考,时间久了,习惯养成了,理解能力就上来了。

学习是需要系统性,完整性的,知识之间是有相互联系的。需要长时间的摸索与自学,才能找到编程的感觉,才能对知识的理解达到一个层次,坑是要踩的,只有坑踩的多了,经验丰富了,解决问题的能力提升了,才是真正的大牛,才能真正的沉淀下来一些东西。

在学习的过程中,有很多的经典技术书籍都是必看的,对于不太理解的地方,是需要 Google 以及找博客和一些技术文章去理解的(不要颠倒了,博客或者一些系列技术文章是补充作用),自己要多多的归纳、总结,能力会慢慢的提升,学习就是一个循序渐进,水到渠成的一个过程。

写在最后

我之前在春招备战时(第二遍巩固基础),看了计算机网络、操作系统、数据结构、Linux 这些基础,都是系统自学过的(看视频 + 看书)。我学习的时候,没有说看什么计算机网络哪块是重点,具体需要学那些知识点。因为我不希望在系统学习的时候,还给自己列一大堆条条框框,这块不用看,那块是重点,这样对于自己学习的视野会进行一定程度的压迫,第一遍系统学习的时候,全看。第二遍的时候,哪些重要、哪些不重要,自己心里没底吗?不要总听别人的,别人给你画个重点,你就不管其他地方了?

自己要对自己负责,系统学过一遍,很多看似无用的地方,实则还会对你有一点的启发作用,可能自己感受不到,一旦打通了自己的学习体系,很多知识就可以融会贯通;在面试的时候,很多场景有可能你之前没接触过,但是之前的学习经验与方法会帮到你,有了知识的沉淀,思考将会更具灵活性、随机应变的解决一些问题,如果想要编程的路走的更远,自学能力、靠自己解决问题的能力是必须具备的。

面试,把它当做一个学习的过程,一个可以跟各大互联网优秀人才接触的机会,一个真正的自我反思,自我成长的锲机!

珍惜每一场的面试,都拿出最好的状态,最大程度地表现自己,做到最好!

相信自己,将是你最大的源泉与动力!