关于传授面试经验的文章太多了,眼花缭乱,我这里就不谈了,点进来想获取几吨面试学习资料的同学,抱歉让你失望了。(我是真的找不到那么多资料...)。所以,今天我们只聊面试官。
作为一只老鸟,我的面试经验还算丰富,无论是作为面试者还是面试官。其实这篇对于面试者来说也是有意义的,毕竟知己知彼,百战不殆,知道对方会从哪些方面问问题,从哪些方面考核,才能更好地提前做好准备。
首先,我觉得面试官有责任保证面试过程是一次高效的交流。你要获取到你需要的信息,对面试者做全方位的考量;面试者也要获取到他需要的信息,面试官(若面试成功很大可能是自己的上级)的水平,公司技术要求水平,自己是否适合这家公司,公司是否需要自己。
面试是一个双向选择的过程,面试官在选人,面试者在选公司。而面试者了解这家公司最直接的途径就是通过面试官。
说说面试官
我先说几个面试官常会有的问题。
问题问得太跳跃,想到什么问什么
抓住一个面试官自己很熟的知识点或者方向往死里问 ,完全不会根据面试者的回答情况做调整(我是来面试的,不是来看你炫技的)
只问技术,不问业务
技术问题问得太表面
当然我也见过不错的面试官,问题问得很有水平。那有水平的面试官会给人什么样的感觉?
答得很舒服,不管结果怎么样,总之能展现出自己应有的水平
面试过程是有收获的,没有白来,知道了自己的欠缺
如果面试者是个到处抢着要的高手,那你有水平的提问会给这个面试者留下深刻印象,毕竟大家都是喜欢和厉害的人当同事的
说说提问
思路想法,表达能力,技术功底,热情。这几个点我是比较看重的。很多问题都是围绕着这几个点展开的,大家看下有没有借鉴意义。
01、技术能力
这个是硬指标,不过关的基本是可以一票否决的,当然技术能力的标准是根据工作年限,面试职位和薪资要求共同来决定的。面试官要根据实际情况有自己的判断。
那技术能力如何考察?我提几个方面
基础能力
- java 的 jvm、多线程、类加载等
- scala 伴生对象,偏函数,柯里化等
- 还有shell和python的就不举例了
- HBase读写流程
- Yarn任务提交流程等等
底层原理
- Hbase是如何存数据的,为什么读得快
- spark为什么就算不在内存跑也比mr快
- zookeeper数据怎么保证一致性
- 说说选举机制
- 等等
源码
有没有读过源码?
详细说下你从源码中获取到了什么信息,有什么帮助
架构设计能力
- 如何技术选型,考虑哪些因素?
- 设计一个同时满足实时和离线分析需求的平台
- 为什么这么设计?
另外
以上问题如果回答得不太好,可以再给个机会让他说下自己最熟悉的技术,不限制从哪些方面讲。
02、解决问题能力
如何排查hbase集群cpu过高问题
如何优化spark任务
......
03、方案设计能力
说说数据仓库设计建模过程
说说数据质量监控系统怎么设计
......
04、想法
这是一道开放题
对数据治理有什么想法
对职业生涯的规划
......
05、还可以再问些偏向管理的问题
如何调动组员的技术学习积极性
如何高效地跨部门协作
……
06、唠嗑
上面的问题问完觉得感觉可以的话可以,可以唠唠嗑,问些其他问题。
为何离职?
觉得自己是什么样的性格等等
当然这些都不太重要了主要就是考察下你的语言表达能力和三观是不是正的。
提问的技巧
问问题要有技巧,循循善诱而不是想到什么问什么
举个简单的例子
问:zookeeper加大量节点会对文件写入速度有什么影响?为什么?
答:不清楚
问:你觉得zookeeper作为分布式协调系统对一致性有什么要求呢
答:强一致性
问:那你觉得要如何保证强一致性,或者说保证强一致会不会对其他方面的性能有影响
......
不知道大家有没有看出来,最后一个问题其实是第一个问题的答案,当面试者回答不出来的时候不用急着换其他方面的问题,毕竟很多东西没接触过确实就是不知道。
你可以适当地引导他回答的方向,这样很能看出他的思维能力,如果他能把这两个问题立马关联起来回答,那我觉得还是可以加分的。
面试者如果听出了这两个问题的关联,恍然大悟,也会觉得面试官提问很有技巧,提升好感,对他来说选公司方面也是有加分的。
最后
上面的内容希望能对一些面试者或者面试官有帮助。当今时代,跳槽确实是大部分程序猿升职加薪最快的方式,特别是职业生涯初期。说起来也是很无奈,公司经常是宁愿花更多的钱来请个新人也不愿意加薪留住老人。
因此现在很多大公司的管理者都很喜欢强调文档落地,需求方案,技术方案,解决方案等等都要有记录,这样可以保证新人能快速上手,即插即用。
说白了就是保证这个项目组没了任何一个人,都可以继续正常运作。这个先不说了扯远了,有空再聊。
这个行业就是这样我们没有办法改变TA那就只能适TA。