被BAT疯抢的工程师,都是怎么拿到50万年薪Offer的?

许多工程师换工作常会出现这种情况:工作能力和潜力都不错,却在面试时无法充分地表现自己,铩羽而归。据拉勾数据调研显示,约有80%的工程师简历通不过初筛,进入终面的不到5% 。

技术面试到底应该如何准备?

搞清楚以下几点,可以帮助你提升成功率:

1、换工作失败的罪魁祸首

2、如何挑选面试成功率最高的岗位

3、影响面试成功率的三大因素

4、BAT职级通道与面试考察点

5、Java面试中必会的四大硬技能模块

 

1
换工作失败的罪魁祸首

归纳大多数人踩的坑,换工作难的原因有三:

1、不知道简历怎么写

2、不知道面试官考什么

3、不知道如何提升晋级

第一点,不知道简历要写什么

不知道你有没有吐槽过找工作太难,可以自查是否有以下问题:

1、工作/项目经验的描述不到位
2、不懂得如何包装自己的技术能力
3、学历不占优势,却放在了最显眼的位置
4、排版太乱,不精练的个人介绍太多等

另外,很多候选人在换工作的时候,只会海投,从来不看岗位要求,也不会多准备几份不同的简历。这种盲目的投递行为是导致失败的罪魁祸首。简历中的工作年限、对口经验、学历、甚至简历的美观度、逻辑是否清晰都有可能是致命一击。

第二个点,不知道面试官考什么

很多人接到面试电话,第二天糊里糊涂就去面试,这种失败率极高。

■首先,不清楚侧重点、岗位要求

不同行业领域与工作年限对候选人的要求是不一样的,考察点也有不同侧重。

举几个例子,社交门户类考察的是大规模、高并发场景的应用和架构能力,O2O行业侧重于综合能力的考察,而互金更喜欢逻辑缜密、对高可用、安全领域有丰富经验的候选人。

而针对于不同工作年限,校招面试更多的是对基础知识与逻辑思维方面的考察,以培养潜力的考察为主;初、中级工程师则需要多关注知识的广度与基础知识的应用;而高级/资深工程师需要深入理解基本原理,能对各种知识灵活运用,以综合能力的考察为主。

■其次,没有get到面试官的考察意图

当面试官提问:使用过XX框架吗?很多人会回答说用过,然后就冷场了。其实这个问题是想考察这个框架的使用场景、解决什么问题、有什么特点、有何同类型的其他框架等一系列的问题,如果仅回答“是”或者“否”的话,显然没有get到面试官的意图,同时也能发现这些候选人的沟通表达有待提高,恐怕会影响到将来的团队协作。

所以建议你在面试前,简单对公司业务和岗位职责做一些功课,做一些有针对性的准备,才能事半功倍。

第三点,不知道自己平时如何提升能力

新技术的升级换代非常快,没跟上就很有可能被淘汰,不断学习是必要的。但很多人都有一个不太好的习惯:东学一点,西学一点。当时觉得很有用,可时间长了才发现:我的技术并没有由此而提高。

究其原因,要么是不成体系很快被遗忘,要么是和现实工作相差太远,无法灵活运用,遇到实际案例问题还是无从下手。

学习首先要有个框架,就像书的目录一样,先梗概后细节,先建立一套知识体系,再一块一块的夯实。

2
如何挑选面试成功率最高的岗位

换工作的时候你也许遇到过这种困惑:

一个公司有好几个技术岗位,要全都投一遍吗?
手里有多个offer,应该怎么选?
是挑钱多的、还是大平台、福利待遇好的?

给你个建议:挑选岗位一般从公司规模、业务线或团队的重要程度以及个人条件的匹配度,这3个方面来入手。

先来看公司和团队。大厂比较适合镀金提高身价、核心业务更适合长期稳定发展,进入核心团队在能力、经验上都能获得较大的成长。

大公司的核心业务无疑是最好的选择,但也是竞争最激烈的,尽量找和自己能力匹配的,不要和众多高手竞争,耽误宝贵的求职时间和机会。这里注意,不到万不得已,不要去选择小公司的边缘业务。

还有2种比较纠结的情况:一是大公司的边缘业务,一个是小公司的核心业务。

