Re: [請益] 如何面試中認出優質的工程師?

看板Soft_Job (軟體人)作者 (~~~)時間7年前 (2018/07/07 09:46), 7年前編輯推噓22(24255)
留言81則, 35人參與, 7年前最新討論串12/15 (看更多)
需要什麼樣的流程,愚以為要看公司規模,系統特性,人員組成來決定,大象不會跳舞。 打快攻有快攻的流程(搶市佔),禁區防守有防守的流程(鞏固現有勢力),看產業模式 而定,沒有一定標準做法。 原PO看起來想用「方便、快速做事」的流程,但想問怎麼找到適合這樣流程的夢幻人選。 無論後面爭論的內部管理與流程,但一開始如何面試合適的人,都是個值得思考。 最近剛好我也在煩惱這個招募問題,我想會用上機考的方式,給一個lab, 裡面只有一個 簡單的function,但是有bug,我會請面試者找出裡面的bug並修復。 實際上bug不只有一個,最粗淺的就是編譯失敗的語法問題,括號不對稱或是變數存取範 圍不一致這類,這個解不了,我就送他到門口鞠躬說聲謝謝請等待通知。 編譯失敗的問題解決了,如果面試人立即回報說這題完成了,那我就會知道他不是一個細 心的人,只看見眼前的問題,而沒有看到後面跟著的其他問題。 我應該會至少準備四種bug在裡面: 1. Runtime error:8元素的陣列,存取指標應該0-7,但迴圈卻用了1-8,或是迴圈條件 < 故意寫成 <= 來產生此錯誤。 2. 極值檢查錯誤,例如除法,我分母塞入0他有沒有想到這種可能,先檢查出來? 3. 邏輯錯誤:程式本身運行正常不會有error, 但是輸出的結果都是錯的,他找不找得出 原因? 4. 錯誤處理:在一定會有錯誤發生的地方他有沒有想到並處理掉?例如連資料庫或是api 但是面試的辦公室根本不可能連到。 後面這四個都會事前準備好單元測試,面試人交件後自動一跑,看幾個綠燈,就可以大概 知道這面試人的細心程度.... 關於原PO的問題,這應該是我會嘗試的方法。 ※ 引述《Masakiad (Masaki)》之銘言: : 其實制度流程沒分兩種,開發團隊講好規則;約定好軟體開發的品質、驗證基準並自動 : 、約定時間code review的時程,正是加速品質保證及驗證軟體的速度。這個作法並沒 : 什麼多餘跟lock的問題,除非品質跟驗證軟體本身就是多餘。 : 另外有很多方法論來指導上述的實作原則外、也很多公司有進行也持續運轉這機制,若 : 還沒有嘗試就趕快試試,不用臆想跟推論這麼多。 : 閣下言談之間我的感覺是不熟這方面的運作,所以另外再建議你找一個熟這方面流程的 : 來協助你,這樣才可以解決問題。 : 至於怕優秀人才會因為這樣感到不被信任的問題也不用擔心,優秀人才只會因為沒有這 : 機制而離去,原因在於他們嚴格要求自己驗證跟品質,團隊有這些機制對他們來說已經 : 習慣,倒是沒有這些機制還要擔心我完美的架構混入其他沒被驗證的糞code,什麼叫委 : ?這才叫委屈。 : ※ 引述《accessdenied (存取違規)》之銘言: : : 唉唉唉,當初我不用「態度」這個字眼就是知道大家會各自解讀,到底什麼是好的態 : .. : : ... : : 所以我講白了就是「細心」和「紀律」,還舉了很多實際例子來說明這兩個元素的概 : , : : 結果有人又簡化回態度兩字,果然底下有開始亂戰了... : : 拉回主題,前陣子忙著賺錢沒時間好好回應一些想法。有人說制度和流程可以解決, : 提 : : 到權限控管,為什麼我不太認同。 : : 制度流程分兩種,一種是協同合作必要的方式,你負責的範圍是哪裡?東西做好會放 : 哪 : : 裡?這是讓大家做事彼此方便快速的約定,是增加效率的。這類似交通規則的訂定, : 家 : : 照著做就流暢。 : : 另一種制度流程,是防弊的,稽核、放行、權限控管,是保持著一種不信任的心態在 : 管 : : 理。這就好像除了紅綠燈外,又另外安排了一個交通警察指揮交通(權限、審核放行 : , : : 並看管所有駕駛人。 : : 後者會產生效率瓶頸,因為每台車都要經過檢查並放行,交通就堵塞了,開發人員再 : 、 : : 效率再高都沒用,就是會lock。 : : 每個change都要approve的下場,就是「人皮圖章」開始產生的時候。 : : 再來,有些 team 趕專案加班到半夜怎麼辦?負責approve的人難道發呆配到半夜只 : 了 : : 最後幫他開權限和approve?這些都是無謂的人力損耗。 : : 而且優秀的人才,一直在不被信任的環境下做事,心委屈了,流失也只是遲早的事情 : : 想想看,你有10個工程師,只為了其中1個心態隨便的人員,就把剩下9個優秀的人才 : 起 : : 拖下水被綁手綁腳不再信任? : : 為了那一個人,與其設計各種稽核制度防止他做錯,不如一開始九排除他,讓剩下九 : 人 : : 順順利利做事,這才是正解吧!? : : 讓不對的人一開始就不要溜進來,團隊也不會被污染,好的人才更不會覺得被牽累! : : 這才是我為什麼要跟大家請益的出發點。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.215.225 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1530928002.A.258.html ※ 編輯: tomtang0406 (223.136.215.225), 07/07/2018 09:47:58 ※ 編輯: tomtang0406 (223.136.215.225), 07/07/2018 09:49:05

07/07 09:54, 7年前 , 1F
我的建議是... 告訴面試者,這個Lab有幾項設計缺失
07/07 09:54, 1F

07/07 09:55, 7年前 , 2F
請你修正.... 而不單單只說 裡面有bug請你修正
07/07 09:55, 2F

07/07 09:55, 7年前 , 3F
對於腦筋簡單 直來直往的工程師 很容易就中招
07/07 09:55, 3F

07/07 09:56, 7年前 , 4F
有時候不是能力不足, 而是心還太嫩....
07/07 09:56, 4F

07/07 09:57, 7年前 , 5F
單純建議 無意引戰 我老了......
07/07 09:57, 5F

07/07 10:00, 7年前 , 6F
樓上說的有理謝謝指教
07/07 10:00, 6F
※ 編輯: tomtang0406 (223.136.215.225), 07/07/2018 10:00:43

07/07 10:07, 7年前 , 7F
原Po的問題在於標題下了"優質",然後講了一堆為什麼
07/07 10:07, 7F

07/07 10:09, 7年前 , 8F
細心和紀律很重要,好像那就===優質
07/07 10:09, 8F

07/07 10:13, 7年前 , 9F
有點像是找日本人的奴工
07/07 10:13, 9F

07/07 10:13, 7年前 , 10F
不過這一串下來可能只有你真正的給了建議 :)
07/07 10:13, 10F

