作为一个参加过十几家大厂面试,且几乎零失败的选手,今日想跟咱们聊一聊「程序员面试的那些事儿」。

面试流程

首先说一下「面试流程」,咱们心里有个底。一般大厂的面试流程首要包含:

投简历 -> HR和部分司理选择 -> 3-4轮技能面试 -> HR面试 -> 聊薪资 -> 发offer。

1. 投简历

投简历分为自己投和内推。自己投简历,能够去脉脉、boss直聘等网站上找相关企业的招聘岗位,然后直接线上投递简历。

假如公司里有知道的人,能够找他们内推。假如不知道,也能够去脉脉上找这些公司的人内推。内推能够赚内推费,一般咱们都很愿意内推。

内推的优点对应届生仍是蛮大的,有些公司能够「直接免书面考试」,进入面试环节。

关于社招的话,优点应该是过HR的简历关比较简单(有些内推能够直接给部分Leader),且后续有人能够帮助盯梢面试进展。

所以假如能内推,最好仍是走内推的途径。

社招也能够找猎头,一般猎头手里会有比较多的岗位,并且有些猎头会帮助去argue薪资,不过这个很看猎头的水平。

2. 简历选择

一般公司的简历都会经过HR的初筛,首要看学历、背景是否符合岗位要求。

然后HR会把简历给到用人部分的司理,进行二次选择。假如部分司理觉得ok,会交由HR来跟进面试流程。

3. 技能面

大厂技能岗位一般都有3-4轮的技能面。职级不同,或许数量会有所不同。

第1-2面:根底技能面

  • 面试官一般是跟你同级其他同事,有些公司或许只有1轮。
  • 首要考察「核算机根底」、「八股文」、「项目阅历」等。
  • 一般会有写「算法题」的环节。

第3面:深度技能面

  • 面试官一般是你的上级,或许是你的「直属上级」。
  • 首要会围绕你之前做过的项目进行「架构层面」的考察,比方「怎样做技能选型」、计划的优缺点比较等。
  • 或许会出算法题,可是算法题一般不难,更多的是看你对项目的理解。

第4面:技能架构面

  • 面试官一般是你的+2,也便是上级的上级,很或许是部分的「技能担任人」。
  • 这一轮面试很少会触及具体的技能细节,一般会就一些「大的方向」展开讨论。
  • 比方对xx技能的看法、形象最深刻的项目、未来职业发展规划等。

4. HR面

HR面就比较轻松啦,首要会问一些比较片面问题,比方个人的优缺点、假如意见和上司不一样怎样处理、为什么换工作等。

关于「为什么换工作」这个论题,一般不要说其时公司怎样欠好、领导怎样差劲等理由,最好是从个人发展的角度动身,找一个理由。

比方觉得公司提升无望、发展天花板比较低、做的事情和自己的个人发展方向不匹配等等。

5. 聊薪资

到这个环节,祝贺你,offer基本就稳啦。

一般是担任招聘的HR来谈薪资,大概会问你现在的总包多少,在这个根底上希望涨幅多少等。

这个时分提的涨幅,尽量比你的「心理预期要高一些」。

能够提前预备一下其时的「总包」数据,包含月薪、奖金、股票、期权等等。股票按照其时的价格进行核算。

面试预备技巧

1. 预备简历

预备简历是找工作的第一步,也是一个很好的整理自己做过的项目,整理常识系统结构的好机会。

简历首要包含:

  • 个人信息
  • 教育阅历
  • 专业技能
  • 工作阅历
  • 项目阅历
  • 荣誉奖项(可选)
  • 研究成果(可选)
  • 专业认证(可选)

1)个人信息

个人信息需求包含名字、联系电话、邮箱、求职地址、求职岗位等信息。

PS:联系电话必定要填写正确,HR会经过这个电话和你进行后续的交流。

2)教育阅历

这个没什么好说的,就一句话:「照实填写」。

由于一般大公司在入职之前都会进行背调,简历造假是很难经过背调环节的。

3)专业技能

这个地方列出来的专业技能,必定是你「非常熟悉」且「有把握能讲好的」。

由于面试官大概率会拿着你简历的这部分,选择他感兴趣的内容,向你发问。

所以,你能够有意的,在这儿列出「拿手的方向」,「诱导」面试官往你拿手的范畴去发问。

这个部分在你的面试过程中是需求「动态调整的」。

比方在面试的过程中,发现自己对某常识点把握并不深化,总是简单被面试官问住。那么就能够将这个技能点先从这一part中移除,防止后续再被问到答复不上来。

4)工作阅历

工作阅历部分也是「照实填写」即可。

5)项目阅历

项目司理部分是整个简历的最「要点部分」,也是需求花费最多时刻的部分。后边我再单独出一篇文章讲讲项目阅历应该怎样写。

2. 预备面试

一般客户端面试需求预备以下几个方面的内容:

  • 刷题算法
  • 项目阅历
  • 根底常识

1)刷题算法

能够参考我前面的一篇文章Grind75标题总览来预备,先把「Grind75」的题都刷一遍,找到自己薄弱环节在哪,再针对性去补充相应的常识点。

假如是第一次预备算法的同学,主张先去看看相关「书本」,对基本的数据结构和算法有了解了,再开端刷Leetcode。

不主张根底欠好的同学直接去啃「算法导论」这种书本,由于这本书难度仍是比较高的,并且需求花费很多的时刻。能够从「剑指offer」,「程序员面试宝典」等开端看起。

2)项目阅历

简历上写的一切项目,必定要能解释清楚,一切用到的技能都要会。

有些同学或许觉得自己都会了,但其实一问起来就漏洞百出。能够找相同方向的同学、朋友等,帮助进行「模仿面试」,来测试自己是否对简历中所写的项目完全把握。比方Android开发的同学,就能够找一个同是Android开发的朋友,来帮助进行模仿面试。

别的,需求要点预备几个「亮点项目」,比方最难的项目、最有成就感的项目等等。这些项目面试的过程中肯定会被问到,所以最好提前预备。

需求要点预备的项目:

  • 时刻近的项目:越近期的项目越简单被问到
  • 和面试岗位交集多的项目
  • 独立担任的项目

3)根底常识

关于根底常识八股文的预备方法,我认为最好的方法便是「列纲要」,进行系统性温习。后续文章我会共享我在找Android高级工程师岗位时预备的温习纲要。

总结

今日的文章就先写到这儿啦~

后续我会出几篇相关的文章,包含「项目阅历怎样写出彩」,「面试怎样超常发挥」等等,也会共享我其时预备面试搜集的「面试素材」给咱们~

感兴趣的同学能够先点个重视,咱们下期再见~!