对于工作1-3年的小伙伴,更推荐优先选择核心业务。职业生涯前期以积累知识、经验为主要任务,核心业务可以给你提供更多的历练场景,无论是应用经验还是架构经验都能获得很好的收获。

另外一个因素就是个人匹配度。不是每个人天生就能考上清华北大,考大学大家都懂要估分再报志愿,职场也是同一个道理,首先对自己的条件有客观的评估,再对号入座。

评估范围包括岗位要求、业务方向,还有自身能力、兴趣、经验等的匹配程度。匹配程度越高,面试的成功率就会更高,也更有利于入职后个人的发展。

一句话总结就是:优先选择核心业务,以及与自己条件高匹配度的岗位。

3
影响面试成功率的三大因素

假设你明天就有个面试,那么前期的准备工作对面试成败起到决定性的作用。

影响面试成功的三大要素有:能力、心态和沟通。

优秀的技术基本功是必要条件,毕竟公司是招你来解决问题的,没有技术能力其他的都无从谈起;

第二是注意平衡心态,过于紧张会导致平时会的内容没有回答上来;

第三是沟通,与面试官顺畅、开心的交流,会给你的面试加分;反过来如果沟通不顺畅,就可能直接被pass。

那么,如何在面试时稳定发挥?

■首先,通晓面试考察点

这部分短期内可以突击,也是面试前需要重点准备的内容。你需要做以下几点工作:

1.系统的复习基础知识,对常考的考点进行专项突击;
2.对一些典型框架的原理、使用场景及实现方式进行学习;
3.对工作经历进行提炼,比如曾经负责过的项目从架构方面重新审视、梳理、总结;
4.根据面试岗位业务有针对性的准备,比如:面试中间件方向的岗位时,可以突出自己有过存储中间件的开发经历、有过链路协议层设计经历等。

■第二,调整心态

面试前要多方面搜集面试公司、岗位所属团队、平均福利等资料,知己知彼有助于增加自信。

提示一下,有些公司喜欢压力面试,特别在面试官层级较高时发生。在不利场景下多给自己心理暗示,控制情绪,也许有意想不到的收获。你可以这么想:这个面试官以后可能再也不会遇到,就算失败了也没什么大不了。

■第三,注意沟通,给你几点建议

1、提前准备一个简短有特色的自我介绍,主要描述自己的技术特长和职业优势,一定不要聊兴趣爱好、老家、星座等无关紧要的内容;
2、避免冷场,对于回答不上来的问题,可以主动坦白,并提出解题思路,再或者询问面试官可不可以换个问题;
3、如果没有听清,或是不理解问题时不要强行回答,可以跟面试官再次确认问题;
4、注意一些细节,例如:你的面试微表情,不要皱眉、控制坐姿和手势、说话语速不要过快或过慢、表达逻辑清晰,观点明确;不要随意打断面试官,谦虚有礼的态度等。

还有一个小技巧是要观察面试官的反应,如果面试官突然在简历上奋笔疾书,说明你提供的信息是有用的,如果他停下来很长时间不写了,你要想想是不是跑题了;如果面试官的表情显示出不耐烦,或者深呼吸,有可能你没有领会面试官的考察意图,可以再次询问。

4
BAT职级通道与面试考察点

“能谈谈你对未来的职业规划吗?”相信很多人面试都被问过这个问题。

技术岗和其他岗位一样,在求职的时候,最先就是要有自己的职业规划,确定自己的方向,才能有针对性的找到合适的岗位。

技术人员对职业发展有两个发展方向,一个是技术方向,另外一个是管理方向。

技术向

上升通道有:资深工程师、技术专家、高级技术专家、研究员、科学家等。需要你重点培养技术攻坚能力,包括疑难问题的排查、大型项目的功能拆分、技术品牌的塑造等。

具体的工作包括:原理、实现、注重架构能力的培养,更深一层还有:大规模、高并发场景,高可用、可扩展措施和方案、业务的抽象、架构能力、分布式服务设计原则的理解等。

管理向

另外一个方向就是管理。管理序列偏重于团队把控,需要让团队形成技术战斗力,利用一切资源推进项目,让团队完成作战目标。另外,做好团队内和跨团队的沟通、协作也是管理工作很重要的一环。

