引導語:企業的HR在面試程序員時,最喜歡問程序員的面試問題有哪些?下面是小編收集的程序員面試時職業規劃范文,歡迎大家閱讀了解。
程序員面試時職業規劃篇1:
與其他崗位相比,程序員相對來說會內向一些,思維也會更嚴謹、更有個性。企業招聘程序員就是要求他能和團隊一起完成既定的開發任務,所以重點從技能水平、學習能力、團隊合作及工作心態等幾個方面考察程序員。
技術水平是對程序員最基本的要求,很多企業會通過筆試來輔助考察。技能的考察主要看面試者技能匹配度、對技術發展趨勢的了解以及自己的職業規劃。
1. 你認為自己最擅長的技術是什么?
2. 談談你對XX行業/技術發展趨勢的看法?對最近XX技術問題發表下你的看法?
3. 在五年的時間內,你有什么樣的職業發展規劃?
技術快速更替,員工的求知欲和學習能力比他現在的技能更為重要。寧愿招聘一個學習能力很強的員工,也不要一個靠吃老本、不愿學習的員工。
1. 你最近有看哪些書或參加過什么樣的培訓?有灌技術論壇的習慣嗎?
2. 今年有什么學習計劃?今年有什么目標?
3. 研究過開源項目嗎?有什么收獲?
在現在的軟件開發中,已經沒有所謂的“孤膽英雄”,項目主要靠團隊合作來完成,而團隊合作能力可以通過考察以往項目,來了解面試者對團隊的理解、遇到問題的解決思路等。
1. 你做過哪些項目?最成功的是哪個?為什么?
2. 辛辛苦苦工作半年的項目失敗了,你怎么辦?
3. 評價下你過去的團隊?你喜歡在什么樣的團隊中工作?
4. 你的業余愛好是什么?
招聘新員工,需要了解面試者對工作的心態和價值取向,并且與他溝通公司的企業文 化。如果你所在企業需要快速發展,有高強度的研發任務,而他想找一份輕松的工作,可能就不是很合適了。
1. 為什么選擇離開上一家公司?
2. 有了解過我們公司的產品/服務嗎?
3. 你對加班的看法?你家人或朋友抱怨你加班怎么辦?
4. 如果在試用期發現你技能不符合要求,該怎么辦?
最后,技術人員的有效溝通能力也非常關鍵,特別是對問題的分析和說明,所以在整個面試過程中你要觀察面試者的分析思路,對問題重點的把握以及表達。經常有一些滔滔不絕、 但不知所云的面試者,讓人非常頭疼!
程序員的能力分為兩種:技術能力和非技術能力。技術能力包括編碼能力、系統分析與設計能力;非技術能力包括寫作能力、溝通與協作能力、組織與管理能力等。而根據程序員的能力水平,可以將程序員分成初級、中級、高級三個級別。因此,在面試過程中我會針對初級、中級、高級程序員三個級別來提出不同的問題。
在技術能力方面,重點考查初級程序員的編程能力、中級程序員編程能力并兼顧系統分析的能力、高級程序員的系統分析與設計能力。在非技術能力方面,重點考查初級程序員的溝通與協作能力、中級程序員的寫作能力(主要指編寫技術文檔,如需求分析文檔、用戶手冊、部署手冊等)、高級程序員的組織與管理能力(如指導、協助中級程序員進行問題分析和開發)。
在面試時,程序員首先要將自己的技術能力展現出來,以一種交流的心態去面對,不要緊張,要有自信,即使面試失敗自己也要下去總結失敗的原因,找到技術弱點加以彌補;其次,面試中遇到不會的問題要講明自己的思路,因為有些問題不是考你的編程能力,而是邏輯思維的能力;最后,對照程序員能力模型進行自我分析與評價,做好職業規劃,不斷學習,提高自己的編程能力和抽象思維能力。
以SQL Server為例,我來分享一下面試時常問的一些技術問題。
1. 聚集索引和非聚集索引有何區別?應該怎樣使用?
2. SQL的一張表中有一個自增的ID字段,但是現在不連續,寫一條SQL語句取出某個位置到另一位置(如50~60)之間的數據。
3. 如何判斷和防止SQL注入?
4. 如何對海量數據進行處理?
第1題考查基礎知識;第2題考查SQL語句的編寫能力和技巧,屬于初級程序員的問題;第3題考查SQLServer的安全性,屬于中級程序員的問題;第4題考查SQLServer的性能,屬于高級程序員的問題。通過這幾個問題可以判斷出應聘程序員的數據庫水平。
從個人經歷來說,我會對以下五個問題比較感興趣。
1. 請說出3個你覺得至今都沒有算法可以解決的問題。
這是一個開放式問題。從回答中我們可以了解到被面試者的思維方式和思維敏捷度,而這兩點是一名優秀程序員不可或缺的。我預料一般有兩類回答:第一,學術類,比如有人會說一些關于尋找質數之類的現在還無法解決的問題;第二,生活類,我比較期待這一類有意思的回答,如果被面試者可以結合一些現在的社會現象作出回答,也可以從另一個角度反射出其社會屬性。
2. 請從技術角度談一下《黑客帝國》的觀后感。
同樣又是一個開放式問題,完全沒有所謂的標準答案!逗诳偷蹏肥浅绦騿T的必看“教材”,整個故事最精彩的莫過于構思。我覺得能具備這樣的構思能力是程序員的最高境界。那么從技術角度,對于這個構思的框架搭建以及實現等,我想聽聽程序員的不同理解和實現方法,從側面了解他們的潛在創造能力和對身邊事物的建模能力。
3. 你比較偏向于把程序員比作翻譯、建筑師還是設計師?
問這個問題的目的是看你怎樣理解程序員這個職業。一個人對自己職業的認識以及定位將直接決定其在這個職位上的積極性和創造能力。我的答案是程序員既是翻譯,又是建筑師,更應該是設計師。并且隨著這三個職業的排序,正是我認為的程序員職業能力升華臺階。
4. 請設計至少兩個不同的算法解決將一個蛋糕平均分為6份的問題。
比較實際的專業能力題。這是一個既簡單又綜合的考驗。除了對程序員這個職位的正確認識之外,實際操作能力畢竟是影響今后實際工作的第一要素。這道操作題,考察應聘者對問題的思考,以及分析能力和解決問題的動手能力。
5. 比較一下這兩個算法,你覺得哪個更好,依據是什么?
比較算法,還是考察的專業能力,目的是看你怎樣判斷一個算法的好壞。對這道題,沒有接受過專業訓練的應聘者應該無法給出全面且科學的分析。并且請他們評論自己設計的算法,也是對自我認識的一種衡量。程序員的概念有點寬泛,為更有針對性,我主要分享對“網絡程序員”的觀點。簡言之,我們主要關注面試者的硬條件、軟條件兩個方面。硬條件是指學歷、技術經驗、語言等能直接呈現的能力。技術是實在的東西,有就有,沒有就沒有,由不得半點浮夸。
我們比較感興趣的問題如下。
1. 做過什么:是寫代碼、設計還是架構?
2. 做成功過什么:是大型的平臺嗎?其特質如可擴展、高并發、交互式。
3. 擅長做什么:使用的編程語言是哪種?使用經驗有幾年?
4. Debug的經驗,遭遇什么復雜的問題(需例證其復雜性)?
技術面試的后續往往是筆試或上機,比如,在所有你使用過的DesignPattern中,請解釋對比其中兩種,如CommandPattern和VisitorPattern(可以文字回答,也可以畫圖)?DOMparser與SAXparser的區別在哪兒?什么情況下采用DOMparser而不是SAXparser?大家在面試之前可以Google一下類似的題目。
如果面試外資公司,需要英文達到流利讀寫的水平。因為項目的完成往往需要協同全球多個國家的同事,如果缺乏英文技能,在外企的發展是比較受限的。計劃今后進入外資公司的朋友,一定要加強練習。
軟條件是指性格、興趣、職業規劃等非直接呈現的能力。公司對于程序員一般會看重兩種性格特質:愛技術、樂分享。
“愛技術”的人才會自發的鉆研,不浮躁,也才會在這一行做得長久。對于這點,面試官可能希望了解你工作之外喜歡做什么。我聽到過很多分享:經營自己的博客或者技術論壇;嘗試新技術、新設備,學習新技術是一種樂趣而不是負擔;當然,下次你可以說你平時喜歡閱讀《程序員》。