07/07 10:13, 7年前 , 11F
有些comoiler就會找出來的真的考試是浪費時間
07/07 10:13, 11F

07/07 10:14, 7年前 , 12F
考點oop和演算法吧
07/07 10:14, 12F

07/07 10:15, 7年前 , 13F
你的工作內容看起來比較像維護
07/07 10:15, 13F

07/07 10:16, 7年前 , 14F
不像是找真正的神人
07/07 10:16, 14F

07/07 10:17, 7年前 , 15F
他破題不就說看產業內容 沒有標準做法
07/07 10:17, 15F

07/07 10:18, 7年前 , 16F
然後試著舉了一個case
07/07 10:18, 16F

07/07 10:27, 7年前 , 17F
我沒有要找神人,這個面試設想只是要找能安心做事的
07/07 10:27, 17F

07/07 10:27, 7年前 , 18F
一般員工
07/07 10:27, 18F

07/07 10:28, 7年前 , 19F
神人的重點不會在細心和紀律這兩個條件吧?
07/07 10:28, 19F

07/07 10:30, 7年前 , 20F
另外其實軟體業的工作,維護大概占據了89成的工作量
07/07 10:30, 20F

07/07 10:30, 7年前 , 21F
,除了接案公司,沒有天天都有全新專案可以開發的公
07/07 10:30, 21F

