寫這篇文章主要是因為偶然看到一篇關(guān)于stackoverflow公司的面經(jīng)中提到了一個有趣的面試編程問題,如題所述:FizzBuzz問題。原文引用如下:

     “在一些公平的考驗之后,我發(fā)現(xiàn)那些因為代碼而抓狂的人不是為了龐大的項目,而是在細小的地方就纏不休。所以我開始研究這些問題,收集這些編程人員的特點 和歸結(jié)成一類問題,取名為“FizzBuzz 問題”。 FizzBuzz問題是一種英國學(xué)校學(xué)生經(jīng)常玩的游戲。舉個“FizzBuzz 問題”的例子:

寫一個程序打印1到100這些數(shù)字。但是遇到數(shù)字為3的倍數(shù)的時候,打印“Fizz”替代數(shù)字,5的倍數(shù)用“Buzz”代替,既是3的倍數(shù)又是5的倍數(shù)打印“FizzBuzz”。

大部分優(yōu)秀的程序員都應(yīng)該能在紙上輕易地把這個程序?qū)懗鰜恚簿蛶追昼姷氖虑?。但你想知道一個令人震驚的事實嗎?多數(shù)計算機科學(xué)專業(yè)的畢業(yè)生不會做這道題。我還見過一個自稱是高級程序員的人做這道題,他居然花了10~15分鐘。

Dan Kegel在招聘初級程序員的時候,也經(jīng)歷了類似的事情:令人驚訝的是,有相當(dāng)一部分的應(yīng)聘者(包括那些獲得計算機科學(xué)專業(yè)的碩士或博士學(xué)位的人),當(dāng)他們被要求完成一個基本的編程任務(wù)時,他們都通不過,因此面試失敗。舉例來說,我曾經(jīng)碰到過一些畢業(yè)生,他們居然回答不出"寫一個從1數(shù)到10的循環(huán)"或者"在16進制里F后面的數(shù)是什么"之類的問題。如果務(wù)實一點,我在面試中也碰到過很多應(yīng)聘者,他們不會用遞歸去解決一個實際的問題。但這些都是基本的技能。如果他們不會,只能說明他們很可能根本就沒寫過程序。

      乍看這個問題的時候感覺題目敘述很清楚啊,思路也很簡單啊,比現(xiàn)在很多公司用的字符串逆序,字符串空格替換啥的簡單多了啊,為什么還會如此火地作為一個面試編程題?自己動手寫了個,1分鐘搞定,沒毛病。然后懷著疑問就去百度了下,還真有各種

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式