來源:|發(fā)布時間:2018-10-19 15:15:38
程序員的面試不同于一般崗位的面試。
當你在羨慕程序員十幾萬美金年薪的同時,你卻不知道他們在應付面試時,要經(jīng)歷的重重磨難和壓力。
今天,我們就來總結(jié)一下程序員面試時最常見的27道問題。
HR Phone Screen
Phone Screen,一般是提交簡歷后,面試開始的第一步,由公司HR負責。
目的是了解一下候選人的背景,為下一步tech interview做準備。
常見問題如下:
1. 你為什么對本公司的這個職位感興趣?
這一問HR主要想考察你有沒有做好“功課”,事先研究了解過公司。
2. 你有沒有用過本公司常用的編程語言?
如果你對這種特定語言沒有太多的經(jīng)驗,那就說實話,否則就算過了電話關,也過不了之后的coding關。
但你也要告訴HR你自己會的語言,并表示有能力學習新的語言。
3. 你有沒有做過什么項目?
簡明扼要。直接簡潔地描述你參與過的項目和在里面扮演的角色。
4. 你有沒有領導別人的經(jīng)驗?
這一題的答案不僅僅局限于技術上的領導力。如果你在學校里有過志愿者活動的領導經(jīng)驗,都可以說。
盡可能地將你以前的領導經(jīng)驗和你要申請的職位聯(lián)系起來。
5. 為什么你要離開現(xiàn)在的公司?
你可以坦率地說出你的想法,但答案不要僅僅圍繞在錢和利益上。
你可以從職場文化、創(chuàng)意實踐,解決現(xiàn)實問題的滿意度等幾個角度來回答這題。
注意,跟HR的面試,并不需要你深入地探討一些技術上的問題和經(jīng)驗。
要做到簡明扼要,不要讓HR睡著了。
Onsite Interview
當你順利通過了HR的phone screen、或是之后的technical phone interview后,你有可能面臨一個4-5輪的Onsite Interiew。
面試官會從項目經(jīng)歷、行為、文化、技術、coding等幾個角度來全方位了解候選人。
6. 在給其他團隊成員reveiw code時,你覺得最重要的是什么?
這題的答案沒有明確的對與錯,目的是為了檢驗你的知識,以及你是否可以表達好code review的過程。
回答角度可以圍繞:
Functionality
Readability
Maintainability
Security
Simplicity
Regulatory requirements
Resource optimization
7. 描述一下你寫代碼的全部過程。
面試官想知道你在寫代碼時,是否有一個清晰的流程,并確保你的工作方式是有組織的,而不是雜亂無章的。
8. 你做complex algorithms的首選語言是什么?
你可以說實話,但至少要給出兩個答案,以表明自己“多才多藝”和“不鉆牛角尖”。
你可以說 “XYZ是我的第一選擇,但ABC也是一個很好的選擇! 然后告訴他們?yōu)槭裁础?/p>
9. 如何設計一個可以擴大規(guī)模的APP?
這題測試的是你的知識和思維過程。
10. 你做過的最滿意、最值得驕傲的項目是什么?
這是你表現(xiàn)自己的時刻,告訴面試官你的coding實力,并描述一個你最引以為傲的項目。
一定說出理由,為什么你覺得這個項目讓你驕傲 (比如它滿足了某種需求等等)。
11. 描述一個你做過的失敗的項目。
你可以清楚地說明為什么這個項目最終失敗了。
你還可以說你之后花時間剖析了這個項目,并且總結(jié)了問題,從失敗中學到了經(jīng)驗。并在下一次項目中,沒有再犯。
12. 你目前所在的公司,有什么吸引你的地方嗎?
不要說,“沒有,我討厭現(xiàn)在的公司”?梢赃x擇說一說目前公司和所申請公司共同的優(yōu)點。
如果這是你的第一份工作,你可以談談在學習或?qū)嵙暺陂g喜歡什么。
13. 描述你理想的公司文化。
做好你的research,提前了解這個公司。確保說出來的理想文化,和這個公司的文化相似。
14. 你的同事是怎么描述你的?
你可以通過這個問題來向面試官展示你的社交意識,你可以說通過與同事的交流協(xié)作,你了解到了自己在別人眼中的樣子。
同時,你可以用這個問題來表明你是有自我認知的。你知道自己的長處和短處,以及你能給團隊帶來什么。
誠實回答,不要過度自嘲。
這一類的面試題,會根據(jù)不同候選人的不同知識背景進行考核。
常見問題舉例:
15. mutex 和 semaphore 有什么區(qū)別?
16. 什么是多線程編程?
17. Local Variable和Global Variable有什么區(qū)別?
18. 哈希表如何工作?
19. 給出一個真實生活中哈希表的例子,并描述一個哈希表為何是一個糟糕的數(shù)據(jù)結(jié)構選擇。
20. 假設你有一個單線程的C標準應用程序,它不斷崩潰,但從來不在同一個地方崩潰。你覺得可能導致它崩潰的原因是什么?
21. queue和stack之間有什么區(qū)別?
22. 什么是regression test?
這個階段是所有面試中最難的一關。
你不僅需要在高壓的環(huán)節(jié)中展示你的知識成果,而且你還要在不熟悉的環(huán)境(白板上的手寫代碼)和時間限制下工作。
每個候選人會遇到的具體問題有所不同,但以下是一些?嫉慕(jīng)典題目:
23.Linked lists(刪除重復,反轉(zhuǎn)鏈表,確定它是否有環(huán))
24. 時間和空間復雜度分析
25.Tree:基本構造,遍歷和操作算法。知道如何實現(xiàn)平衡二叉樹。
26. Stack(用兩個棧實現(xiàn)一個隊列)
27. 數(shù)組和字符串(反轉(zhuǎn)字符串,permutations)
面試時,確保你不斷向面試官解釋你的思考過程(即使你被困住了)。
嘗試著與面試官協(xié)作,并可以在遇到困難時勇敢地提問。
因為這可以表明你愿意在團隊中尋求幫助、以便把工作良好地進行下去。
招生熱線: 4008-0731-86 / 0731-82186801
學校地址: 長沙市天心區(qū)團結(jié)路6號
Copyright © 2006 | 湖南大計信息科技有限公司 版權所有
湘ICP備14017520號-3