在实际工作中,这两个序列没有特别明显的边界。例如做管理不表示远离架构设计;而技术专家也不是单兵作战,也需要带领团队。这两个方向区分点在于工作内容的侧重点不同:到底是更偏技术架构,还是更偏管理与项目推进。

回到最开始的面试问题,“你的职业规划是什么?”,答案并不是在面试前打个腹稿就完成任务了,而是在你进入职场,准备成为一位工程师时,心里就该有个谱了。

给你个加分回答:“从过往的经验来看,我对项目的整体规划、管理推进比较感兴趣,在任务推进、协调沟通方面也有比较突出的表现,所以我的职业规划是成为一名优秀的技术经理,并以管理方向为发展目标。”

那应聘不同公司、不同级别的技术岗位时,要重点提升哪方面的技能呢?

先简单介绍一下BAT的技术岗位职级和对应的工作年限:

1-3年的初级工程师,这个级别的岗位在阿里、百度、腾讯等大厂很少进行社招,一般是从校招生内部晋升,所以大学生想加入BAT,最好从校招开始准备;

高级工程师一般需要有2-5年的工作经验,这个岗位对应百度中的t4、阿里的p5以及腾讯的t2-2;

资深工程师一般要求3-6年工作经验,这个岗位一般对应百度中的t5、阿里的p6以及腾讯的t2-3,这两个岗位是各个公司中的绝对技术主力,公司非常看重这部分人才的成长和培养。

结合前面BAT职级来说,不同等级的岗位,能力要求肯定也不同:

对于初、中级工程师,基本的要求是能完成分配的研发任务,所以面试官更看重基础知识的掌握、逻辑思维是否灵活,有没有培养潜力。其次是项目经验与学习思考能力,而对于架构能力、管理推进、以及沟通协作等能力,受限于工作年限,并不会对这些方面有较高的要求。

对于高级工程师,一般需要独立完成功能模块或者子项目的设计与开发,所以除了初级工程师应该具备的能力外,对项目经验、沟通协作、架构能力、学习思考、管理推进都有了更高的要求,特别是项目经验和学习思考的能力。

而对于技术专家来说,要具备项目架构、项目经验、管理推进与沟通协作能力,能够独立负责一个项目,做好项目架构,完成功能模块的拆解与任务分配,推进团队内、外部的事务、协调资源,管理进度,带领技术团队完成任务目标。

5
Java面试中必会的三大硬技能模块

面试的考察点非常综合,分为硬技能和软实力。

硬技能包括:基础知识的掌握、以往的项目经验、对系统架构的设计能力、以及对不同框架、工具的综合应用能力等

软实力一般包括:逻辑思维是否灵活、沟通、表述、协作能力是否优秀、是否有较强的项目管理与推进能力、新技术的学习、总结与思考能力,以及培养潜力这几方面

Java的硬技能可以大致分为以下几个模块:

1.基础知识,分为计算机基础和java体系两大部分,包括:

  • 进程、线程管理;TCP、Http网络协议;数据结构、经典算法;常用设计模式等;

  • 新技术方面:java8-11新特性,G1、ZGC垃圾回收算法、最新网络协议http2、quic;

  • 知识深度方面:内存屏障、指令重排,JIT编译器、逃逸分析等。

2.应用知识,需要兼顾知识的广度与重点框架的知识深度。包括常用工具、常用框架、缓存、队列及数据库等几个方面。

其中工具集以知识广度与实用性为主, 例如jvm工具JFR、Tcpdump,git,vmstat、iostat等,应用框架以经典架构的常考点为主,包括spring、netty等主流框架的重点知识。缓存、队列、数据库将以应用场景为主。

架构能力以微服务架构为主要考察点,你需要搞懂架构理念与应用场景,还包括一些重点机制的实现方式。例如docker、k8s和spring cloud等。

3.项目经验,你需要准备:如何展现自身的项目经验,包括项目的描述、流程图、项目难点、项目问题分析与改进等。

当然,除了过硬的代码功力,软实力方面做的好,对于技术工程师的职业生涯来说绝对是加分项,这需要平时多与人沟通,持续学习,深度思考,持续的学习。

希望读完此篇文章的你,都能在金三银四的招聘季做好准备,拿到心仪的Offer。

上一篇:JSFL 禁止脚本运行时间太长的警告


下一篇:03-pytest框架结构及调用顺序