- 相關(guān)推薦
程序員常遇到的面試試題
對于算法面試問題是否有效一直飽受爭議。然而,代碼編寫問題有時候能夠很好篩選人才。在我們的例子中:
這些問題是“CS101”水平的;
我們相信一個優(yōu)秀的開發(fā)者需要能夠做出好的決定,并且這種好的決定是基于對有多少個復(fù)雜系統(tǒng)在交互的深刻理解上。如果一個開發(fā)者不能反轉(zhuǎn)一個字符串,那么他們又怎么可能理解大型客戶端面臨軟件的性能含義?
誠然,參與我們CS02課程的中學生都很聰明(其中一個還是美國計算機奧林匹克對隊員)。然而,在對大型軟件公司(如微軟、亞馬遜、谷歌等)的多年采訪后,我們發(fā)現(xiàn)專業(yè)的開發(fā)者們并沒有比我們的職業(yè)顧問人員牛多少。
問題如下:
問題解決的步驟和錯誤:
1. 解析問題,手工“解決”
對于孩子和成年人而言,這一步對前者來說更困難
然而,如果要求誤解了問題的學生來重讀這個問題,孩子們的表現(xiàn)會超過成年人
2. 想出一個偽代碼算法
在這一步,學生的表現(xiàn)比成年人要好。
讓人震驚的是,很多成年人不知道如何用他們偏好的編程語言從一個字符串中抽取一個字符。
3. 將算法轉(zhuǎn)換為代碼
我們有一些C++程序員,他們不知道方括號以及一些C程序員,他們采用指針運算,但是卻失敗了。
更讓人吃驚的是,當他們允許查閱java API 文檔 或者使用參考書,很多成年人無法找到合適的文檔來幫助解決問題。
的確,一些中學生已經(jīng)忘了如何使用;蛘邔嵗粋隊列,但是,所有人都能夠在適當?shù)臅r間內(nèi)通過查閱找到解決辦法。
會寫代碼的成年人(曾經(jīng)會)經(jīng)常會超過時間限制。
有很多糟糕的代碼編寫者,即便你也是其中一個,也別不要害怕
下面的方法并不是為了讓求職者參加一個“完整的堆棧訓練營”。相反,如果你是一個正在努力和“編程謎題”做斗爭的成年人:
1. 不停練習,直到你能快速且正確地寫出小的代碼片段。沒有任何理由用自己喜歡的語言寫不出一個雙循環(huán)。找一些帶有例子的小的代碼智力題,你能在一分鐘以內(nèi)理解這些問題。對這類問題做成百上千遍的練習(不僅僅是幾十遍,切記!)。
2. 為課本上的每個算法寫一個用例列表。一個共同的錯誤就是僅僅記住計算復(fù)雜度表。但是看一些算法的使用例子,例如 A*搜索在哪些地方使用,這比學習代碼本身要有用的多。
3. 至少做一個能逼迫你使用與工作相關(guān)的接口/用例的大型項目。語言通常不是很重要,而且獨自寫一個大型工程能夠強迫你去學新的設(shè)計模式以及遠離遺留代碼維護。代碼面試是智利測試。所以它們很少關(guān)注具體的體系。
4. 讓自己接觸更優(yōu)秀的程序員。隨著 CS 崗位的快速增長,應(yīng)對“檸檬市場”的當前解決辦法就是技術(shù)面試。但是同樣也有其他的方式來反映被面試者的信息。例如,對熱點話題、博客、技術(shù)的知識可以反映出對重要問題的意識。類似地,對恐怖故事采用幽默的代碼書寫方式,可以反映出經(jīng)驗和處理新問題的能力。幸運的是,在線代碼編寫社區(qū)隨處可見,所以唯一地障礙就是是否肯花時間和保持謙虛。
編注:市場上產(chǎn)品質(zhì)量等級不同,質(zhì)量的差異與不確定存在于很多市場,而買賣雙方的信息不對稱,產(chǎn)品的賣方對產(chǎn)品的質(zhì)量擁有比買方更多的信息,這種信息不對稱情況下的市場可能導(dǎo)致某市場萎縮甚至消失,也就是所謂的檸檬市場。
【程序員常遇到的面試試題】相關(guān)文章:
華為常考面試題09-25
辦理英國簽證要求面試常遇到的問題08-09
程序員面試試題09-25
程序員面試題09-25
幼兒教師面試常遇到的問題08-08
Google的20道?济嬖囶}08-06
置業(yè)顧問?济嬖囶}目08-10
.net程序員面試試題09-26
Java程序員面試試題09-25
你沒遇到過的面試題目08-07