面試攻略:何為技術和年齡不匹配

最近因為幫人組建研發中心,面試了很多開發工程師,對“技術能與和工作年限是否匹配”的理解更深了,記錄下來分享給大家。

為便於討論,簡單的依據工作年限劃分出 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 年以上的開發工作,用過的框架,沒有一個掌握到這種程度的,那不好意思,別人大概率會認為你的技術能力匹配不上你的工作年限。

你在哪裡?

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

配不上的話……本文還有續篇——“技術和年齡不匹配時怎麼辦”,敬請期待。

工作機會

本文開始說我在幫人建西安研發中心,沒錯,現在還有工作機會哦。兩個崗位:Golang開發工程師和前端開發工程師。工作地點在西安,接收簡歷的郵箱是我個人郵箱,見下圖哦。

Golang開發工程師

前端開發工程師