07/07 10:30, 7年前 , 22F
07/07 10:30, 22F

07/07 10:47, 7年前 , 23F
你只是找一個可用的人力而已 不覺得可以叫優質
07/07 10:47, 23F

07/07 10:50, 7年前 , 24F
推原po跟一樓
07/07 10:50, 24F

07/07 10:56, 7年前 , 25F
哈哈,現在連優質的定義都要各自解讀了,真無聊你
07/07 10:56, 25F

07/07 10:56, 7年前 , 26F
們。我認為態度細心有紀律的人就已經鳳毛麟角,所以
07/07 10:56, 26F

07/07 10:56, 7年前 , 27F
對我來說是優質
07/07 10:56, 27F

07/07 10:57, 7年前 , 28F
考這種總比寫白板好啦,至少比較實際,工作上也可能碰
07/07 10:57, 28F

07/07 10:57, 7年前 , 29F
07/07 10:57, 29F

07/07 10:58, 7年前 , 30F
你們玻璃心有你們自己的定義,乾我屁事?我就是要
07/07 10:58, 30F

07/07 10:58, 7年前 , 31F
細心、有紀律的人,而且我覺得這種人難找很優質,這
07/07 10:58, 31F

07/07 10:58, 7年前 , 32F
麼簡單聽不懂嗎?
07/07 10:58, 32F

07/07 11:11, 7年前 , 33F
linkedin不是很多HR討論區嗎?
07/07 11:11, 33F

07/07 11:18, 7年前 , 34F
感覺這篇的建議 挺具體的阿
07/07 11:18, 34F

07/07 11:23, 7年前 , 35F
這篇很具體,但我覺得一樓的想法我更認同
07/07 11:23, 35F

07/07 11:44, 7年前 , 36F
原po找的是碼農吧
07/07 11:44, 36F

07/07 11:45, 7年前 , 37F
看別人的code修到好太痛苦了 比自己重寫還累
07/07 11:45, 37F

07/07 11:45, 7年前 , 38F
誰知道他埋了多少bug在裡面
07/07 11:45, 38F

07/07 12:00, 7年前 , 39F
能有優秀成果的,便是優秀工程師.
07/07 12:00, 39F

07/07 12:02, 7年前 , 40F
一個優秀成果的細節,豈是短短的一些面試問題就能包含
07/07 12:02, 40F

07/07 12:02, 7年前 , 41F
的了的...
07/07 12:02, 41F

07/07 12:03, 7年前 , 42F
推這篇建議 學起來 謝謝^^
07/07 12:03, 42F

07/07 12:17, 7年前 , 43F
07/07 12:17, 43F

07/07 13:15, 7年前 , 44F
乾脆請他找亨利或是拼拼圖不是更好
07/07 13:15, 44F

07/07 13:17, 7年前 , 45F
感覺考察面還是不夠全面 頂多看基本知識跟細心度
07/07 13:17, 45F

07/07 13:59, 7年前 , 46F
樓上要不要建議一個2個小時能全面了解的面試法?
07/07 13:59, 46F

07/07 14:02, 7年前 , 47F
這篇提供的方法很實際,但老實說我覺得原Po(指禁止存
07/07 14:02, 47F

07/07 14:02, 7年前 , 48F
取)想在面試階段過濾的應該不是這種程度的不細心面試
07/07 14:02, 48F

07/07 14:02, 7年前 , 49F
者(甚至我認為這根本不專業)應該是在架構複雜的狀況下
07/07 14:02, 49F

07/07 14:02, 7年前 , 50F
產生的邏輯錯誤等bug,而不是能不能build過這樣的狀況。
07/07 14:02, 50F

07/07 14:02, 7年前 , 51F
實際上就是工程師怎麼撰寫他的測試案例已經決定他的態
07/07 14:02, 51F

