首页 > 数据库 > 数据库开发技术 > 当我面试架构师时,我们谈些什么

图文:来源于网络图库
几天前,收到公司一封名为 “年度面试官分享盛宴” 邀请函,里面写道:
2017年截止11月底,累计面试总人数已突破3000人次啦!
各位阅人无数, 免不了用眼疲劳,这时候如果来一场轻松愉悦的活动,想必是极好的!
So!小编决定代表人力资源部喊你喝“下午茶”啦!!
看到这样的数字与亲切语,大部分人估计都会为之惊叹。的确,面试官不是简单的一份差事,不但需要用心,而且还应用公平、公正、公开的态度面对每位前来面试的小伙伴,并依据岗位职责与技能的要求,仔细挖掘着潜力与能力。
作为一名程序员,这些年里有幸参与过各种大大小小的面试场景,总体的感觉是,在形形色色的面试者中想要找到合理靠谱的人选,还是很不容易的,尤其在快速多变的互联网环境下,如果要想找到几位志同道合的架构师,如果不经历千辛万苦,除非 “人品爆棚”。
与其他岗位相比,面试架构师是一件不容易的事情,朋友曾在随笔中写道:
能考察架构师候选人实力的面试官,自己就已经对架构本身有了很好的理解,就应该是一个合格的架构师,其次是需要足够务实,有合理的手段合理的问题,通过面试来了解候选人是不是一个适合做架构师的人。
当面试架构师时,我们会交流些什么?我会问些什么问题?
由于每家公司或团队对架构师的定位不同,所以在回答这些问题前,先来说说我会更看重架构师的哪些特点,并且说下什么样的架构师才能尊称为 “靠谱哥”。
我更看重架构师的哪些特点?
我们的架构师:负责应用服务中间件的开发与运营,提供高效而稳定的中间件服务;
能力特点:
软技能:快速切入,举一反三,能抽象,一句顶一万句;
硬技能:解构,拆分系统模块和代码,分布式;
沟通特点:情商(打酱油、和稀泥、背黑锅、拉仇恨);
洞见特点:积极,不悲观,尊重经验但要创新;
我觉得什么样的架构师才靠谱?
能仰望心空,但不能超出现有团队水平太多,否则会脱节,难以落地
能脚踏实地,立竿见影解决问题,够用就好
坎坷经历接近,兴趣广泛,耐抗耐操
能调侃,经得起被调侃,脸皮厚,能打王者荣耀
上面说的听着很玄,或者似乎有些偏激,不过我觉得要求还是要有的,目标也是要有的,至于满足几项才算符合,见招拆招吧。

下面我就直接说说在面试架构师候选人时,大致会聊到的几类话题。
| 话题一:技术领域的一些技术细节
我认为,架构师对技术细节的理解深度是很有必要的,因为这能够影响他做架构时的设计思路的。毕竟每一个领域都有不同,了解不同领域的差异,以及特定领域的技术细节,很影响架构时的设计思路和实现手段。
然而,这并不是鼓励大家去挖出各种细节的问题,然后去考察架构师候选人,这里需要有一个度。
举例说明,我在某次面试过程中问过两位架构师候选人相同的问题,可结果完全不同。
问题:你如何清空一个ArrayList的所有数据?
架构师A:知道ArrayList有Clear这个方法,能够说出直接使用这个方法。
架构师B:不知道ArrayList有上面这些方法,说用for…in…的方法执行,然后取到这每一个元素,让他们执行remove。
答案在本文不是重点,我面试架构师的时候,都会问这种比较侧重对某一项技术垂直深度的挖掘,有人能答好有人答不好,然后从招进来的人看,最终会呈现出两种不同的结果:
架构师A:后来都在团队中起到了顶梁柱的作用。
架构师B:也还是招进来了,虽然也能很好地完成需求和任务,但是代码结构、设计思路都会有或多或少的缺陷,做出来的分布式架构在使用上会感觉怪怪的。
| 话题二:方案设计的不同思路
大概许多年以前,我曾在一次架构师面试中被面试官直接问到这样的问题,其它一般都是我在自我介绍的时候主动挑一个去讲的。大致的内容是说:
对于某个应用的网络层,在设计之初你通常会考虑哪些问题?
对于某个应用的持久层,如果让你直接用SQLITE,你该如何设计迁移方案?
一套IOE架构,如果让你去IOE,你首先该从哪个地方开始?
严格来说,大部分面试官也会问这样的问题,但如果你简历上写到过类似经历,然后直接问这个方案的实施过程,而不是问这个方案的设计思路。
在我的面试过程中,会更关注面试者是如何思考的。
比如,你自己设计一个技术场景,然后问你如果昨天回家时系统一切都安好,早上来上班发现系统奇慢无比,你该从哪个地方开始着手处理?
比如,过去你解决了哪些比较有技术含量的问题?挑选一个你觉得最记忆犹新的。
比如,你如何去设计一个靠谱的解决方案?什么样的方案才叫周密,思考足够长远,代码很容易阅读,运维维护成本更低?
| 话题三:业余时间喜欢做些什么
无论面试的过程再怎么匆忙,我都会在与架构师面试的最后环节聊一下兴趣爱好的相关话题。
首先我想说明的是,问这个问题,不是想和面试者套近乎,只是想看看有没有让人眼前一亮的地方。
比如,曾有一位跟我聊起了骑行,说起和朋友骑行100公里的宏伟事迹。
比如,曾有一位跟我说起喜欢看英文原版电影,并在每部电影结束之后翻译原文幕组。
比如,曾有一位每天坚持晨跑5km,每天保证1-2小时的时间阅读经典书目并在网上分享心得,最近还爱上了阅读。
相信无论在哪家公司,架构师,都应属于引领技术的先驱者,与他们谈谈这类话题,是想要了解面试者对所做事情的专注程度。
最后,根据之前的经历总结下。现在我面试架构师时,总是「抛出一个话题,看你怎么去思考」,而不是「我问你一个这个问题,看你知不知道」。
和你遇到的情况一样吗?
| 推荐相关文章
感谢您的阅读
您的支持是我最大的前进动力

- End -

原文作者:头哥侃码;如有侵权,请联系管理员删除。