※ 引述《del680202 (HANA)》之銘言:
: 最近被上面指派去面試跟招募人才
: 所以開始有了去面試其他人的機會
: 會想到這問題,是前天面了一個有十年左右工作經驗的工程師
: 面試過程中他聊了他如何設計一個系統架構,解決各種業務邏輯
: 包含他如何解決遇到的難題。
: 使用了哪些open source,選用的時候有哪些考量等等
: 整個過程對方充滿著自信,而我個人聽起來覺得這位面試者底力很夠沒啥問題
: 之後跟我同行的另一位同僚問了一個二元樹找最大子樹的白板問題
: 此時這是該面試者第一次讓我覺得他露出一點尷尬的表情
: 後來他要求給他點時間思考,我問我同事說為什麼要問這問題
: 他說面試工程師問這種問題應該是很基本的
: 我自己覺得對於這種工作好幾年的工程師比起考他這類問題
: 應該更注重對方對於系統架構等全面的理解,所以我不太喜歡問這種白板問題
: 事後針對這點我跟我同事討論了一段時間
: 不知到板上各位高手是如何面試一個資深工程師的
刷題是大公司的作法,因為履歷有千萬封自然要先篩選
反正篩完還是有一大堆可挑
然而個人認為一般公司而言
senior 最重要的是, 遇到困難時怎麼去處理
但這個困難不完全是技術層面的問題
而是是一些外部性/內部性問題所衍生的情況
例如startup下禮拜要出一個demo,現在要怎麼衝prototype?
決定專案合適的 tool chain? 確認 CI/CD 範疇跟深度?
當面臨資安/系統性問題時可以提出不同的方案?
雖是技術,但必須考慮目前手上資源
junior 是找方法
senior 則是選方法,並且可以提供時程跟效率評估
cto / tech lead 則是帶人/確保下面提出的方法跟公司戰略align
讓 senior 去帶人則是台灣軟體業普遍常態
但不見得跟公司策略 align
像我認識很多優秀工程師
都會希望用最屌的新語言/架構
那的確是 senior 很愛做的事情
但重構必須是建立在有更好的轉換率情況
反過來說
如果他是不斷追求架構/或是接納新語言的工程師
那我會給他高度的 senior 評價
所以白板問題可以問
但不該是你選擇他的唯一重點
如果你手邊架構能力/解決問題能力/提出解決方法多樣性的 candidate
實在太多
那這時用白板題就 ok
雖然這種人很少(經驗豐富又是刷題高手)
這種咖通常去FLAG/去新創當cto了