面试者说-第一篇
共 3938字,需浏览 8分钟
·
2021-05-11 15:25
点击上方蓝字关注我,知识会给你力量
这个系列,来跟大家谈一谈面试。
作为一个面试者,我找过工作,也被别人面试过,作为一个面试者,我也面试过很多人,相信这两年开始,很多人都有这样的抱怨,移动端开发者越来越少,一个职位经常要招半年都找不到一个合适的人选,究其原因,到底是什么呢?
这个系列,就将和大家一起,聊一聊面试和面试,这是本系列的第一篇,我们先站在面试官的角度上来看看,我们都是怎么面试的。
面试和面试
首先,面试是一个双向的过程,你在面试别人的时候,实际上你也在被别人面试,怎么说呢,一般来说,团队在招人的时候,都会让一些比较资深的成员来作为面试官,面试者在跟面试官交流的时候,实际上就能大概了解到互相的一个技术水平、沟通能力等等,对于面试者来说,面试官的水平,几乎代表着团队的水平,如果在面试者面前丢了人,大概率团队也是比较丢人的,所以,双向选择面前,人人平等。
所以,面试官的自我修养就很重要,这是一个团队的脸面,那么我们团队到底需要招什么样的人呢?
首先,面试官要牢记一个观点,你是招人,不是招神。
是人,就会有缺点,换句话说,真正完美的开发者,也不会来你的团队了。所以,团队招人之前,需要对团队进行一次审视,我们团队要招的人,究竟是怎样一个人,能力需要多少,是能干活就行,还是需要独当一面,是非常有潜力,还是已经很资深,是对业务开发无所不知,还是对技术有深度钻研,在了解了这些要素之后,再去面试,这个时候,你再看面试者,可能就不是满眼都是缺点了,我们需要的不是完美的求职者,我们需要的是最合适的求职者。
其次,面试官,应该提高提问的水平,因为很有可能你的提问让求职者反向选择了。
第一要素,避免问「八股文」,茴香豆的茴有几种写法。这样的问题没有意义,每个人的知识点都不是完整的,很可能碰到盲区或者遗忘的地方,这些问题应该改成更具有深度的问题,例如,不应该问「单例模式有几种写法」,而应该问:
-
你一般如何来实现单例? -
这样的实现是否考虑了线程安全? -
如果一定要用懒汉式单例,那么如何保证线程安全? -
我有这样一个使用场景,你要如何设计一个单例模式?
尽量问一些渐进式的问题,诱导面试者一步步思考,很多时候,面试官并不是要一个答案,而是想听听面试者思考的过程。
这里可以看看之前网上流传的一道很火的华为面试题:一头牛重800公斤一座桥承重700公斤问牛怎么过桥?
一看这个问题就很懵逼,什么玩意儿?
冷静的想一想,结果不重要,面试官想要的是你思考的过程,你会怎么回答?
-
首先,了解下牛过桥的需求具体是什么,过桥是要活牛还是死牛?是要吃牛肉,还是单纯没事闲着蛋疼? -
如果可以是死牛或者是要吃牛肉,那就好办了,分解了运过去即可,或者说,能否在桥对面寻找替代牛? -
如果是要活牛,那么现在的问题就是800kg和700kg的问题,要么压缩牛,要么加强桥 -
所以针对这两个方面,我们可以考虑如何减轻牛的重量,比如来个热气球?让牛减个肥?发明量子传送通道? -
而针对桥这个方面,我们可以考虑能否临时对桥进行加固,或者造个新桥? -
剩下的内容无非是会议纪要,方案评审,立项,开发,上线,总结。
淦!这不就是我们平时和产品经理的对话?看来这个面试官平时被产品经理折腾的挺惨。
言外之意
面试官的问题,通常都是带有很强的目的性的,听懂问题的言外之意,精准的戳中要害,比长篇大论讲一堆不着边际的答案要好的多。
这一点其实很考验面试者的情商,要知道,很多言外之意,它之所以被称之为言外之意,那就是它真的不太能被人听明白,不识庐山真面目,只缘身在此山中,很多时候,面试官觉得他已经把这个问题的言外之意点的很明白了,但是面试者依然一脸茫然不知道是什么意思,这里面可能有面试官的问题,也可能有面试者的问题,总之,这是一个双向选择的过程。
例如下面这个问题——现在有一个功能模块,是之前的同事遗留的陈年老代码,现在有个新的需求要在这个基础上进行开发,讲讲你的开发思路。
这个问题看上去很懵逼,不知道要干啥,但仔细想想,我们能提取出几个关键词:
-
陈年老代码:不用问,这就是坑,危若累卵的坑 -
新需求:可能明天就要上线,很急,在线等
❝插一个广告,阅文集团-起点读书项目组(坐标上海)急招iOS开发,你懂的
❞
所以,面试官是不是想看看面试者,怎么处理这种场景的问题呢?
-
对于这种问题,我一般上来就重构,垃圾老代码,都是一坨屎,老夫写代码,就是一把梭,垃圾统统都要干掉
面试官碰到这样的回答会怎么想呢?卧槽,这是要P0事故的节奏啊,老代码虽然老,但是线上跑了N年没出锅啊,为了一个新的需求,直接全部重构,这风险,完全不可控,而且面试者解决问题的思路不清晰,没有轻重缓急,即使技术很牛逼,作为面试官,也要捏一把汗。
-
首先,我会先把这部分的代码逻辑理清楚 -
然后看新需求是否能够在老代码的基础上完成 -
如果能完成,那么优先完成需求,然后向团队提出建议,对这块代码进行适当的重构 -
如果不能完成,那么需要跟团队Leader讲清楚原因,争取更多的资源来完成这个需求
正合我意。
❝面试者碰到没读懂的言外之意,也不要怪面试官,毕竟中文博大精深,面试官很可能是站在自己的立场上来看待问题,所以有些隐晦也是正常的,一个有经验的求职者,这个时候最好的办法就是提问,诱导面试官将问题具体化,让言外之意,不经意间浮出水面。
❞
越是高级别的面试,越是要深思熟虑后再回答,因为面试官越是高级,言外之意,可能也更加意味深长。
运气
不得不说,运气是实力的一部分,但在绝对的运气面前,实力也显得不是那么重要。
面试真的也是一个看运气的过程,碰到的面试官话不投机半句多,这是运气,职位空缺半年,急招,所以减低了一些要求,这也是运气,面试的内容正好做过、看过,这也是运气,有时候你面试不过,也许不是你自己的问题,很可能是运气的问题,还是那句话,双向选择。
向大家推荐下我的网站 https://xuyisheng.top/ 点击原文一键直达
专注 Android-Kotlin-Flutter 欢迎大家访问
往期推荐
更文不易,点个“三连”支持一下👇