这两年公司扩张,我作为技术面试官,前后面试了大概一百多个人,有应届生,也有工作了五六年的老程序员,有面试表现很好的,也有面试表现很差的。面试了这么多人之后,我对面试这件事有了很多新的认识,也总结了一些经验,不管是对面试官还是对求职者,应该都有一些参考价值。
今天就来分享一下,面试了一百个人之后,我总结的这些经验,希望能帮到正在找工作的朋友,也希望能和其他面试官交流一下心得。
一、简历是第一印象,真的很重要
面试了这么多人,第一个感受就是,简历真的太重要了。简历是求职者给面试官的第一印象,很多时候,面试官在看到你的简历的那几秒钟,就已经有了一个初步的判断,这个判断会影响整个面试过程。
我见过很多简历,有的写得很好,简洁明了,重点突出,一看就知道这个人做过什么,会什么,能力怎么样。但是也有很多简历写得很糟糕,要么太简单,几句话就写完了,看不出做过什么;要么太复杂,写了好几页,但是都是废话,找不到重点;要么就是夸大其词,什么都写精通,但是一问就露馅。
给求职者的建议:
- 简历要简洁,最好一页纸:面试官看简历的时间很短,一般只有几十秒,太长的简历根本看不完,也找不到重点。把最重要的信息放在前面,让面试官一眼就能看到你的亮点。
- 重点突出项目经验:对于程序员来说,项目经验是最重要的,比学历、比证书都重要。把你做过的项目写清楚,项目背景是什么,你负责什么,用了什么技术,解决了什么问题,取得了什么成果,最好有量化的数据,比如性能提升了多少,用户量增长了多少。
- 不要写你不会的东西:很多人喜欢在简历上写精通各种技术,什么Java、Python、Go、React、Vue、Docker、K8s,全都写精通。但是面试官一问,发现根本就不会,只是了解一点皮毛,这样反而会减分。简历上写的东西,一定要是你真的会的,至少是能说清楚的,不然就是给自己挖坑。
- 诚实,不要造假:这个是底线,简历可以适当包装,但是不能造假,学历造假、工作经历造假、项目经验造假,这些都是不可取的。面试官都是有经验的,造假很容易被看出来,一旦被发现,直接就pass了,而且还会影响你的职业声誉。
给面试官的建议:
- 不要只看简历就下判断:简历只是一个参考,有的人简历写得不好,但是实际能力很强;有的人简历写得很漂亮,但是实际能力一般。面试的时候要客观评估,不要被简历先入为主。
- 认真看简历,准备面试问题:面试之前一定要认真看求职者的简历,根据他的项目经验和技术栈,准备有针对性的面试问题,而不是所有人都问一样的问题。这样才能真正考察出求职者的能力。
- 尊重每一个求职者:不管求职者的能力怎么样,都要尊重人家,人家花时间来面试,你也要认真对待,不要敷衍,不要傲慢,更不要贬低人家。面试是一个双向选择的过程,你在考察人家,人家也在考察你和你的公司。
二、基础比你想象的更重要
面试了这么多人,第二个感受就是,基础真的太重要了。很多人工作了好几年,项目经验也很丰富,但是一考基础就露馅了,连最基本的概念都说不清楚。
比如面试PHP开发,很多人做了好几年PHP,但是问他PHP的垃圾回收机制、引用计数、写时复制,很多人都说不清楚。问他MySQL的索引原理、事务隔离级别、MVCC,很多人也只会说索引就是加快查询,事务就是保证数据一致性,具体原理说不清楚。问他HTTP协议、TCP三次握手四次挥手,很多人也说不清楚。
这些基础的东西,可能在平时的工作中用不到,或者说你不需要知道原理也能写代码,但是它们决定了你的技术上限。基础好的人,学习新技术更快,遇到问题更容易定位和解决,架构设计能力也更强。基础不好的人,可能做了好几年还是在写业务代码,很难有大的提升。
给求职者的建议:
- 重视基础,不要只追求新技术:很多人喜欢追新技术,什么火就学什么,但是基础的东西反而不重视。其实技术是万变不离其宗的,基础打好了,学什么都快。把数据结构、算法、操作系统、计算机网络、数据库原理这些基础打牢,比学十个新框架都有用。
- 不仅要会用,还要知道原理:很多人用了很多年MySQL,但是不知道索引底层是B+树,不知道事务是怎么实现的。用了很多年PHP,但是不知道PHP的执行流程,不知道 opcode 是什么。这样的人,遇到问题就只能靠百度,很难有自己的判断。不仅要知其然,还要知其所以然,知道原理才能用得更好,遇到问题才能快速定位。
- 面试之前把基础过一遍:很多人平时工作中不怎么用基础的东西,时间长了就忘了,面试的时候一问就懵。面试之前花点时间,把基础的知识过一遍,比如数据结构、算法、网络、数据库、你用的语言的核心原理,这样面试的时候才能答得上来。
给面试官的建议:
- 重点考察基础:项目经验可以包装,但是基础很难包装,基础好不好,一问就知道。基础好的人,培养潜力大,以后能承担更重要的工作。基础不好的人,可能现在能干活,但是以后很难有大的提升。
- 从基础延伸到项目:不要只问纯理论的基础问题,那样太死板了。可以从基础问题延伸到项目实践,比如问完索引原理,再问他在项目中是怎么优化索引的,遇到过什么问题,怎么解决的。这样既能考察基础,又能考察实际能力。
- 不要考偏题怪题:面试不是考试,不要考那些很偏很怪的题目,比如某个函数的参数顺序,某个配置项的默认值,这些东西百度一下就知道了,考察这个没有意义。重点考察那些能体现思维能力和理解深度的问题。
三、项目经验要能说清楚,不能只会做不会说
面试了这么多人,第三个感受就是,很多人项目确实做了,但是说不清楚。你问他做过什么项目,他支支吾吾说半天,也说不清楚项目是做什么的,他负责什么,用了什么技术,解决了什么问题。这样的人,就算项目真的做得不错,也会让面试官怀疑他的能力。
我印象很深的一个求职者,工作了五年,简历上写了很多大项目,看起来很厉害。但是面试的时候,让他介绍一个他最熟悉的项目,他说了十分钟,我都没听明白这个项目是做什么的,他在里面负责什么。然后我问他项目中的技术难点,他说没有什么难点,都很简单。再问具体的技术细节,就答不上来了。最后只能pass了,因为我根本不知道他到底会什么,做过什么。
还有一个求职者,工作才两年,项目也不是什么大项目,但是他介绍项目的时候,逻辑非常清晰,项目背景是什么,为什么要做这个项目,他负责哪个模块,遇到了什么问题,怎么分析的,怎么解决的,最后效果怎么样,都说得清清楚楚,还有数据支撑。虽然他工作年限不长,但是我能看出来他是真的做了,而且做得很深入,思考了很多。最后我给了他通过。
给求职者的建议:
- 准备一个最熟悉的项目,能说清楚:面试之前,一定要准备一个你最熟悉的项目,能从头到尾说清楚,包括项目背景、你的职责、技术选型、遇到的问题、解决方案、最终效果。最好用STAR法则(情境、任务、行动、结果)来组织语言,这样逻辑清晰,面试官也容易理解。
- 重点说你做了什么,而不是团队做了什么:很多人介绍项目的时候,总是说我们团队做了什么,我们用了什么技术,但是不说你自己做了什么。面试官关心的是你做了什么,你的能力怎么样,不是你们团队做了什么。一定要把你自己的贡献说清楚,你负责哪个模块,解决了什么问题,做了什么优化。
- 要有细节,有数据:介绍项目的时候,不要泛泛而谈,要有具体的细节,有量化的数据。比如你做了一个性能优化,不要只说优化了性能,要说清楚优化了什么,从多少优化到了多少,提升了百分之多少,用了什么方法。这样才有说服力,也能体现你的能力。
- 不要说项目没有难点:很多人被问到项目难点的时候,说没有什么难点,都很简单。这样说要么是你真的没做什么有难度的事情,要么是你没有深入思考,没有发现问题。任何项目都有难点,只是大小不同而已。好好想想,你在项目中遇到过什么问题,怎么解决的,这才是面试官想听到的。
给面试官的建议:
- 让求职者多讲,你多听:介绍项目的时候,让求职者多讲,你多听,不要频繁打断。从他的讲述中,你能听出来他是不是真的做过,理解得深不深,逻辑清不清晰。
- 深挖细节:求职者介绍完项目之后,要深挖细节,问他具体的技术实现,问他遇到的问题,问他为什么这么做而不是那么做,问他如果重新做会怎么优化。通过深挖细节,能判断出他是真的做过还是只是了解,是深入思考了还是只是完成了任务。
- 不要只看项目大小:有的人项目很大,但是他只是做了其中很小的一部分,而且是简单的部分。有的人项目不大,但是他是核心开发者,做了很多有难度的事情。不要只看项目的大小和名气,要看求职者在项目中的角色和贡献。
四、态度和沟通能力也很重要
面试了这么多人,第四个感受就是,技术能力固然重要,但是态度和沟通能力也很重要,甚至在某些情况下比技术能力更重要。
我遇到过技术能力不错,但是态度很差的求职者,面试的时候一副很傲慢的样子,觉得自己很厉害,问他问题他还不耐烦,甚至还反问面试官。这样的人,就算技术再好,我也不会要,因为团队合作需要的是能沟通、能配合的人,不是一个自以为是的刺头。
也遇到过技术能力一般,但是态度很好,沟通能力很强的求职者。面试的时候很谦虚,很真诚,不会的就说不会,但是会说自己的思路,说自己会怎么去学习。沟通的时候逻辑清晰,表达流畅,能很好地理解面试官的问题,也能很好地表达自己的想法。这样的人,就算技术稍微差一点,我也愿意给机会,因为态度好、沟通能力强的人,学习能力一般都不会差,培养起来很快,而且能很好地融入团队。
给求职者的建议:
- 谦虚,不要傲慢:就算你技术再好,也不要傲慢,不要觉得自己很了不起,更不要看不起面试官。面试官能坐在那个位置上,肯定有他的过人之处,你不一定比人家强。谦虚一点,尊重面试官,尊重面试这个过程,对你只有好处没有坏处。
- 真诚,不要不懂装懂:面试的时候遇到不会的问题很正常,没有人什么都会。不会就说不会,然后可以说说你的思路,说说你会怎么去学习和解决这个问题。千万不要不懂装懂,胡编乱造,面试官都是有经验的,你是不是真的会,一听就听出来了。不懂装懂只会让面试官觉得你不诚实,反而会减分。
- 积极主动,不要太被动:面试不是面试官问一句你答一句,而是一个交流的过程。可以积极主动一点,回答问题的时候可以适当展开,说说你的理解和经验。面试官问完之后,你也可以问一些你关心的问题,比如团队的技术栈、项目的情况、发展空间等等。这样既能体现你对这个职位的兴趣,也能让你更了解这家公司,判断是不是适合你。
- 注意沟通方式:说话的时候逻辑清晰,表达流畅,不要支支吾吾,不要说半天说不到重点。面试官问问题的时候,认真听,理解清楚再回答,不要急着抢答,不要答非所问。如果没听清楚,可以请面试官再说一遍,不要瞎猜。
给面试官的建议:
- 营造轻松的面试氛围:很多求职者面试的时候会紧张,一紧张就发挥不好。作为面试官,要尽量营造轻松的氛围,开场可以聊点轻松的话题,让求职者放松下来。不要一上来就拷问,搞得像审犯人一样,那样求职者发挥不好,你也看不到他的真实水平。
- 客观评估,不要凭感觉:不要因为求职者的态度好、会说话就给高分,也不要因为求职者紧张、表达不好就给低分。要客观评估他的技术能力,态度和沟通能力只是参考,不要本末倒置。当然,如果技术能力差不多,态度和沟通能力好的肯定优先。
- 给求职者反馈:面试结束之后,可以给求职者一些反馈,告诉他哪些地方做得好,哪些地方需要改进,不管最后录不录取,都让人家有所收获。这样既体现了你的专业,也能给公司留下好口碑。很多时候,求职者就是因为面试官的一句反馈,对这家公司产生了好感,以后有机会还会再来,或者推荐朋友来。
五、写在最后
分享:面试了一百个人之后,我总结了这些经验。
面试了一百多个人,最大的感受就是,面试其实就是一个双向选择、互相了解的过程。面试官通过面试了解求职者的能力和性格,求职者也通过面试了解公司和团队。双方是平等的,没有谁高谁低,互相尊重,真诚交流,才能找到最合适的人,也才能找到最合适的工作。
对于求职者来说,面试是一个展示自己的机会,也是一个学习和成长的机会。不要把面试当成考试,不要太紧张,真实地展示自己就好。平时打好基础,做好项目,面试之前认真准备,面试的时候真诚交流,就算这次没通过,也能从中学到东西,下次会更好。
对于面试官来说,面试是一个发现人才、为公司选拔合适人才的过程,也是一个学习和交流的过程。不要把面试当成任务,不要敷衍,更不要傲慢。认真对待每一个求职者,客观评估,尊重人家,既能为公司找到合适的人才,也能为公司树立好的口碑。
最后,希望所有正在找工作的朋友都能找到心仪的工作,也希望所有的面试官都能找到合适的人才。面试不易,且行且珍惜。
最后用一句话结尾:"面试就是一面镜子,你怎么对待它,它就怎么对待你。真诚、准备、尊重,是面试的三大法宝。"
祝大家求职顺利,招聘顺利!
评论(0)
暂无评论,快来抢沙发~
评论功能仅对会员开放,请先登录
登录