如今,我來談我認爲最重要的因素:性格。這多是許多初爲面試官的朋友所不可思議的,怎麼會是性格最重要呢?說實話,當我意識到這一點時,我本身也很驚訝!說白了,仍是 P(工做好|性格好)的機率最高啊。個人實際經驗是,若是一我的的性格好,他能把工做作好的可能性是最高的,性格好遠比基礎好、算法好要靠譜。 程序員
一我的若是技術上有缺陷,經驗上有不足,但性格好,在團隊中是很容易由其餘人來補位的,他本身也很容易逐漸補起來;相反,若是一我的的性格很差,全部的技術優點經驗優點都發揮不出來,甚至還會起到負做用,並且性格缺點很難改變。我一直談到實際工做所須要的是綜合性的能力,這種綜合能力的發揮中性格是相當重要的。項目中不止會遇到技術問題,要涉及溝通、協調,不一樣的人不一樣的部門既有合做又有磨擦,如何處理這些事情都須要一個良好的性格。能夠說,在開發團隊裏讓你不同凡響的不是你從哪一個學校畢業,也不是你過去的經驗,而是你的性格。 面試
固然,性格是一個複雜的東西,它包含了不少的方面,並不是全部方面都是程序員面試所須要關注的。個人經驗是能夠重點考察這些方面: 算法
1) 態度積極仍是消極。有的面試者在談吐中就會天然給你一種積極上進的感受,或者你能夠在他的經歷中發現他積極的因素,這些都不是太難看出來的。相反,有的面試者你能明顯感受到他的消極情緒。積極性在工做中是十分重要的,積極的人能給團隊帶來朝氣,也更易於合做。基本上,若是肯定面試者屬於態度積極的,他經過我這一關的可能性就會大大增長;相反,若是肯定屬於態度消極的,即便技術能力不錯我也會十分謹慎。 服務器
2) IQ。個人經驗是,整體來看,聰明的人在工做中的表現更爲優秀。在面試中要考察一我的是否聰明並不必定要像Google和MS那樣找些專門測試IQ的智力題,其實,你只須要看他討論問題是否是頗有邏輯性,思考和說話是否是反應敏捷就能夠作出大體的判斷。另外,眼睛是人心靈的窗戶,一我的聰明與否,眼睛是會說話的。不過,聰明也不徹底是優勢,好比,當公司或項目遇到困難時,每每是聰明人先跑掉了,堅守的每每是IQ通常的人。 測試
3) 語言表達能力。語言表達能力也是程序員十分重要的一項素質,它關係到項目中的溝通是否順暢。面試官能夠看看面試者可否用簡明的語言介紹清楚曾經作過的項目,可否抓住要點,可否考慮到聽者的相關背景。通常來說,語言表達能力強的人綜合能力都不會太差。 操作系統
4) 是否具備用戶意識。有人說程序員是作研發的,哪來什麼用戶?只有銷售、市場人員纔會和用戶打交道。其實,這是完徹底全的錯誤認識。你寫一個模塊,甚至一個API,只要有別人用,他就是你的用戶。有的程序員設計一個模塊或是一個軟件老是習慣於從使用者的角度來考慮,儘可能地方便使用者,這就是一種良好的用戶意識。具備良好的用戶意識的人更能考慮別人的感覺和總體的須要,而不是單純地從本身和局部來思考問題。當面試者談及過去的項目經驗時,面試官能夠經常站在用戶的角度對其進行提問,從這個過程當中觀察其是否具備良好的用戶意識。 設計
5) 如何應對質疑和壓力。面試官應該對面試者的回答以及以往項目進行合理的質疑,看看他如何應對。曾經有一位面試者談到作遊戲登陸服務器的經歷,我就問:「若是登陸服務器掛了,怎麼辦呢」?他說原先雖然沒有考慮這個問題,可是能夠怎麼怎麼改進。其實,你們都理解項目中有各類不完美,這裏面緣由不少,只要面對質疑和壓力能從容應對努力往好的方向思考解決就能夠了,不須要掩飾缺陷,更不該該有情緒。我遇到過有的面試者,一旦你對其項目提出質疑,他立刻產生反抗情緒,或不高興,或不認可有問題,這很容易一會兒看出來他在工做中容不得質疑和批評,這種人要想合做就很困難。 遊戲
6) 個性特色。許多面試者喜歡在簡歷上寫「精通C++/Linux「,這些字眼看得人麻木,若是有人寫」喜歡C++/Linux「,我就會有一種眼前一亮的感受。「精通」是沒有感情色彩的敘述,而「喜歡」包含了面試者的個性,我更願意看到面試者的個性。我相信對某樣東西真正的熱情遠比你當前對它的掌握程度更爲重要。其實,N年的經歷告訴咱們,同一個班的同窗,同一個項目組的同事,雖然天天所學的知識,所接觸的工做都是相同的,但其實每一個人的成績和表現差別是十分明顯的。那麼,到底本質的差別是什麼呢?其實,就是每一個人的個性。是個性使得有的人業餘時間去打球,有的人業餘時間去看書,有的人喜歡Linux,有的人喜歡Mac。一我的在團隊中扮演的角色也和他的個性有很大的關係。面試官應該引導面試者展示本身的個性,並判斷其是否有益於團隊。 開發
最後總結起來,個人經驗是: 1) 面試官的目標是找到」工做好「的人,必定要圍繞這個目標來進行面試,若是把面試當成了算法或操做系統期末考試這就走入了誤區;2) 面試過程是經過學歷、性格、基礎、經驗、算法等能夠測試的因素去綜合判斷面試者「工做好」的機率;3) 在各類因素中,性格 > 經驗 > 基礎 > 算法。性格是最重要的,若是性格很差,全部技術能力都會大打折扣,並且技術缺陷容易彌補,性格缺陷很難改變;經驗體現了一我的的綜合能力,你能夠從面試者過去的經歷中判斷他能從事哪一種工做,不能從事哪一種工做;基礎和算法則主要起到輔助參考的做用,基礎好的程序員通常適應性比較強,學新技術更快,可是切忌單純從基礎來判斷一我的的能力。 登錄