面試專家職位面試官會問什麼
- 2019 年 10 月 3 日
- 筆記
考察實踐經驗和方法
很早之前阿里打電話過來面試我,是一個架構師的職位。當時問我一個問題:在review程式碼的時候,如果程式碼特別長,比如幾千行幾萬行,你如何去review呢?
我的回答角度是這樣的:
1.review PR我一般不會review所有的程式碼,而是變更點。整體的程式碼review會以模組review的形式來做。項目成員介紹自己這塊的架構是怎樣的,解決了什麼問題,有什麼問題是待解決的。架構優勢和不足等。然後再由開發人員自己去講解程式碼。
2.我建議開發人員用好工具。比如作為一個git用戶,非常重要的技能是必須能夠維護一個清晰的語義化的變更歷史暴露出來。review程式碼的時候可以通過歷史清晰的看到程式碼的變更思路。如果一個開發人員還不具備這樣的意識或不知道怎樣做,我會建議他給開源社區貢獻幾個PR,相信這會對他影響很大。
3.我們整個團隊的主要迭代策略是:小步快跑,小迭代。一次性提交的程式碼過多,很可能意味著階段劃分過粗。這時候應該和開發人員一起梳理一下合理劃分流程。
4.我review程式碼的主要核心聚焦在防護程式碼上。就是程式碼一旦出現了問題,裡面有沒有緊急預案的措施進行控制。比如有沒有加開關、報警,異常處理等。
考察藍圖
看過《浪潮之巔》的朋友們不知道有什麼這樣的感受:所有這些站在浪潮之巔的企業都是在其創始人實現了其最初的藍圖之後才開始走下坡的。因為這之後,很大的精力和努力都用來解決下一步怎麼走的問題。所以如果招聘者本身就有一個藍圖,他招人是很好招的。他只需要招有方法的人,這種人是可以培訓出來的。但是有想法的人是很少的。按照我的世界觀宇宙理論,這種人心裡有一個強大的宇宙,在釋放能量。PS:我認為AI目前的發展方向永遠不可能代替智慧。人的思維、感情是量子層面的。用數字訊號來模擬,就好比用大鎚子擊打一個原子,完全不在一個層面。
考察方法體系
這時一般會把考察放在兩個層面。一個是理論,看面試者的講述成不成體系,有沒有漏洞。另外一個一般會考察在實際中的運用,一般用STAR來設立一個場景。
比如:手下有個同事,態度很好,也很上進,但是總是出這樣那樣的問題,這時候該怎麼做。
這個場景是非常開放的,把這個人開了也是一種解決方法。把這個人安排做一些低風險的項目也是一種解決方法。建立更加規範的流程和工具也一種解決方法。
我的回答角度是這樣的:
從兩個方面著手。首先,如果出了問題,流程上肯定是有漏洞的。這是個極好的機會,去發現這方面有哪些不足並加以修正和改善。
另一個方面,從對同事本身的提高入手幫他分析根本原因。首先列舉一段時間發生的事情。每件事情背後的本質。最終會有幾條:
1.對結果負責而不是對行為負責。2.對線上操作存有敬畏之心,三思而後行。3.準確性來源於深度和邏輯。4.可以慢,可以少,做對,做好。
總結
應屆生面試要考察演算法、源碼,越往後反而越不問了,問的都是書里程式碼里沒有的。
相關閱讀