我的面试经验总结

工作了3年多,从阿里到滴滴,面试了至少100+个iOS候选人。作为一面的面试官,往往都是最辛苦的(因为数量多),以一个面试平均45分钟算起来,我至少进行了75小时的面试。所以,我一直以来都有思考一个问题,如何在短时间内最准确地评判一个人的技术水平?有没有可能控制在30分钟内,就能做出比较准确的判断,不误杀高手,不错放了水货?

首先,要有量化的标准,结合了自己的经验和业界的一些评判标准,也和不少面试官讨论过,我最近总结的层级评判标准如下:

接下来,就是如何在简短的面试中如何通过沟通和提问了解候选人有没有达到量化的标准?

首先,面试一开始都是了解工作经历和项目经验阶段,其实大部分在这一个阶段已经能判断到百分之七十的程度了。如果工作一年内的话这些经验比较少可以理解,直接进入问题提问环节。如果工作多年,这些经验都没啥好聊的,那么也就可以下一位了。这一个步骤需要了解的是

  1. 最拿得出手的技术产出,或者工作经历中解决的最难的技术难题
  2. 负责的最大的项目的规模和其中的角色

这个步骤D8水平的候选者基本可以判断出来了。这个步骤沟通完还无法判断的一般是D6或者D7的候选人,这类候选人经常是有一定的项目经验,但是又没有比较有影响力的技术产出,接下来就需要进行技术问题的提问环节了。

  • 动态化 :动态化是客户端永恒的话题,从json配置化到用具备图灵完备性的脚本语言描述界面和逻辑,动态化的发展也进行着演变,这一方面我会问一些在相应的业务环境下对动态化方案的选择,技术基础方面会问runtime,因为runtime是任何动态化方案的基础。而runtime我经常会问一个问题,如何hook某个对象的某个方法,这个问题看似不难,但是面了这么多人,能给出一个完整的解决方案的人几乎没有见到。
  • 稳定性 :稳定性方面我会问一些crash防护的安全机制,这个涉及到的技术原理比较底层。
  • 性能 :从用户开始打开app到内容展示,这中间所有的消耗时间都是可以进行优化的,从而就有了性能优化的需求。完整的链路包括启动优化、网络优化、渲染性能、滑动性能等等。
  • 工程效率 :工程效率主要指的是打包构建系统和自动化流程,对于很多开发者这个方面经常是个短板,因为在大公司中都是现成的构建系统。但是这部分也是非常重要的,特别是在大规模协作的开发团队,对于业务模块的解耦,构建是很重要的一部分。
  • 架构 :我会先问问面试者所设计过的架构,TA在其中的思考过程,那种不结合业务不根据实际问题,而是直接套用业界方案的,我就不太认可。
稿源:ScorpioLin (源链) | 关于 | 阅读提示

本站遵循[CC BY-NC-SA 4.0]。如您有版权、意见投诉等问题,请通过eMail联系我们处理。
酷辣虫 » 综合技术 » 我的面试经验总结

喜欢 (0)or分享给?

专业 x 专注 x 聚合 x 分享 CC BY-NC-SA 4.0

使用声明 | 英豪名录