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