怎樣考察有八年經驗程序猿的水平(C#)?

從實際編碼的角度


一、對細節的深入程度,比如哪些措施對性能產生影響,這步可以考察他有哪些程序優化經驗;

二、對未知問題的反應,如給其一個場景,看其如何著手一步步逼近結果,這步可以知道他解決新問題的方式(也就是究竟是「一年經驗用了十年還是真的有十年經驗」);

三、在不涉及商業機密的情況下問其所做過的模塊或項目,其在當時承擔的絕色,其最終如何達到目的,如果在多個項目中都沒有參與到重要角色中去,這裡肯定談得不深;

四、問其對其它開發語言的了解程度,一個只盯著自己一畝三分田的開發人員不是一個合格的開發人員;

五、知道多少開源的框架(避免重複造輪子);

六、結合本公司的技術特點,比如使用到的資料庫及前端等問一下。


如何以上還不足以了解他,那就是你的問題了。

--------------------------------------------------

其它請參考:.NET牛人應該知道些什麼


8年應該把C#相關的核心全部搞清楚了。細分的話大概是以下幾大塊:

1. 軟體工程基礎。包括OO基本知識(繼承/介面/類/公共私有保護內部方法對象/靜態/...),SOLID原則。

2. C#基礎,包括CLR的運作原理(託管vs非託管代碼),內存分配/垃圾回收機制,對象/實例的作用域,等等

3. 演算法/數據結構基礎,各種排序,Dictionary/List/Array/HashSet/ObservableCollection/IEnumerable等等東西的異同等

4. C#特有的功能。比如lambda表達式,比如linq,比如擴展方法(extension methods),比如運算符重定義,等等

5. 其他編程思想體系,比如AOP,比如MVC,等等

6. 通訊,包括WCF建立,HTTP通訊,等等

7. 資料庫操作基礎。兩個東西,一個是普通的SqlConnection加上Reader,另一個是Entity Framework(或者類似的替代品)。要很清楚兩者的優缺點分別在哪裡。

8. 根據你做的東西需要考他具體的細節部分。比如http://ASP.Net的話要考http://ASP.Net和/或Razor,WPF的話要靠MVC模式的WPF,Windows程序的話考COM,等等。

9. VS本身的應用。包括各種#if, #region等等編譯指令等

10. 單元測試的基礎概念,TDD

11. 編譯的基礎知識。比如X64/X86/AnyCPU的區別,再比如GAC的定義,以及搜索DLL的優先順序

12. 反射

13. 並發處理,async和await還有Task等等

這是純粹在C#範圍內的。然後還有一些相關的知識,比如SQL,比如HTML/CSS/Javascript等等。

如果這些知識點都可以掌握的話,那下一步應該是讓他寫一個具體程序。這裡除了正確性,更關鍵的是看他寫程序的風格,以及思路是否清晰。還有就是命名變數是否有好習慣,等等。

然後也可以問問他平時都從什麼途徑吸收新知識。然後可以讓他隨便介紹一下他近期內學習並開始使用的一個新框架,等等。

當然,最後最關鍵的就是待人接物的能力。和你其他的手下都合不來的話,這人再強也不行。

這些都有了,大概就差不多了。


專業的事情當然要讓專業的人來干,HR只是拉皮條的。


離個題,突然想起一句話:

「別說你有十年經驗,你只是一年經驗用了十年而已。」

出自:大衛談學習4:為何你會一年經驗用十年?


工作那麼多年,技術早就用爛了,值錢的是經驗。

開發經驗、部署經驗、調試經驗……項目經驗、產品經驗……那都是一身是傷


平常閑的沒事的時候寫過什麼好玩的阿?


先招一個10年經驗的碼農


簡化一下思路:

1 主動溝通:分享、開源參與的如何,網路活動、線下活動有無自己的身影?

考察點:學無止境、積極主動和外界交流的態度。

2 學習途徑:遇到新技術、新控制項,是如何學習的,去GCDN 讀一下發帖的網友,就初步能判斷出 其是否有開發的潛力,有的人,確實很好,問題、規範的溝通。

3 自我沉澱:有無網路痕迹,如前幾天我加一個QQ群,竟然寫明了0年QQ齡的人拒絕加入(幸虧我QQ齡超過12年了 :)),一個人無法看清未來,但是從過去的痕迹推測出未來。

最後,這裡有一份考試題,據說是大牛們做的,俺辛辛苦苦做了很多年的.net開發,有很多打不上來。 《程序員級別鑒定書(.NET面試問答集錦) 》

再最後,鄙視對工作超過5年的程序員們進行筆試和機試,程序猿是能考試出來的嗎? 很多年前我入門的時候,筆試題正確答案6分(100分滿分),但是我的面試官依然選擇了我,緣分啊。


Google使用的熟練程度?


看他的代碼風格,命名是否規範,是否邏輯清晰,層次明確。

最好能讓他當場寫代碼。編程功底一目了然,光聽他說是沒用的。


推薦閱讀:

如何評價 Unity 2018?
如何解決.NET程序容易被反編譯的問題?
剖析並利用Visual Studio Code在Mac上編譯、調試c#程序
跟Unity學代碼優化
聊聊寫博客的這兩年&&《Unity 3D腳本編程:使用C#語言開發跨平台遊戲》正式出版

TAG:招聘技巧 | C# | 編程技術 |