程序员面试,如何保证拿到offer的几率是80%以上?
一、概述
面试,难还是不难?取决于面试者的底蕴(气场+技能)、心态和认知及沟通技巧。面试其实可以理解为一场聊天和谈判,在这过程中有心理、思想上的碰撞和博弈。其实你只需要搞清楚一个逻辑:“面试官为什么会这样问?他希望听到什么答案?”然后针对性的准备和回答就行了,无他。
“你的优势是什么?”多年前我觉得这个问题很无聊,现在我经常这么问面试者,因为我真的想知道他的优势是什么,能给公司带来什么。最终能和面试官聊的开心愉快投缘的叫面霸。反之叫面瘫。
我带过的学生里找工作时有个有趣的现象,经常是懂沟通的人先找到工作,而不是技术最牛的那个。
面霸是可以练成的。我在这篇文章里尝试从两个方面对面试进行梳理,一个是流程,一个是细节。 流程可以让我们以上帝视角看问题,细节呢?细节决定成败。在面试这件事上,细节做的越细越好。
二、面试流程
面试就像一场战役,要打赢战役应该做如下功课,才能做到胸有成竹。
1. 面试前
战前需要充分准备,要研究对手,所谓知己知彼,百战不殆。要准备好足够的弹药。
2. 面试中
战斗时要保持正念、精神焕发,昂首挺胸,眼神坚定、谦虚谨慎。
3. 面试后
因为我们可能还要打多场战役,所以针对每次战役都要及时进行反思,总结经验教训,用现在流行的说法叫“复盘”。这样才会有进步,下次作战也会更有自信和把握。
三、单独说一个问题:气场
1. 什么是气场
我讲课的时候曾经开玩笑地跟同学们说:“我现在可以扫描大家几分钟,观察一下就能大概知道将来谁能顺利找到工作,谁找工作会有些困难,大家信不信?” 同学们都笑了,表示不信 。
当然这只是一个玩笑,不可能那么精确。其实我想表达的意思是,决定面试是否成功的第一要素不是华丽的简历也不是一些小技巧。而是你内在散发出来的气质。
“如今你的气质里,藏着你走过的路,读过的书和爱过的人。” ——《卡萨布兰卡》
就像武侠小说里的主人公,内力充沛之后哪怕一些招式不熟也能轻松战胜对手。你的气场是优雅的自信的积极的,还是灰暗的自卑的,面试官都会感受到,从而对你产生初步判断和定义。这个理论一点都不玄妙,我自己在面试别人的时候,有很多时候第一印象加上简单的几句对谈,就可能基本决定了这个人的去留。
2. 如何提升气场?
我们知道这个道理后,应该如何做呢?气场不是一朝一夕能练就的,有几个方法大家可以在平时多尝试。
多读书, 所谓腹有诗书气自华
多运动,保持健康的身心
多和人沟通,懂社交规则
学会冥想和保持正念(不玄幻)
可以做个小实验,冥想十分钟,重新照一下镜子,看气质是否有点沉淀下来的感觉。
四、面试前准备
1. 简历的几个注意事项
因为篇幅原因,简历的详细写法这里就不讲了。只讲 3 点需要注意的问题。
不要给自己挖坑
你要对你自己写的简历负责。因为面试时,面试官通常会拿着你的简历,问里边的各种细节。 技术细节、工作经历、项目情况等。你必须对自己写下的每个字后面的隐藏话题做充足的准备。 举个例子,简历上有这样一句话:
熟悉运用 Chrome Dev Tools、Firefox 的 Firebug 调试页面
那面试官可能会问:讲讲你用 firebug 调试页面时,都有哪些经验技巧感觉比较有用?这样针对一个话题进行展开谈话。
简历要有辨识度
通常一个职位可能收到的简历比较多,这时候怎么使你的简历能在众多对手中脱颖而出,获得面试邀约呢?要有“辨识度”,最好达到的效果是,面试官觉得看完这个简历,觉得很想见见这个人。 拿自我评价部分来举例吧,下面的案例大家自己看下,如果你是面试官,想邀请谁面谈呢? 括号里是我的的意见,大家也可以把自己想象成面试官,自己琢磨一下。
案例 5 的同学平时就很有想法,找工作很顺利,现在发展的很好。
案例 1(一般):
案例 2(一般):
案例 3(良):
案例 4(优):
案例 5(不走寻常路):
最好找人帮你 Review 一下简历
因为简历就像自己写的程序,自己很难发现 bug,让别人以面试官的视角 review 一下,会发现一些意想不到的问题。找老师、同学、朋友都可以,不要怕麻烦。
2. 找工作的主要网站和渠道
智联招聘/51job/英才网(传统)
拉钩(相对较新)
猎聘网(高级人才)
v2ex(酷工作)
BOSS 直聘(直接和 BOSS 聊)
相关的社群
3. 针对不同的公司对简历进行微调
有时候有必要针对面试公司的业务对你的简历进行微调。比如对方是个做移动医疗的公司。而你恰好做过类似项目,就可以将该部分的项目介绍的排序提至第一位。并将对移动医疗的经验加重描写。以达到和职位更匹配的效果。
4. 小心传销陷阱
找工作时一定要注意传销陷阱。
前段时间网上爆出的“求职少年李文星误入传销组织致死事件“,使我很惊讶,传销的竟然都能这么专业的去骗程序员了,一般的专业技术沟通都看不出破绽。
有两个简单应对办法:
如果你存疑最好提前跟你的朋友商量一下,还有随时更新定位。
面试前和对方沟通清楚面试的准确地点直接过去,中间有任何变化都可能有问题。
请大家特别注意一个传销重灾区:天津静海。看到静海二字请绕行!
5. 小心招转陷阱
所谓招转就是利用招聘转化成培训。你去面试后公司说你的能力暂时不符合条件,交钱培训后就可以了。这种也不是正经的公司。
6. 了解公司的相关情况
面试前应到公司的网站上或别的渠道,提前了解公司的企业背景、业务模式、主营产品等, 面试的时候就可以做到有的放矢。
“你对我们公司有了解吗” “我提前了解了一下,贵公司从事的是……理念是……我觉得和我的理念挺吻合的……”
“你对我们的产品有什么看法” “我仔细研究了贵公司的产品,发现有如下优点……还发现几个问题……我觉得可以这么改进……”
这样的对话,会和面试官迅速拉近距离。 面试官也会认为你做足了功课,是一个用心的人。
7. 干货储备(核心技能)
专业知识准备
收集相关面试题并熟练掌握。面试官有时候也会照着网上的题库问你问题,哈哈。最好能按自己的理解,用自己的语言去阐述问题。
项目经验
项目的研发背景、整体业务流程、开发周期、负责的模块、技术实现细节、技术亮点等。你自己做过的每个项目都要搞清楚。
了解热门前沿技术
比如你面试的是 iOS 开发岗位,除了 OC 你还能聊聊最新版本的 Swift;比如现在微信小程序开发又火起来了,你也在关注和学习,甚至能解决面试官的一些问题。了解这些热门的前沿技术绝对会成为你面试时的加分亮点。
8. 着装
IT 男生不要穿圆领的衬衣,起码要有领子;女生简单大方,要化点淡妆以示尊重。四个字:干净整齐。我遇到过夏天穿拖鞋来面试的,肯定一秒就 PASS 了。
五、面试中
1. 注意礼节:礼多人不怪
以前从事对日软件开发的时候,我们会经常培训面试的礼仪问题。因为日本人比较注重这些。我记得当时有几个小环节,比如进入面试官房间前要先敲门,进入房间后没有得到”请坐“的允许前,要站立等待等等。
其实在国内面试,这些细节也很重要,不过通常的场景是:面试者会先被安排在一个屋里等待,面试者后来进入。当面试官进入的时候,面试者应该站起来并做基本的示意。会给面试官一种有礼貌的感觉。这些细节要多加留意。
2. 用递进问题定位你的技术能力
面试官问的技术问题通常会有一定的规律,就是按照由简单到复杂的顺序来进行提问。比如他关注 JavaScipt 这个技术,可能先问你 JS 中有哪些数据类型、JS 中如何实现面向对象,有什么应用场景这些简单问题?这些如果你能顺利回答上来,他会对你的基本功有了认可。之后会继续问你闭包、原型链之类的高阶知识,看看你还能不能回答上来。他会根据你的回答情况给你的技术能力做定位。
3. 正确的面试态度
面试这件事是一个双向选择的过程,你付出劳动,企业付你劳动薪酬,所以这是一种平等的关系。这种平等关系在面试中的体现也很重要。
误区 1:过于自卑性型。感觉找个工作不容易啊,给我个工作就行,这样气势上容易落到下风。这时候面试官会感觉到,从而进一步在气势上压住你,不利于双方顺畅平等的交流。
误区 2:过于亢奋型,觉得自己什么都会,挺牛,比面试官都厉害,这样也不对。
正确姿势:不卑不亢、从容面对、真诚回答最好。
4. 保持高度自信
我有时会直接问面试者这样一个问题:你认为自己的技术能力怎么样?有的人直接说:我感觉自己的技术是中等水平。也有的说:经过这几年的积累和成长,我现在对自己的技术很自信,算是一个中高级开发者,我感觉可以胜任各种开发任务。两者回答高下立判。
再来看另外一个场景,前段时间我做的一次面试,前面的事情都聊的差不多了,在准备最后敲定的时候,面试者冒出一句:这个事情我去做会不会有什么问题?这句话让我对他的信心产生动摇,从而导致最终没有录用他。
其实面试官想听的很简单:“这个事交给我没有问题!”你自己都不自信怎么让面试官相信你能胜任这份工作呢?
5. 告别:别忘了加微信
微信是移动互联网时代的个人名片,结束时最好互相加一下微信并备注好。比如我会这样备注:H5 讲师 北京 张三。面试者可以这样备注:58 同城 研发部经理 李四。
这样可以和面试官保持后续的联络,是个很重要的动作。即使没能面试成功,可能某一天发生链接成为你的人脉也说不定。
六、几个常见面试问题及简单分析
1. 自我介绍
面试官通常会让先你进行一下自我介绍以便对你有个快速的认识。
自我介绍的时间最好控制在 2-3 分钟左右,太短了说不明白,太长的话可能面试官也没有耐心听。所以最好是言简意赅,把一些关键信息表达清楚就可以,其他一些细节信息可以在之后跟面试官的对谈中慢慢展开。
不要只回答姓名、年龄、爱好、工作经验。面试官最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等。
2. 离职原因
回答这个问题时一定要小心,就算在前一个工作受到再大的委屈,对公司有多少的怨言,都千万不要表现出来,尤其要避免对公司本身主管的批评,避免面试官的负面印象。建议此时最好的回答方式是将问题归咎在自己身上,例如觉得工作没有学习发展的空间,自己想在面试工作的相关产业中多加学习,或是前一份工作与自己的生涯规划不合等等,回答的答案最好是积极正面的。
3. 你对加班的看法
这个问题并不是非要让你加班,只是想测试你是否愿意为公司奉献。参考回答:如果是工作需要我会义不容辞加班,可以全身心的投入工作。同时,我也会提高工作效率,减少不必要的加班。
4. 你还有什么问题要问我的吗?
这个问题看上去可有可无,其实很关键,企业不喜欢说“没问题”的人,因为其很注重员工的个性和创新能力。最好不要问个人福利、五险一金的之类的问题。 可以这样问:
贵公司对新入公司的员工有没有什么培训项目?
贵公司的晋升机制是什么样的?
入职后参与的项目的情况了解一下?
企业将很欢迎,因为体现出你对学习的热情和对公司的忠诚度以及你的上进心。
七、面试后的复盘
复盘很重要,没有复盘的行动往往是无效的,因为没有经过总结和沉淀。大家要养成经常复盘的习惯。面试的复盘我们可以这样做:
1. 复盘自己在面试现场的整体表现
是否表现得沉着自信、充满活力、轻松自如?
对面试官提问的反应是否恰当、准确、灵活?
2. 复盘自己在面试中的所有问题及答案
分别记录下 HR 面试问题和技术面试问题及回答
关于面试官的提问,你是否还可以做出更好的回答?
3. 其他心得感受
最好将以上内容写成一篇面试总结,存在印象笔记里。比如形成这样的笔记本,在以后面试时这些经验就是最好的资料库:
2015-10-11 IBM java 开发 北京 #面试#
2017-12-11 埃森哲 iOS 技术 Leader 郑州 #面试#
整个面试流程可以用 PDCA 循环理论来进行检查和改进。
八、总结
就写到这里吧,希望通过本文大家可以对面试这件事的整体和细节有更进一步的认知,参加面试也能更加自信和有把握。逐渐成长为可以纵横江湖的面霸,在江湖上留下你的传说。
关注作者私信回复:“ 架构 ” 就可以免费获取 Java架构学习资料(有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化等...)这些成为架构师必备的知识体系,及架构思维导图!