ITPub博客

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

当我面试架构师时,我们谈些什么

原创 数据库开发技术 作者:头哥侃码 时间:2017-12-21 21:15:51 0 删除 编辑

图文:来源于网络图库

几天前,收到公司一封名为 “年度面试官分享盛宴” 邀请函,里面写道:

2017年截止11月底,累计面试总人数已突破3000人次啦!

各位阅人无数, 免不了用眼疲劳,这时候如果来一场轻松愉悦的活动,想必是极好的!

So!小编决定代表人力资源部喊你喝“下午茶”啦!!

看到这样的数字与亲切语,大部分人估计都会为之惊叹。的确,面试官不是简单的一份差事,不但需要用心,而且还应用公平、公正、公开的态度面对每位前来面试的小伙伴,并依据岗位职责与技能的要求,仔细挖掘着潜力与能力。

作为一名程序员,这些年里有幸参与过各种大大小小的面试场景,总体的感觉是,在形形色色的面试者中想要找到合理靠谱的人选,还是很不容易的,尤其在快速多变的互联网环境下,如果要想找到几位志同道合的架构师,如果不经历千辛万苦,除非 “人品爆棚”。

与其他岗位相比,面试架构师是一件不容易的事情,朋友曾在随笔中写道:

能考察架构师候选人实力的面试官,自己就已经对架构本身有了很好的理解,就应该是一个合格的架构师,其次是需要足够务实,有合理的手段合理的问题,通过面试来了解候选人是不是一个适合做架构师的人。

当面试架构师时,我们会交流些什么?我会问些什么问题?

由于每家公司或团队对架构师的定位不同,所以在回答这些问题前,先来说说我会更看重架构师的哪些特点,并且说下什么样的架构师才能尊称为 “靠谱哥”。

我更看重架构师的哪些特点?

我们的架构师:负责应用服务中间件的开发与运营,提供高效而稳定的中间件服务;

能力特点:

  • 软技能:快速切入,举一反三,能抽象,一句顶一万句;

  • 硬技能:解构,拆分系统模块和代码,分布式;

沟通特点:情商(打酱油、和稀泥、背黑锅、拉仇恨);

洞见特点:积极,不悲观,尊重经验但要创新;

我觉得什么样的架构师才靠谱?

  1. 能仰望心空,但不能超出现有团队水平太多,否则会脱节,难以落地

  2. 能脚踏实地,立竿见影解决问题,够用就好

  3. 坎坷经历接近,兴趣广泛,耐抗耐操

  4. 能调侃,经得起被调侃,脸皮厚,能打王者荣耀

上面说的听着很玄,或者似乎有些偏激,不过我觉得要求还是要有的,目标也是要有的,至于满足几项才算符合,见招拆招吧。

下面我就直接说说在面试架构师候选人时,大致会聊到的几类话题。

| 话题一:技术领域的一些技术细节

我认为,架构师对技术细节的理解深度是很有必要的,因为这能够影响他做架构时的设计思路的。毕竟每一个领域都有不同,了解不同领域的差异,以及特定领域的技术细节,很影响架构时的设计思路和实现手段。

然而,这并不是鼓励大家去挖出各种细节的问题,然后去考察架构师候选人,这里需要有一个度。

举例说明,我在某次面试过程中问过两位架构师候选人相同的问题,可结果完全不同。

问题:你如何清空一个ArrayList的所有数据?

架构师A:知道ArrayList有Clear这个方法,能够说出直接使用这个方法。

架构师B:不知道ArrayList有上面这些方法,说用for…in…的方法执行,然后取到这每一个元素,让他们执行remove。

答案在本文不是重点,我面试架构师的时候,都会问这种比较侧重对某一项技术垂直深度的挖掘,有人能答好有人答不好,然后从招进来的人看,最终会呈现出两种不同的结果:

架构师A:后来都在团队中起到了顶梁柱的作用。

架构师B:也还是招进来了,虽然也能很好地完成需求和任务,但是代码结构、设计思路都会有或多或少的缺陷,做出来的分布式架构在使用上会感觉怪怪的。

| 话题二:方案设计的不同思路

大概许多年以前,我曾在一次架构师面试中被面试官直接问到这样的问题,其它一般都是我在自我介绍的时候主动挑一个去讲的。大致的内容是说:

  1. 对于某个应用的网络层,在设计之初你通常会考虑哪些问题?

  2. 对于某个应用的持久层,如果让你直接用SQLITE,你该如何设计迁移方案?

  3. 一套IOE架构,如果让你去IOE,你首先该从哪个地方开始?

严格来说,大部分面试官也会问这样的问题,但如果你简历上写到过类似经历,然后直接问这个方案的实施过程,而不是问这个方案的设计思路。

在我的面试过程中,会更关注面试者是如何思考的。

比如,你自己设计一个技术场景,然后问你如果昨天回家时系统一切都安好,早上来上班发现系统奇慢无比,你该从哪个地方开始着手处理?

比如,过去你解决了哪些比较有技术含量的问题?挑选一个你觉得最记忆犹新的。

比如,你如何去设计一个靠谱的解决方案?什么样的方案才叫周密,思考足够长远,代码很容易阅读,运维维护成本更低?

| 话题三:业余时间喜欢做些什么

无论面试的过程再怎么匆忙,我都会在与架构师面试的最后环节聊一下兴趣爱好的相关话题。

首先我想说明的是,问这个问题,不是想和面试者套近乎,只是想看看有没有让人眼前一亮的地方。

比如,曾有一位跟我聊起了骑行,说起和朋友骑行100公里的宏伟事迹。

比如,曾有一位跟我说起喜欢看英文原版电影,并在每部电影结束之后翻译原文幕组。

比如,曾有一位每天坚持晨跑5km,每天保证1-2小时的时间阅读经典书目并在网上分享心得,最近还爱上了阅读。


相信无论在哪家公司,架构师,都应属于引领技术的先驱者,与他们谈谈这类话题,是想要了解面试者对所做事情的专注程度。


最后,根据之前的经历总结下。现在我面试架构师时,总是「抛出一个话题,看你怎么去思考」,而不是「我问你一个这个问题,看你知不知道」。

和你遇到的情况一样吗?


| 推荐相关文章

这十五年里,我所遇见程序员的消费观

对于架构师来说,开会是个技术活吗?

感谢您的阅读

您的支持是我最大的前进动力

- End -


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

请登录后发表评论 登录
全部评论

注册时间:2017-05-29

  • 博文量
    303
  • 访问量
    118896