07/07 14:02, 7年前 , 52F
度跟細心度了。
07/07 14:02, 52F

07/07 14:13, 7年前 , 53F
本來優質就是各自解讀, 也才因此而有前面一堆討論
07/07 14:13, 53F

07/07 14:14, 7年前 , 54F
直到現在才有一篇算是真正的建議
07/07 14:14, 54F

07/07 14:16, 7年前 , 55F
問題問精準一點會比較快得到有用的回覆
07/07 14:16, 55F

07/07 15:12, 7年前 , 56F
感覺你連function都不用幫,讓面試者寫出來再讓他寫單
07/07 15:12, 56F

07/07 15:12, 7年前 , 57F
元測試測就好.
07/07 15:12, 57F

07/07 15:20, 7年前 , 58F
我個人認為考這個會比要面試者背sort的時間複雜度實
07/07 15:20, 58F

07/07 15:20, 7年前 , 59F
07/07 15:20, 59F

07/07 16:33, 7年前 , 60F
sort的複雜度不是演算法常識嗎? 不需要特別背吧
07/07 16:33, 60F

07/07 16:34, 7年前 , 61F
現在G家人資還會直接問你sort複雜度來決定你夠不夠格電面
07/07 16:34, 61F

07/07 16:45, 7年前 , 62F
就陷阱題
07/07 16:45, 62F

07/07 19:25, 7年前 , 63F
C++ 的 STL algo 都有時間複雜度保證,和資結當初上的
07/07 19:25, 63F

07/07 19:25, 7年前 , 64F
差不多,我遇到履歷寫會 C++ 的也會去問這問題。
07/07 19:25, 64F

07/07 19:28, 7年前 , 65F
遇到寫擅長物件導向的我會給一個爛架構叫他重構給我看
07/07 19:28, 65F

07/07 20:00, 7年前 , 66F
說實在...能找到可用的人已經很不錯了~神人那是另一個境界
07/07 20:00, 66F

07/07 20:48, 7年前 , 67F
推原 PO 跟一樓
07/07 20:48, 67F

07/07 22:53, 7年前 , 68F
在找打雜的吧無聊
07/07 22:53, 68F

07/07 23:00, 7年前 , 69F
1.2是基本的 但是3.4有點搞人了
07/07 23:00, 69F

07/08 01:24, 7年前 , 70F
曾經我有想過 找個大型的Opensource專案開題目讓新人加功能
07/08 01:24, 70F

07/08 03:32, 7年前 , 71F
真的是好建議耶
07/08 03:32, 71F

07/08 09:44, 7年前 , 72F
推這篇 也推一樓
07/08 09:44, 72F

07/08 12:40, 7年前 , 73F
後面考細心在搞人吧...面試時間短短,當然迅速解重點
07/08 12:40, 73F

07/08 12:41, 7年前 , 74F
刻意埋邏輯錯誤不講
07/08 12:41, 74F

07/08 12:42, 7年前 , 75F
更何況要短時間適應、爬完別人的code,抓出所有坑
07/08 12:42, 75F

07/08 13:57, 7年前 , 76F
...真不會找人捏 面試心法完全是靠聊天 但大多工程師主
07/08 13:57, 76F

07/08 14:22, 7年前 , 77F
他如果在高手環境待久了 看到這種程式搞不好反應不來
07/08 14:22, 77F

07/08 17:42, 7年前 , 78F
真的,traceCode找bug是沒用過ide嗎?
07/08 17:42, 78F

07/08 17:42, 7年前 , 79F
是只想找到喜歡用筆記本寫code的高手嗎
07/08 17:42, 79F

07/08 17:43, 7年前 , 80F
尤其無限上綱錯誤,難道他硬加了七八個防呆你反而大喜?
07/08 17:43, 80F

07/08 17:44, 7年前 , 81F
這種怕死的面試法是以前測試不流行的年代,可以改進的
07/08 17:44, 81F
文章代碼(AID): #1RG1k29O (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1RG1k29O (Soft_Job)