好奇心開啟世界:《程式設計之美——微軟技術面試心得》
潘愛民我很早知道鄒欣計畫要寫這樣一本書,也能夠預計到這本書定會廣受歡迎,因為它符合當前大量求職人員的需求,畢竟於他們而言,誰不想知道微軟亞洲研究院在招人時候問些什麼問題呢。另一方面,把考察軟體技術人員專業知識和相應技能的各種手段加以歸納和整理,這本身也是對業界的貢獻,所以,我相信,一旦這本書如計畫般完成,其對業界的影響將是深遠的。
當拿到這本書的樣稿時,我迫不及待地放下手頭工作,閱讀起來。有些題目的內容會引起強烈的共鳴,尤其是那些自己非常熟悉並且又深知解答的題目;也有一些題目讓我異常驚詫,原來除了我所知道的解答思路之外,還有更好的解答以及更深層次的原因。還有一些題目是從來沒想到過的。閱讀過程是一次愉快的享受,也是腦細胞持續活躍的過程。
充滿好奇心的人們總是能從生活的點點滴滴中想到或找到各種優化的餘地,比如說,樓宇中的電梯常常顯得很「傻」(微軟研究院所在的希格瑪大廈的電梯是乙個典型的例子),更智慧型或更有效的排程策略完全有可能;近距離內的交通燈聯動可以有效地提高行車效率。程式設計師在玩電腦遊戲的時候常常會想著怎麼自動完成一些過程,比如說,本書中提到的俄羅斯方塊遊戲中如何有效地旋轉和移動可快速地消除積木塊、24點遊戲如何自動求解、推箱子遊戲如何自動求解,掃地雷遊戲如何自動完成,等等。實際上,這些自然的疑問正是訓練程式能力的好**,本書採錄了不少此類題目。因此,閱讀本書可以滿足很多人的好奇心,這也正是我自己的體會。
儘管作者在前言中聲稱「雖經過幾輪審核,不少解法仍可能有漏洞或錯誤」,但事實上,在絕大多數題目的講解中,作者已經由淺入深地把問題分析透了,而且,作者也為讀者指出了進一步思考這些題目的方向。不同背景的人在看到這些題目的時候,可能會有不同的解法,甚至完全不同的思路。舉例而言,鄒欣曾經問過我如何控制cpu佔用率曲線的問題,我當時的直覺是,直接擷取taskmgr呼叫的相關api函式,從而達到隨意控制cpu佔用率曲線的目的。顯然這不是規範的做法,本書的分析揭示了這個問題背後的本質道理以及考問要點。另一種情況,即使有的問題你深知其理,但看過本書仍然很有收穫。例如,在斐波那契數列問題中,我知道直接遞迴法的缺陷,也知道如何簡化成迭代法來改進效率,還會推導通項公式,但是,書中的細緻講解仍然讓我對這個問題有了更進一步的認識。這是本書的深度所在,如果讀者更加在意所選題目背後的深層次道理,相信書中的講解不會讓你失望。
除了趣味性以外,本書中的題目講解之中也融入了大量專業知識。這使得本書可以作為計算機資料結構課程或演算法課程的輔助參考書。比如,有些問題的解答涉及到貪心演算法或動態規劃方法,演算法的複雜度分析更是無處不在。資料結構教科書中介紹的鍊錶(list)、佇列、hash表和二叉樹等常用資料結構也多有提及。因此,對於正在學習資料結構或演算法課程的學生來說,本書中的問題正是對課程中所學知識的一次檢閱,通過本書他們可以看到這些知識是如何用於解決實際問題的。從我自己的教學經驗來看,這樣的題解分析有助於提高學生的學習興趣。另一方面,閱讀本書也需要有必要的計算機演算法和程式設計知識作為基礎,否則閱讀的效果會大打折扣。
我大致了解本書的成書過程,從策劃階段到題目收集,再到成稿和改稿,我能體會到鄒欣和他的寫作團隊傾注了大量的精力來寫作這本書。他們盡了最大的努力來編寫這本書,無論是原創的題目,還是傳統的題目,他們都努力把題目分析透徹並提供擴充套件思考的餘地。鄒欣在傳送樣稿給我的信中說道:「our goal is to ship a top quality book. i can't say "world class", but definitely "best in china" level.」以我閱讀這本書的體會來講,他們做到了這一點。我相信,這本書的出版會符合我當初的預期,它會影響到很多人。
現身說法「好奇心害死人啊」
首先說同事的經歷,他用的是win2000 server 的系統 這一點很重要 欲使用flyakiteosx v3.0模擬乙個mac的系統,就像我一樣 安裝完成,重新啟動系統,重啟失敗 進入安全模式 依然失敗 重灌系統 下面是我的經歷 試著裝上了ie7 感覺不爽 解除安裝,但是一不小心將iis等也給一...
程式與生活 程式設計師要保持好奇心
最近由於工作需要,開始學習wpf。由於以前一直從事winform的開發,乍一接觸新的wpf有一些不太適應,它的介面開發,以及機制等都與winform有很大的不同,比如wpf有了乙個xaml的東西,控制項的加入,修改等操作都要在這裡進行,其實wpf更像網頁的開發。相信很多的程式設計師都會經歷這些學習新...
為什麼不能吞燈泡(好奇心太強者慎入)
為什麼不能吞燈泡!我不清楚中國的燈泡是不是跟英國一樣。在英國,燈泡的包裝紙上都有警告 donotputthatobjectintoyourmouth.意思是不要把燈泡放進口中。他奶奶的.那有人會放這東西進口中?英國人都有些白痴.告訴你,世事無絕對!有天我和乙個印度朋友在家中看電視,我和他談到這件事,...