美文网首页个人需要的都放这我爱编程程序员
面试攻略:何为技术和年龄不匹配

面试攻略:何为技术和年龄不匹配

作者: 安晓辉0 | 来源:发表于2018-04-13 14:51 被阅读1654次

    最近因为帮人组建研发中心,面试了很多开发工程师,对“技术能与和工作年限是否匹配”的理解更深了,记录下来分享给大家。

    为便于讨论,简单的依据工作年限划分出 3 个阶段:

    • 1 ~ 3 年
    • 4 ~ 5 年
    • 6 ~ 8 年

    接下来讨论面试官对每个阶段的开发者的要求,看看到底什么是“技术和年龄不匹配”。

    面试官怎么要求 1 ~ 3 年经验的开发者

    下图是我从一位做了 2 年 Android 应用开发的小伙伴的简历中截取的片段:

    这位小伙伴说“熟练掌握自定义控件”,我问他通过继承 View 来实现一个自动以控件需要重写哪些方法,他回答说,“onDraw”,我问他还有别的吗,他想了 10 秒钟没答上来。

    实际上,要继承 View 来实现一个自定义控件,起码要重写“onMeasure、onDraw、onLayout”三个方法。

    这就是我们对工作 1 ~ 3 年的开发者的能力要求:

    了解用过的知识点、技能点本身,知道它们可以实现什么、怎么用,不要有错误的概念。

    再举个例子,比如你用过 Qt 的 QTimer 类,面试官问你 QTimer 类能否用在非 GUI 线程中,你应该可以答得上来(答案是可以)。面试官再让你举例说明 QTimer 在非 GUI 线程中怎么用,你答不上来,那没关系,因为你没用过。

    这就是这个阶段的要求:用过一个东西,知道它怎么用,能用在什么环境下,具体使用时的操作步骤。

    面试官怎么要求 4 ~ 5 年经验的开发者

    下图是我从一位工作 4 年的 iOS 开发工程师的简历中截取的片段:

    我们看到这位小伙伴提到熟悉多线程,在面试时就问他用的哪种方式,他说使用的 GCD ,然后我们问他是否了解其他的多线程方式,他说还有 pthread,但没用过,其他的不知道了。

    实际上,有 4 年 iOS 开发经验并且在简历中说自己熟悉“多线程”的程序员,起码应该了解还有其它三种多线程的方式:

    • pthread
    • NSThread
    • NSOperation

    并且还要知道 4 种常见的多线程编程方式有什么异同、什么场景下该用哪个。

    这样,你的能力和工作年限才是匹配的。

    假如你用过 GCD ,其它的都没听说过,那面试官就会认为你的能力配不上你的工作年限。

    这就是面试时对这个工作年限的小伙伴的能力要求:

    对用过的知识点、技能点,了解原理,知其然且知其所以然,能灵活应用

    。同时,要能对实现相同功能的不同组件均有所了解并知其优劣,此时应该是能举一反三,触类旁通的。

    这也是我对简历中“熟悉”一词的理解。

    面试官怎么要求 6 ~ 8 年经验的开发者

    公司对经验超过 5 年的开发者,要求会更高:

    常用的技术框架,要理解原理、设计思想、实现细节,研究过内核、源码,可以定制、扩展、优化。

    或者可以根据项目需要,参考已有框架,建造自己的框架。

    这也是我对简历中“精通”一词的理解。

    比如 iOS 的图片加载框架 SDWebImage ,支持从网络中下载且缓存图片,并设置图片到对应的
    UIImageView 控件或者 UIButton 控件上,是我们开发 iOS App 必不可少的框架。

    对于有 5+ 年 iOS 开发经验的小伙伴来讲,如果用过几次 SDWebImage ,公司可能就会要求你看过它的源码,了解它内在的实现,比如它内部是怎样下载的、怎样使用多线程的、怎样缓存的,然后可能会认为你应该能自己写出具备类似功能的组件。

    你能做到这样,能力和年龄就是匹配的啦。如果你做了 5 年以上的开发工作,用过的框架,没有一个掌握到这种程度的,那不好意思,别人大概率会认为你的技术能力匹配不上你的工作年限。

    你在哪里?

    好啦,现在,观照一下自身,看看你的技术能力是否配得上你的工作年限?

    配不上的话……本文还有续篇——“技术和年龄不匹配时怎么办”,敬请期待。


    阅读《程序员的成长课》,Get技术精进的方法,京东购买:https://item.jd.com/12243573.html

    相关文章

      网友评论

      • 有点健忘:我是菜鸟,可我也不明白,继承View,你重写onLayout,你layout谁了,onMeasure有时候也不写,人家回答onDraw也没啥毛病啊。核心不就是这个啊。
        安晓辉0:@有点健忘 实际编程中,自定义View有时是只写 onDraw 就 Ok 了。但问这个问题,是从框架和流程的角度来考虑的。
        夏天吃冰棍:@有点健忘 装的多些
      • Avalon1:我觉得自定义View那个问题。不需要重写onLayout。如果是写ViewGroup才需要的呢
      • 神经旷野舞者:挺促进思考的,自己有什么是不可替代的,可怕。
      • 神经旷野舞者:感觉要求有点低,还是停留在技术使用上,如果技术人员没有原创技术比如贡献源码,要么就必须有业务思维,否则工作十年,还是软件螺丝钉,和工作一年没本质区别。
      • 谦谦君子修罗刀:我面1-3的,也让我说出创建线程三种方式,串行并行还有sdwebimage的源码分析呢
        Jack_deng:现在iOS实习生都要问sdwebimage的源码分析了。为啥?因为iOS烂了。所以要求才会这么高
      • cd13856c86e2:最后发现是卖书的
        d757add6d95b:@Leon惊叹号 还可以了,例子都拿出来了。要啥自行车

      本文标题:面试攻略:何为技术和年龄不匹配

      本文链接:https://www.haomeiwen.com/subject/onbckftx.html