版權聲明:本文爲北京尚學堂原創文章,未經容許不得轉載。html
與其餘IT公司同樣,程序員的流動性也比較高,而做爲企業的架構師,須要爲所在的部門招聘各個層級的開發人員,固然也包括外包。他們可能沒有參加過任何人力資源方面的培訓,也沒有正式研究過如何面試程序員,可是我經過對大量程序員的面試,以及錄用後效果的觀察,得出了一套本身的面試策略,去找到那些真正靠譜的程序員。程序員
1. 簡歷看人面試
閱讀簡歷永遠是面試的第一步。好的簡歷必定是正確、清晰而且可以體現候選人最有價值一面的。我首先會過濾掉那些包含錯別字,文句不通或沒有邏輯性的簡歷,由於若是一個程序員連本身的簡歷都不肯意去仔細檢查並完善的話,很難想象他寫出來的代碼質量會如何。接着,我便會重點閱讀簡歷中的項目經驗部分,在這裏我可以看到面試者的開發經驗,技能棧,而且判斷他們熟悉的技術框架、工具是否與目前公司要求相匹配。算法
這裏,我還會特別關注面試者是如何來寫這部分項目經驗的,你須要用盡量簡練的文字來描述項目的背景,你在項目中承擔的角色、參與項目的時長,你用到的技術、以及你在項目中的亮點等信息。優秀的程序員們每每有一個共同的特質,那就是善於概括,並可以一針見血的發現問題或把一個問題說清楚。我常常看到面試者在簡歷中像寫故事通常地描述他們的項目經歷,光這一個章節就有好幾頁,其實這反而會給你減分,由於這會讓面試官判斷你缺少必要的概括能力。更多精彩內容關注微信公衆號:北京尚學堂。安全
2. 給面試者10分鐘介紹本身最擅長的微信
當面試者經過了筆試和HR面試以後,你就須要面對面地對候選人進行面試。我遠不是什麼面試專家,但我有一些本身的獨特方法。我討厭問一些很我的的問題,好比你的職業規劃是什麼?你爲何想換工做?等等。我更願意給面試者10分鐘時間,讓他介紹本身最擅長和最感興趣的領域。這每每能幫助我很快做出下面的判斷:架構
這我的對他所作的事情是否充滿激情框架
他們是否能在團隊中頗有效地進行溝通jsp
他們是否在專業領域足夠擅長工具
你的團隊是否會樂於和這我的一塊兒工做
這一招我在面試中用得不少,而實踐證實也確實很是有效。
3. 基礎打牢了嗎?
通常,有必定規模的公司都會爲面試者安排機考或筆試,從而能首先篩掉一批未能經過的面試者。另外一些規模較小的或初創公司則會讓面試官直接進行技術面試。其實,我以爲這二者的差異不大,有經驗的面試官每每可以經過幾個最簡單的技術問題,判斷出面試者的技術基礎是否牢固,這不是爲了證實他有多優秀,而是用來判斷他是不是一名合格的程序員。對於我來講,並不看重機考的成績,由於機試的考題不少可以在網上獲得,特別對於一些外包公司,他們老是可以經過各類途徑獲得考題,從而使得他們推送的外包可以順利經過筆試。
下面是我常常會問的幾個問題(JAVA):
HashTable與HashMap有什麼區別?
Servlet是線程安全的嗎?
JSP中 @include跟jsp:include的區別
HTTP的response code 403和500分別表明什麼
......
這些問題都很簡單,但一些基礎不牢的程序員每每會在這個時候露餡。固然,根據面試崗位的不一樣,你還能夠有針對性地問一些問題,例如,你須要找一個能寫核心算法的程序員(好比 銀行的總帳計算,或者保險公司的保費計算),那麼你能夠問一些算法相關的問題。
4. 技術深度夠嗎?
具有牢固的技術基礎,通常就能夠知足項目中普通程序員的要求了,但若是你須要找的是一個資深程序員,那麼你還須要對面試者的技術深度進行考察。咱們如今作項目時都會大量使用框架,這能使咱們的開發效率和質量都獲得提高和保障,但同時也下降了對於程序員開發技能的要求。所以我通常會詢問面試者下面的問題,來考察他對所使用框架的掌握程度。
請你描述一下,在這個項目中,從一個HTTP請求發起,到最終的Response返回,它在你的系統和框架內部是如何流轉的?
除了技術層面上的考察以外,對於資深開發人員,還須要考察他們的設計能力。說到軟件設計,大部分面試者都能熟練地背出面向對象的三個基本特性:繼承、封裝、多態,也能把它們的概念描述清楚。
5. 選擇適合所在企業文化的人
這一點也曾是我經歷的一個誤區,我老是但願能爲團隊招到技術能力最強的人,而忽略了他是否與整個公司和團隊的文化相匹配。這每每會形成,雖然招到了人,但沒過多久就由於理念不一樣不歡而散的結果,反而給公司帶來了損失。讓咱們看看GitHub的負責人是怎麼說的。更多精彩內容關注微信公衆號:北京尚學堂。
我曾在具備鮮明文化差別的不一樣公司或團隊工做,看到許多崇尚開放、開源的程序員在一個相對封閉,具備不少流程以及規範限制的公司中很難發揮,最終選擇離開。所以在招聘程序員時,選擇合適的每每比選擇最優秀的更重要。
6. 行爲面試法
行爲面試法多是我在整個面試過程當中惟一用到的教科書面試方法。一個程序員是否可以很好地工做,不只取決於他可否順利地完成開發任務,更重要的是在遇到一些特殊場景或問題時,他可否合理有效地處理和解決。行爲面試法可以幫助咱們從面試者描述的過去某一具體事件中,預測將來他在工做中可能的表現。下面即是一個我常常用到的問題。
「請談談你在這個項目中遇到的最大困難或挑戰是什麼,你是如何解決的。」
從面試者對上面這個問題的回答中,我可以很好地判斷他是否有較強的獨立解決問題的能力,而我認爲這是除技術能力以外,程序員最應具有的能力。
7. 給他們一個虛擬任務
通過上面的這些環節,你可能對面試者的總體狀況已經比較滿意,但先別急着下結論。我曾見過可以順利經過上面全部面試步驟,而且被僱傭的程序員,當他們進入實際工做後卻沒能把事情作好。
在你肯定是否錄用他們以前,能夠給他們一個虛擬任務。我不是說一個抽象的程序問題,而是指一個真實的,可能就存在於你當前項目中,而且須要在一兩個小時以內完成的一個開發任務。更多精彩內容關注微信公衆號:北京尚學堂。
8. 以上毫不能保證你招到合適的程序員
你能夠在面試程序員時參考上面的這些步驟,對於我來講大多數狀況下它們都是有效的,但偶爾也會出錯。你須要結合你所在公司和團隊的實際狀況,提煉你以爲有用的面試步驟,並忽略其餘的,最終造成屬於你本身的面試策略。另外,你還須要根據面試時的實際狀況,隨機應變,由於人是最複雜的動物,而面試過程倒是須要雙方互動的。
想象一下,在你退休以前的將來幾十年時間裏,你都須要每週40小時地工做,所以不管是公司仍是應聘者都應該互相尊重,創建充分的信任,並充分判斷是否適合對方後,再肯定是否僱用某人或接受一個公司的職位。你的目標不該該是簡單的得到一份工做或者僱傭某我的,而應該以得到更多的工做樂趣和創建更良好的工做關係爲目的去看待招聘這件事,切忌不要急於求成,就像談戀愛同樣,當雙方都有感受時,一切就水到渠成了。更多精彩內容關注微信公衆號:北京尚學堂。
若是你的目標是就業,而且是高薪就業,那麼北京尚學堂是你正確的選擇。北京尚學堂一直在爲改變中國IT教育努力着。十年以來,北京尚學堂堅守「爲莘莘學子改變命運而講課」這份情懷,不忘初心。感謝你們的閱讀!
更多猛料!歡迎掃描上方二維碼關注北京尚學堂官方微信公衆號(資料領取驗證消息:156)