㈠ 如何准備互聯網公司面試(演算法相關)
書籍: 《演算法導論》 這本是大部頭,很多人都看不完。我本人也並沒有看完,它跟了我這么多年,完全是屬於常看常新的牛書。每一次看,都發現會有新的收獲。比如,以前並不知道求K位數或者中位數有平均為O(n)復雜度的演算法。看到了別的地方的參考資料,才知道,原來《算導》上專門有一小節講這個內容。我基本上是本科比較集中的看了一遍,研一的時候又集中的看了一遍,才算是粗略的看完。但是其實,很多理論性的,以及圖論一部分依然還是沒有看完。個人推薦,先從簡單的開始,挑選比較熟悉的一些偏重與數據結構方面的知識作為起點。這本書的習題非常重要,要是有時間,能夠全部做完,那絕對是能夠神功在手了。其實,集中把,第二部分(排序),第三部分(數據結構),第四部分(高級設計,我基本主要看動態規劃和貪心),第五部分(高級數據結構,B樹和二項堆,並差集),第六部分(圖演算法,最大流部分較難,自己可以看情況掌握)。這些部分可以先從演算法本身開始,偽代碼全部看懂。因為演算法導論講的很詳細,而且有來龍去脈,基本不會有太大難度。數學證明,推薦大家掌握,但是,突擊或者第一次,可以選擇性的看看。我自己是重復看,才把證明看掉的。第一次看的時候,基本都跳過了。不過,證明和習題是精髓!希望如果有時間,一定要補回來。 《編程之美》《挑戰編程》 這本書絕對是將全中國企業,或者說是一部分懶惰的企業面試題庫提升了一個檔次的一本神書。網路面我師兄的時候,我師兄直接把有一道題的最優解答出來了。但是,那個面試官顯然是不知道最優解,一直在引導我師兄答出,這本書裡面的第四個解。呵呵。書很不錯。全部看一遍並不難。說個不好聽的,可以背下來,而且相信我,基本上絕對有用!比如說,n!後面有多少個0。我相信,你們今年面試或者筆試,一定會碰到這道題。《挑戰編程》大家可以自行考慮一下吧,這個完全是針對acm競賽的,不過,看看題也不錯。 《編程珠璣》 業界神書嘛。習題全部做完就是了。其實都是些小東西,但是,基本上一步步考察你的解決問題的能力。個人覺得,最常用的就是bit map做排序或者去重,拓展一下就是bloom filter,我當時都是在這本書裡面看到的。 《演算法技術手冊》 這本書貌似出鏡不多。書很薄,代碼寫的非常好,其實基本上全部都是基礎演算法和數據結構的實現。但是,它牛逼就在於,代碼寫的太好了,基本上,看一遍,絕對能背下來。面試基礎很重要。基本上每個筆試或者面試,都會考一個100行以內的小程序。比如,給定一棵樹,以及其中一個節點x,要求出這棵樹的中序遍歷序列中,x的後續節點,非遞歸實現。這種題非常簡單,但是,真正寫對的,其實並不多。《STL源碼剖析》《C標准庫》 都不厚。挑著看一遍非常舒服。特別是,看看STL每個數據結構迭代器類型啊,紅黑書如何實現啊。C標准庫,最常見的,比如strcpy()和memcpy()有什麼區別啊。特別是,STL,看過之後,對泛型還是能有一定了解的。《C專家編程》《Effective c++》《深度探索C++對象模型》 第一本比較簡單,可以當八卦書看。後兩本其實也沒啥好說的,其實都是些業界公認的牛書。我再重復一遍也沒什麼意義。但是,的確,考察基本上也就都是這么幾本書上面的東西。基本上後兩本主要側重看c++對象方面的一些指示,特別是多態相關的。 《具體數學》《組合數學》 這兩本其實可以看作修身養性的書。我當時是時間比較充裕的時候看完的。純突擊,大家就可以跳過了。但是,看完真的很有用。比如說,你們就可以跟面試官扯約瑟夫環的構造解了(這道題我覺得80%會遇到),直接推推公式,就不用寫模擬代碼了。《組合數學》也是,很多筆試一般會有些小智力題。不過,其實一般的題目,不看這本書也可以搞定。所以,這兩本僅供參考。大家有興趣的時候,可以翻翻。《Linux內核源碼剖析》《Linux環境高級編程》…… 要是有機會,能看看最好。因為很多公司都會考察Linux相關的知識。最少要會點腳本,一些簡單的Linux命令,以及正則表達式什麼的。要是能聊聊內核源碼或者驅動開發什麼的東西,面試官肯定更加喜歡了。 知識: c & c++ 首先要知道c和c++的區別。常考的有const的用法,一些生僻關鍵字比如extern,static的用法。 結構體與類的差別。類裡面的字對齊問題,也就是說一個類到底有多大。以及一個空的類有多大。 虛函數以及多態相關的顯然是重點。比如析構函數什麼時候需要寫成虛函數,構造函數是否可以是虛函數。 int a[10]; a 和 &a的區別。 java java我並不熟。但是基本上肯定會考一些虛擬機相關的,以及GC等知識。然後,一般招聘的java程序員都會問到很多多線程編程的東西,以及hadoop!這個絕對是重點,淘寶絕對就是問這個的。 操作系統 這個看工作崗位的實際要求。基本的進程線程區別==肯定是會問到的。要是要求高一些,就會問很多多線程編程的問題。一些競爭死鎖等基礎知識,一些進程調度的演算法,最近的kernel好像用的是CFS調度演算法。shell編程,如何讀取程序堆棧,寫一些core mp的讀取程序等等的。 數據結構 基本上所有的排序都要會寫。與樹有關的操作都要會些非遞歸版本。圖一般考的不多。Flood-Fill演算法等等。查找中位數。B樹和紅黑書最好要掌握,不用會寫,能扯扯基本就行。KMP,這個很有可能考!而且的確真的不好懂。要是實在不行,背下來吧。哈哈。 網路 這個其實比較基礎了。我個人網路方面的知識並不好。但是各種協議的基礎,幾次握手啊,一些操作系統的api實現到底是單工還是雙工用的是TCP還是UDP。我個人網路純粹靠拼RP。 資料庫 資料庫非常重要。基本的SQL肯定是要會的。最常見有一道題,inner join和out join的區別。MySQL是重點,基本上很多企業都是問這個。然後,網路扯多了會跟你扯MySQL引擎 的一些東西。這些我就不太懂了。要是能准備的話,或者說的確是做這方面的,就可以著重多准備下。 大規模數據處理這一塊絕對是重點!而且本身不是一個系統的學科分支。但是,基本上幾家大公司都會問這方面的。推薦先讀讀google那幾篇論文。Page Rank那一篇,然後Map Rece好像有幾篇吧。Big Table什麼的。推薦一個網址。這篇貌似是轉載的,我以前找到的源地址現在找不到了。處理這一類問題基本上思路都是,哈希,map rece以及bit map等等的。對了,推薦看一下外排序以及相關的敗者樹。這些都是大規模數據處理的一些典型問題。掌握了這些其實也就夠了。這塊有點屠龍之技的感覺,特別是對於學生,基本沒有誰能有機會把這些代碼實現出來。但是,沒辦法,這些公司就是喜歡考。看完那篇博客的,然後再自行查找一些資料,基本就夠了。萬變不離其中,而且,這些東西,沒辦法考那麼難的。 推薦一個博客吧,作者收集了100+道面試題,並且全部給出了代碼。把這個全部看完,基本上很多面試筆試,都是這些原題。 推薦Top Language裡面的今天我們思考系列,好幾年前的了。看大牛的思考過程,非常有幫助。希望自己能多想想再看答案。注意,google group好像有時被牆。 我把發芽網的題庫版塊也掃了一遍。 還有好多一時想不起來了。
㈡ 學習c語言看什麼書好
最近很多人都在問如何學習編程。我覺得學習編程最重要的是入門,如果你入門的時候有一個好的方法和思路,打下比較扎實的基礎,對今後的編程工作是很有益處的。即使在學習新的編程語言也無所謂,因為它們有很多相通之處,可以相互借鑒。
我認為可以先學習一下pascal,這個語言比較嚴謹,適合初學者。pascal它被稱為教學語言,結構嚴謹,不像C語言那麼靈活,易於理解和學習。
然後可以繼續學習C語言,這個語言比較靈活。有了pascal的基礎,在進行C語言編程就不會因為C語言的靈活而有問題
。後面的就可以學習VC什麼的了。
C語言的書推薦譚浩強的,比較好。
我當時學習pascal和C語言的時候是將書後的習題都做了一遍,感覺效果很好。
當然了,學習什麼語言也要看你具體准備從事什麼行業。例如你要進行嵌入式開發,C就是很好的選擇,如果是Windows開發,那麼VC就不錯。還有資料庫方面的開發、網路開發等等。不同的語言適合不同的方面。要看自己的選擇的,呵呵
。
還有很多人說自己的基礎很差,甚至中學畢業什麼的。其實這個並不重要,比較說英語,在計算機語言里所用到的單詞量很少,而且都是常用詞,經常使用就記住了。當然,如果你要看原文資料或者幫助的話,專業詞彙比較多,不過在金山詞霸的幫助下,經常看,也是沒什麼大的問題的。至於數學什麼的,其實數學只是培養你一個邏輯思維能力,在初學編程的時候影響不是很大。況且,作為一個基礎編程人員來說,上面還有系統分析師、項目經理,他們會把需求分析、概要設計和詳細設計做好的,你只要按照文檔寫代碼就OK了。不過,要上更上一步的話,其他基礎知識就非常重要了,畢竟你不能寫一輩子代碼。
在你學習好C語言以後,個人建議好好學習一下數據結構和軟體工程。這兩門對你的水平提高都是很有幫助的。特別是軟體工程,它能夠使你按照科學的工程方法進行軟體開發,對今後的發展很有好處。
只是一家之言,有不到之處,還望見諒
㈢ 你怎麼看待程序員這個職業
說到程序員
大家的第一印象就是
木訥
不怎麼說話
比較理性
不解風情
有的看起來還傻呼呼的
最重要的一點都是單身狗
然而。我作為一名程序員
我看待程序員的角度就不痛了
在我的眼裡。。
程序員。是聰明的
至少有邏輯有條理
雖然經常和產品干假
但不代表我們是蠻不講理的
因為改一次需求我們要付出的不僅僅是時間還有精力。
我接觸過的程序員基本都是內騷。有的是風騷,還有的是內外兼騷
不認識的時候感覺都很正經
但是認識後
一個比一個風趣
一個比一個幽默
程序員不會說話
一般都是一些特定場合
一般也都是指對女的
因為程序員比較少和女的接觸
所以感覺不知道怎麼和女的交流
就造成了不說話的印象
哎。。
這可不能怪我們
實在是工作中接觸的女性實在不多
程序員單身。。
不知道是不是工作久了
感覺身邊都是結婚的
要不然也都是也對象呃呃呃無論新老員工。無論應屆還是非應屆
只能說相對單身的會多一點。但是這個現象在慢慢的減少
畢竟程序員的隊伍在慢慢壯大
好了其他不多說。。
來幾段段子,該上班了。
段子集錦
程序猿問科比:「你為什麼這么成功?」科比:「你知道洛杉磯凌晨四點是什麼樣子嗎?」程序猿:「知道,一般那個時候我還在寫代碼,怎麼了?」科比:「額…….」
【程序員被提bug之後的反應】1.怎麼可能;2.在我這是好的,不信你來看看;3.真是奇怪,剛剛還好好的;4.肯定是數據問題;5.你清下緩存試試;6.重啟下電腦試試;7.你裝的什麼版本的類庫(jdk)8.這誰寫的代碼;9.尼瑪怎麼還在用360安全瀏覽器; 10.用戶不會像你這么操作的。
一女同學在食堂吃飯時,一程序猿湊到旁邊,「同學,我能和你說話不,我已經一個月沒和女生說話了。
一程序員去面試,面試官問:「你畢業才兩年,這三年工作經驗是怎麼來的?!」程序員答:「加班。」
程序員的讀書歷程:x 語言入門—> x 語言應用實踐—> x 語言高階編程—> x 語言的科學與藝術—>編程之美—>編程之道—>編程之禪—>頸椎病康復指南。
人艱不催。。
㈣ 求高手用c++解決二十四點的問題,具體如下
24點演算法分析
很久沒有研究程序了,慚愧中。。。這個夏天大致地翻了一下微軟亞洲研究院出的《編程之美》,很喜歡這本書的風格,裡面很多題目都很有意思。書中主要突出的是一個「巧」字,最關鍵的,就是從變化中尋找不變的規律。 這次說的問題其實也很簡單,給四個數,寫一個程序輸出算24點的結果,如果沒有就輸出「No Answer」。但是如果用我們自己算24點的思維來寫程序是不行的,因為那屬於一種「湊」的方法,有碰巧和經驗的成分。計算機能做的,就是通過一種固定的方式來找尋結果。如果沒有一般性的所謂「固定」方式,那麼只有通過遍歷和窮舉來解決問題。這樣的方法下誕生了很多所謂的NP難問題,如果原始數據規模比較大就要花很長的時間來得到結果。
24點這個問題最直接的方法就是,列舉四個數所有的排列組合,加上各種運算符以及括弧,所有的情況經過處理之後可以得到一個包含所有計算結果和計算式的列表,從其中尋找24的影蹤就可以了。如果不計計算結果重復的情況,最終的結果有7680種,數據量還是有點大,因此這個演算法需要進一步的優化。例如,考慮到加法和乘法的交換律,如果遇到相應的情況只計算一種,對於另一種直接返回。這樣的剪枝處理可以減少不少的運算。
不過我用的是書中的另一種思路,採用了劃分的思想。具體的演算法是:
如果A是一個數組,定義f(A)為數組中的所有數經過四則運算所能得到的結果的集合。對於A中元素個數大於1的情況,可以將A分拆成兩個集合,定義運算 Fork(A,B)為f(A)和f(B)中各取一個元素的四則運算得到的所有的結果的集合。這樣,如果列舉出集合A所有的拆分情況,那麼所有Fork結果的並集就是f(A)的結果。
對於24點的情況,因為數組A有4個數,因此將其用各種方法拆分即可得到最終的f(A),然後查詢其中是否存在元素24即可得到有解或者無解的判斷。
需要說明的有幾點:
1.這個問題表面上需要採用遞歸的演算法,即如果只有一個元素那麼直接返回,否則將問題轉化為多個f的計算,而每個f的計算又要經過轉化,層層遞歸,直至只有一個元素的情況。但是,不要忘了遞歸的方法一般都是針對回溯次數不確定的問題。例如漢諾塔問題,只有一個盤子的情況和64個盤子的情況,回溯次數截然不同,千差萬別;但是對於24點,因為只有4個數,實際上分拆的可能性是固定的,就那麼有限種情況。遞歸演算法的思路是從樹的根部往下遍歷,而且一般不知道樹的大小和規模。而對於24點問題,這棵樹的大小固定,完全可以從樹的葉子著手,從葉子向根步進,從而得到最終的結果。
2.分拆有一定的技巧,最合適的方法是通過位運算。比如一種分拆方法是{a1,a2},{a3,a4},那麼寫做1100和0011。這種方法的好處在於,比如要判斷1000是不是1100的一個子集,只需要將兩者做與運算,最後的結果如果還等於1100則表明確實是子集,同時分拆的另一個結果便是兩者的差。這樣至多隻需要比較 10多次就可以列舉出每個集合所有的分拆情況,比較巧妙的方法。同時,位運算的速度也很快,不會對計算的時間有較大的影響。
3.這個方法的缺點在於,最終得到的只是一個無解或者有解的判斷,並沒有輸出表達式。
所以我對這個演算法進行了一定的改進,使之能輸出表達式。
首先要考慮的,也是最重要的,是這個程序的數據結構。最終的目的自然是為了達到最少的時間復雜度。由於上述方法中f函數返回的是「集合」,因此不存在重復的元素。這樣的情況下,哈希表自然是首選的數據結構。
為了記錄表達式,需要引入另一套數據結構。每一個計算的結果都必須和一個表達式對應。這樣,當最終查詢到一個計算結果為24的時候,只需查找相應的表達式就可以得到結果。
這里就產生了沖突。哈希表的特點是存放是亂序的,也就是說,如果只採用一個哈希表存放計算結果,用一個vector存放表達式,那麼無法產生對應關系。
因此,有兩種方案:
第一種方案比較節省存儲空間,將計算結果和表達式分別存在兩個vector中,由於兩者都是有序的集合類,因此可以在插入數據的時候令各自的下標對應,這樣就可以方便地得到對應關系。但是,這樣做的後果是,在插入新數據的時候需要在vector中查找是否已經存在這個計算結果,如果已有則不必插入。 vector的查找是窮舉式的,效率比較低,尤其是當vector比較大的時候將很大程度上影響計算的效率。但如果不進行查找,勢必會計算很多沒有意義的重復結果,這樣就失去了這個演算法的意義了。
第二種方案在第一種方案的基礎上將計算結果多存一份哈希表數據。這樣做增加了存儲空間,但是在時間上的優勢是顯而易見的。在插入的時候,通過查找哈希表來決定是否已經存在這個結果,由於哈希表的查找效率很高,因此這一步不會對這個程序造成時間上的瓶頸。如果不存在,那麼同時在哈希表和兩個vector中同時插入數據即可。計算結果和表達式的對應關系依然存在,同時查找的效率也大大提高,整個程序的時間復雜度大大降低。這是典型的空間換時間的方法。
寫演算法我首選的語言還是c++,但是很慚愧c++的HashTable我不會用,因此用java寫了一個版本,還算比較成功,能輸出最終的結果。在寫程序前我寫了一個小程序來測試java的HashSet和ArrayList的查找效率,結果很令人驚訝。在10000次查詢中,HashSet所用時間為0ms,而ArrayList則用了1300多ms,看來這個效率完全不是一個數量級上的。因此我採用了上述的第二種方案,最終的效果還不錯。
曾經有人問過我5,5,5,1怎麼算24點,當時想了很久都沒想出來。現在用這個程序可以很輕松地算出5*(5-1/5)=24。看來這個程序可以輸出一些大家想不到的結果,很強大把。類似的例子還有很多,比如3,3,7,7等等。總之呢,優化了的窮舉法(我這個程序實際上還是一種變相的窮舉)是一種很不錯的解決問題的思路,值得採用!
過幾天就開學了。也許每年的開學前才有時間去研究下這種問題,等到開學之後就基本沒什麼時間了。嗯,好好工作把,也願今年能開個好題,明年好好做畢設。Good luck。
PS:昨天經同學提醒才發現有更好的解決方法。主要是因為好久沒用,把java的HashMap給忘了。這個數據結構用在這里正合適,也就是說不用兩個HashSet加兩個ArrayList解決了,直接存在一個HashMap裡面就可以。
具體的做法是:把計算結果存在map的key中,而表達式存在map的value中,問題徹底解決。map中key的查找效率是很高的,同時插入也很快;當找到一個計算結果為24的時候直接根據這個key去尋找相應的value即可得到完美的答案,同時HashMap也保證了每個計算結果只保留一個表達式,避免了重復。
我做了一下性能測試,總的來這個改進後的版本效率比以前的版本略有提高,但是最關鍵的是大大減少了空間的存儲,因此也算是對程序進行的大優化把我想。這兩天看這個帖子似乎看的人比較多哈,也願我的想法能給大家一些啟發。
㈤ 用java做伺服器開發都要學些什麼啊請高手幫忙解惑 ps:本人不是學計算機專業的。
java 書籍選擇方向
一、入門
《Java 2從入門到精通》- 推薦
《Thinking in Java》- 強烈推薦*
O』reilly的Java編程基礎系列 - 參考*
二、進階
《Java Cook Book》- 非常推薦* (包含了Java編程的Tips,適合當做手冊來查閱)
《O』reilly-Java IO》- 推薦* (包含Java IO編程的各個方面)
《O』reilly-Database Programming with JDBC》- 推薦* (JDBC編程)
《O』reilly-Java Programming with Oracle JDBC》- 參考*
三、Java Web編程
《O』reilly-Java Server Pages》- 強烈推薦*
《O』reilly-Java Servlet Programming》- 非常推薦*
《O』reilly-Jakarta Struts》- 推薦* (Java Web編程的一個MVC實現框架Struts的書)
四、EJB編程
《J2EE應用與BEA Weblogic Server》- 強烈推薦
《Mastering EJB 2.0》- 非常推薦*
《Enterprise Java Bean》- 推薦*
五、Java XML編程
《O』reilly-Java and XML》- 推薦*
《O』reilly-Java and SOAP》- 參考* (Java的SOAP編程)
六、設計模式
《Core J2EE Patterns》- 強烈推薦* (J2EE設計模式,設計企業應用軟體必備參考書)
《EJB Design Patterns》- 推薦*
七、其它
《O』reilly Ant - The Definitive Guide》- 推薦* (Ant是一種功能非常強大的Java工具)
Note:
強烈推薦書籍:建議購買,重點學習
非常推薦書籍:建議花時間學習
推薦書籍:在學有餘力的情況下,建議學習
參考書籍:有興趣的情況下學習
Java, 那些美妙的書籍
文章分類:Java編程
整理一下最近看過或者比較有興趣的Java書籍,以供大家參考:
1,數據結構、演算法方面
《演算法導論》 適合有一定基礎而且可以平心靜氣慢慢推薦的人看,有一定難度。個人覺得這本書可以讓程序員的水平提升一個檔次。(附件有MIT的部分答案)
2,Java 基礎相關
《Java 編程思想》 不多說了,看過,沒看完,不過的確名不虛傳 (附件添加第三版的電子書,中文)
《輕松學用Java2》 個人的Java入門書籍,很適合Java初學者
《Effective Java》正在看,很不錯,建議e文不錯的直接看英文原版,雖然很多東西以前也會注意到,但是系統的過一遍還是有好處的。(英文版部分章節電子書見附件)
《深入JVM》適合想進一步了解Java以及JVM虛擬機實現的,寫的不錯。不過很難買得到書了,附件提供中文電子版的下載(掃描版,不是很清晰,還有 英文chm版)。
《Java解惑》 再加一本Java進階的書,這本書跟Effective Java類似,不過更直接,將各種可能出現的問題進行了歸納整理,目前手頭有中文版部分章節的電子書,看看先再決定是不是要買。
3,Eclipse plugin/RCP開發
《Eclipse 從入門到精通》,陳剛著,雖然看完了不一定精通,但是作為少有的幾本國內優秀的Eclipse教材,很不錯了。個人的RCP入門書籍。(部分章節電子書見 附件)
《Eclipse Rich Client Platform》,著名Addison Wesley Eclipse Rich Client Platform 的第二版,Eclipse官網推薦,hyperbola示例很有用。(電子書見附件)
《Contributing To Eclipse》,大師經典之作。遺憾的是現在各大書店都沒貨。(附件中有英文版chm格式電子書)
《Swt JFace in Action》個人覺得in action 系統的書都不錯,包括《Eclipse in action》《JUnit in action》等,本書對SWT/Jface 組件講得很詳細,也有很多示常式序。(電子書見附件)
《RCP 教程》個人整理的RCP教程,已經在CSDN上提供下載了。
4,GEF/EMF
《Eclipse Model Framework》,第二版出了,中文版也有了,這方面根本沒有多少可以選擇的餘地。GEF就完全沒有成形的書,EMF據我所知就這一本了。不便宜,看 過第一版的電子書,那時候覺得對應的版本太老了,看不下去。第二版有機會再試試。
GEF相信很多人是看八進制的博客,和Eclipseworld社區上的某位熱心的tx翻譯的一本日文教材入門的,至少我是,後來又收集了一些其他方面的 資料,不過還是太少。附件有IBM Developerworks上的GEF進階系列的文章的電子書版。
4, 結構、設計模式
《敏捷軟體開發——原則、模式和實踐》,Uncle Bob的大作,個人強烈推薦。裡面很詳細的講解了敏捷開發,以及很多實例。這本書花了很多章節講解常用設計模式,例子非常巧妙,部分由C++實現,也有 Java實現的。如果想了解敏捷開發、軟體類包設計、設計模式這方面的東西,這本書是不二選擇。
《設計模式》 GOF的23種設計模式。不多說了,有人說很難懂,有人說很經典。(已添加電子書,中英版本都有,pdf)
比較適合入門的還是《Head First 設計模式 》系列,至少語言更生動,一樣有人貶低有人熱捧,建議先看電子書再決定 是否買,有點小貴。
《Thinking in Patterns》,突然想起Eckel還有一本講設計模式的書,很早就聽說過了,這本書還沒看過,不過還是列出來吧。
5,JUnit
《JUnit in action》講解JUnit很不錯的一本書,某看了一部分,受益匪淺,使用JUnit測試就是從看這本書起的。
6, 編程技巧
《編程之美》,據說是微軟的面試題集合,不過有些題的確不太好搞。提供部分章節電子書下載,有興趣的可以看看。
先 寫這么多了,上面的書某90%都看過,如果有什麼與各位見解上的差距,還請諒解。
索性再加幾本電子書吧:
A,《代碼大全》也是久負盛名的書了,中文版 清晰版
學院派圖書
Java編程入門類
對於沒有Java編程經驗的程序員要入門,隨便讀什麼入門書籍都一樣,這個階段需要你快速的掌握Java基礎語法和基本用法,宗旨就是「囫圇吞棗不求甚 解」,先對Java熟悉起來再說。用很短的時間快速過一遍Java語法,連懵帶猜多寫寫代碼,要「知其然」。
1、《Java編程思想》
在有了一定的Java編程經驗之後,你需要「知其所以然」了。這個時候《Java編程思想》是一本讓你知其所以然的好書,它對於基本的面向對象知 識有比較清楚的交待,對Java基本語法,基本類庫有比較清楚的講解,可以幫你打一個良好的Java編程基礎。這本書的缺點是實在太厚,也比較羅嗦,不適 合現代人快節奏學習,因此看這本書要懂得取捨,不是每章每節都值得一看的,挑重點的深入看就可以了。
2、《Agile Java》中文版
這本書是出版社送給我的,我一拿到就束之高閣,放在書櫃一頁都沒有翻過,但是前兩天整理書櫃的時候,拿出來一翻,竟然發現這絕對是一本好書!這本 書一大特點是以單元測試和TDD來貫穿全書的,在教你Java各種重要的基礎知識的過程中,潛移默化的影響你的編程思維走向敏捷,走向TDD。另外這本書 成書很新,以JDK5.0的語法為基礎講解,要學習JDK5.0的新語法也不錯。還有這本書對於內容取捨也非常得當,Java語言畢竟類庫龐大,可以講的 內容太多,這本書選擇的內容以及內容的多寡都很得當,可以讓你以最少的時間掌握Java最重要的知識,順便培養出來優秀的編程思路,真是一本不可多得的好 書。
雖然作者自己把這本書定位在入門級別,但我不確定這本書用來入門是不是稍微深了點。
Java編程進階類
打下一個良好的Java基礎,還需要更多的實踐經驗積累,我想沒有什麼捷徑。有兩本書值得你在編程生涯的這個階段閱讀,培養良好的編程習慣,提高你的代碼質量。
1、《重構 改善既有代碼的設計》
這本書名氣很大,不用多介紹,可以在閑暇的時候多翻翻,多和自己的實踐相互印證。這本書對你產生影響是潛移默化的。
2、《測試驅動開發 by Example》
本書最大特點是很薄,看起來沒有什麼負擔。你可以找一個周末的下午,一邊看,一邊照做,一個下午就把書看完,這本書的所有例子跑完了。這本書的作用是通過實戰讓你培養TDD的思路。
Java架構師之路
到這個階段,你應該已經非常嫻熟的運用Java編程,而且有了一個良好的編程思路和習慣了,但是你可能還缺乏對應用軟體整體架構的把握,現在就是你邁向架構師的第一步。
1、《Expert One-on-One J2EE Design and Development》
這本書是Rod Johnson的成名著作,非常經典,從這本書中的代碼誕生了springframework。但是好像這本書沒有中譯本。
2、《Expert One-on-One J2EE Development without EJB》
這本書由gigix組織翻譯,多位業界專家參與,雖然署名譯者是JavaEye,其實JavaEye出力不多,實在是忝居譯者之名。
以上兩本書都是Rod Johnson的經典名著,Java架構師的必讀書籍。在我所推薦的這些書籍當中,是我看過的最仔細,最認真的書,我當時讀這本書幾乎是廢寢忘食的一氣讀 完的,有小時候挑燈夜讀金庸武俠小說的勁頭,書中所講內容和自己的經驗知識一一印證,又被無比精闢的總結出來,讀完這本書以後,我有種被打通經脈,功力爆 增的感覺。
但是後來我看過一些其他人的評價,似乎閱讀體驗並沒有我那麼high,也許是因為每個人的知識積累和經驗不同導致的。我那個時候剛好是經驗知識積累已經足夠豐富,但是還沒有系統的整理成型,讓這本書一梳理,立刻形成完整的知識體系了。
3、《企業應用架構模式》
Martin的又一本名著,但這本書我只是泛泛的看了一遍,並沒有仔細看。這本書似乎更適合做框架的人去看,例如如果你打算自己寫一個ORM的 話,這本書是一定要看的。但是做應用的人,不看貌似也無所謂,但是如果有空,我還是推薦認真看看,會讓你知道框架為什麼要這樣設計,這樣你的層次可以晉升 到框架設計者的角度去思考問題。Martin的書我向來都是推崇,但是從來都沒有像Rod Johnson的書那樣非常認真去看。
4、《敏捷軟體開發 原則、模式與實踐》
Uncle Bob的名著,敏捷的經典名著,這本書比較特別,與其說是講軟體開發過程的書,不如說講軟體架構的書,本書用了很大篇幅講各種面向對象軟體開發的各種模式,個人以為看了這本書,就不必看GoF的《設計模式》了。
軟體開發過程
了解軟體開發過程不單純是提高程序員個人的良好編程習慣,也是增強團隊協作的基礎。
1、《UML精粹》
UML其實和軟體開發過程沒有什麼必然聯系,卻是軟體團隊協作溝通,撰寫軟體文檔需要的工具。但是UML真正實用的圖不多,看看這本書已經足夠了,完全沒有必要去啃《UML用戶指南》之類的東西。要提醒大家的是,這本書的中譯本翻譯的非常之爛,建議有條件的看英文原版。
2、《解析極限編程 擁抱變化》XP
這是Kent Beck名著的第二版,中英文對照。沒什麼好說的,必讀書籍。
3、《統一軟體開發過程》UP
其實UP和敏捷並不一定沖突,UP也非常強調迭代,測試,但是UP強調的文檔和過程驅動卻是敏捷所不取的。不管怎麼說,UP值得你去讀,畢竟在中國真正接受敏捷的企業很少,你還是需要用UP來武裝一下自己的,哪怕是披著UP的XP。
4、《敏捷建模》AM
Scott Ambler的名著,這本書非常的progmatic,告訴你怎麼既敏捷又UP,把敏捷和UP統一起來了,又提出了很多progmatic的建議和做法。 你可以把《解析極限編程 擁抱變化》、《統一軟體開發過程》和《敏捷建模》這三本書放在一起讀,看XP和UP的不同點,再看AM是怎麼統一XP和UP的,把這三種理論融為一爐,形 成自己的理論體系,那麼你也可以去寫書了。
軟體項目管理
如果你突然被領導提拔為項目經理,而你完全沒有項目管理經驗,你肯定會心裡沒底;如果你覺得自己管理項目不善,很想改善你的項目管理能力,那麼去考PMP肯定是遠水不解近渴的。
1、《快速軟體開發》
這也是一本名著。可以這樣說,有本書在手,你就有了一個項目管理的高級參謀給你出謀劃策,再也不必擔心自己不能勝任的問題了。這本書不是講管理的 理論的,在實際的項目管理中,講這些理論是不解決問題的,這本書有點類似於「軟體項目點子大全」之類的東西,列舉了種種軟體項目當中面臨的各種問題,以及 應該如何解決問題的點子,你只需要稍加變通,找方抓葯就行了。
找個相關工作,踏踏實實干吧,戒浮躁~~~
㈥ web前端開發需要學習什麼知識
㈦ 孩子要不要學編程課編程課的未來發展,到底是什麼樣的
個人認為沒有必要學習。
編程是一個很不錯的技能,可以讓人學習操縱機器,能夠設計程序實現各種各樣的事情。但是讓小孩子學習編程就不一定是什麼好事了。
我記得我小時候,我們小學用的還是那種很肥厚的台式電腦,那個時候老師教我們一些很簡單的操作指令來讓電腦上的小烏龜運動。而且沒有滑鼠的。這應該就是我們最早接觸到的和程序相關的東西了吧。之後老師還硬性要求我們背五筆打字口訣。那時候真的是痛苦了好久。因為特別沒有意思又不知道能用來幹啥。20年過去了,如今已經沒有那種教學了吧,因為現在的電腦已經足夠好用,人性化。
1,這是我的第一個觀點, 科技 在不斷的變化,現在的編程語言學習,遲早會變成一個古老的機器語言。未來的 科技 會向著更人性化更智能的方向去發展。那麼現在的編程人性嗎?智能嗎?是不是很多程序員發生過寫錯了一個字母導致代碼錯誤,結果查了半天查不出來的結果?是不是現在很多程序語言還得不停地學習各種高級數學邏輯學?當初滑鼠被發明之前,人們只能不停地敲擊鍵盤操作,想想看,這就是現在的編程世界。
隨著AI 人工智慧的出現,或許未來會出現一種編碼器,人類說句話,指令就編輯好了。而這個或許就在不遠的將來。當你的孩子長大,他發現當初辛苦報班學的編程已經被淘汰了。這是不是一種很讓人難受的事。
2,學習簡單得編程有助於孩子的思維邏輯培養。不得不說,這個想法真的太成人了。都是按照成年人的成功學角度來思考的。小孩子如果講邏輯,那還是小孩子嗎?畢竟,不是所有事情都能靠講邏輯來解決。難道你要讓你的孩子從小就脫發嗎?不好意思,皮一下。
編程是一個在固定的邏輯語言系統下建立起來的東西。他可以是數學,可以是邏輯學。但是,要知道,這會固化小孩子的思維模式。讓他變得只能嘗試在框架內解決問題。這就好比當年地平說的學者燒死地圓說的學者,一直堅信光只走直線的科學家一樣。
邏輯是人生活中必要的東西,但是卻不是小孩子非要馬上建立完整的東西。思維模式很重要,但是過早得學習編程,並不利於多元化思維模式的發展。
3,不要摧毀你孩子的天賦。說不定你的孩子有著驚人的絕對音感,有著超常的繪畫天賦,運動天賦。而選擇提前讓孩子學習編程,很有可能會固化他們的思維方式,不利於天賦得發展。
4,編程是大學的專業課程是有原因的。 編程本身初級的是很容易的很好理解的。現在電子,互聯網技術發展越來越高級,簡單得編程或許可以改改網頁,但是卻沒法在這么復雜的編程體系的世界裡體現多大的價值。
這是兩個問題,應該先回答第二個問題,第一個問題自然迎刃而解。下面說說一下現在編程的現狀以及我的看法。
1 編程課的現狀。
我生活在一個五六線的小縣城,整個城區只有區區不到二十萬人,目前至少有五六家的編程培訓機構。你可以想像一下,我們這里都競爭這么激烈了,那麼更繁華的一二三線城市還是怎樣一個慘烈了得。
2 我的看法。
最近幾年,由於 科技 的高度發展,人工智慧也帶動了少兒編程的學習。最近我們可以看到 社會 上越來越多的少兒編程的培訓班正在興起,很多家長也在糾結到底有沒有這個必要讓孩子去接觸這個家長不了解的學科?
現在很多新聞、輔導機構為了給自己做宣傳會發布很多關於上編程課的一些特例。某些因為編程能力出眾,在高一的時候就被北京大學提前預錄取,只要高考能上一本線就能直接入學北大的案例也不少。當然這都是賺錢的策略,目的就是你口袋中所剩無幾的人民幣。當然雖然商人看到的是商機,可是家長需要把握的是孩子的未來。在我看來如果條件允許的話還是讓孩子學習編程吧,而且越早越好。至少要比一些外語了、奧數實在得多。
現在 社會 是非常工業現代化的時代。我在工業現代化中編程顯得尤為重要。所以首先要說的就是一定要學習編程課。
對於學習編程課的方式來說,首先最為重要的就是培養興趣了。現在有很多小孩子可以玩編程的,興趣的一些課程以及玩具可以給小孩子玩一下。小的時候,如果說對於復雜的東西不太能夠接受,就玩這些小玩具還是比較好玩的。
在玩到一定的階層以後最好就是還是要推薦小孩子去學習英文,因為英語對於編程課程的學習是非常有幫助的。
最後一定要引導到小孩子去用實際的編程語言去書寫編程,也就是說應該是全英文的界面,全英文的代碼來書寫編程。因為這才是工作當中真正編程的環境。
編程課程在以後的高考當中肯定也是非常重視的一門學科,這是信息技術當中的核心課程。說到底,編程可實際上是數學科目的一個延伸科目。編程是非常鍛煉數學邏輯思維的一個計算機語言課程。
現在外面的實際工作當中,編程也是非常工薪高的一個崗位。所以要學好變成很多家長都是從小孩開始培養的。加油!
我兒子現在六年級,寒假剛學的C++。我們這個地方信息學很厲害,很多孩子三年級就開始學了。其實編程很鍛煉孩子的邏輯思維能力,其中也要用到一些數學知識,不建議太小的孩子學。可以先讓孩子學,如果孩子確實有興趣,可以堅持學下去,對孩子的成長總有幫助。現在人工智慧這么發達,未來可想而知,所以我覺得即使以後不從事程序猿的工作,但至少也應了解編程,了解人工智慧。
非常有必要,但是要選好平台。可以選動手強的教育機器人圖形化編程興趣班
編程是一個很好的課程,它能提高孩子的邏輯思維能力,而且我們知道,人工智慧是未來IT領域發展的方向。但要不要學,主要要看孩子是否對此感興趣。
先說如果孩子不感興趣,可能他不知道編程是怎麼樣的,你可以給孩子介紹編程,讓他領略 科技 之美(比如說去一趟 科技 館)可以激發孩子的興趣。不過如果孩子真的不感興趣,還是算了吧。
再說說編程發展的未來吧。近幾年來, 科技 的飛速發展,是大家有目共睹。程序員這個職業,相比於其他職業,工資和待遇都相對較高,可以說人工智慧是未來 科技 發展的方向,編程在未來也是一個不錯的職業。
但是我想說的是,學編程,不一定未來非要做程序員,我上面說了,學編程可以提高孩子的邏輯推理能力,對於平常的學習是有很大幫助的。
首先說下編程的未來,個人認為發展空間很大,隨著物聯網和5g的興起,有太多可以 探索 和發展的空間。舉個簡單的例子,近些年生活中就涌現了很多it 科技 產品,比如無人機,平衡車,智能音箱,運動手環,甚至這種各樣的 娛樂 軟體,生活工具等,這些都是程序猿的智慧結晶,未來 科技 的發展,仍然有很大空間。
其次,我認為編程課可以提升鍛煉孩子的邏輯思維能力。設計一個功能,從無到有,如何一步步的實現呢?這個過程,孩子不斷思考,邏輯能力不斷提升。即便未來不從事編程相關工作,強大的邏輯能力也會在其它方向上給孩子帶來助力
不知道孩子多大了,首先我覺得興趣是第一位吧,從過來人的身份講。因為孩子不是為了大人活,路還是要自己走,就比如我爸當年讓我學日語,我不喜歡就沒學下去,家長還是不要把自己的意志按在小孩身上,不然小孩會懟家長是你想學又不是我想學。
當然如果在引導下對編程很感興趣就另當別論,當然是要大力支持。比如從很低的起點開始,平滑進入更難的階段。孩子們開發的 游戲 ,要讓更多朋友玩到,在大家的贊美聲中得到鼓勵,樂於進行更多嘗試;再次,要把挫折感降到最低,一旦孩子遇到挫折,工具會比家長更有耐心,不停地鼓勵他們越過挫折。
比如從以下幾方面的切入點:
1.學習編程能夠鍛煉孩子邏輯思維能力、創新能力以及思維的嚴謹性等。會讓我們變得更聰明
2.在這個世界裡沒有標準式的答案,完全可以根據自己的答案去解決問題,這對於提高獨立解決問題的能力和邏輯思維能力都是非常有幫助的。會讓我們有獨立思考的能力。
未來發展趨勢嘛肯定不用說了,後面是5G時代,物聯網時代下的智能 汽車 、無人飛機、虛擬現實等 科技 技術都會應運而生。主要看看他願不願意走這條路,先試著培養他的興趣,興趣是通往成功路上必不可少的鑰匙
小學、初中文化課壓力不大有空閑時間可以發展孩子興趣愛好,提高孩子分析、解決問題能力,邏輯思維能力
我認為編程對於孩子未來學化學和物理還是比較有幫助的,但是絕對不會是培訓機構忽悠的那麼大
㈧ 有什麼適合大一計算機專業學生免費的刷題網站
既然大一的同學選擇計算機專業,當然少不了刷題啦!但是有很多刷題網站是免費的,同學們想知道嗎?下面由我來講講吧。
這個網站收錄了很多知名互聯網公司出的演算法題目,相信大一同學很熟悉了,很多同學都在這里刷題,增強對計算機基礎知識掌握。它支持多種編程語言,如:Java、Ptthon、Ruby等。最常做的是演算法題,目前有一千多道的題目。有專門的圖文和視頻講解,方便同學們茶樓補缺。也可以在個人界面查看進展,看自己的學習情況。如果出來工作筆試中,面試官會從這里抽題。刷題過程中全部會了,那麼工作沒有什麼大問題。
以上我列舉了三個計算機免費刷題的網站,同學們看到我寫的推薦後,來收藏夾吃灰~希望同學們有時間使用這三個網站學習計算機相關知識,提高計算機專業能力,祝你們學有所成!
㈨ 軟考程序員考試下午題如何解答
做一份工作,實際就是追尋夢想的過程,而為了完成夢想,必須有一個長期規劃,從而指導我們選擇工作。它是擇業過程中最本質和最原始的參考借鑒。下載鏈接
為此,小雲為你精選一份程序員面試書單,分為職業規劃、編程技能兩部分,適合剛畢業的大學生、正准備換工作的程序員們,涵蓋演算法工程師、Java工程師、測試等多個領域。
軟技能 代碼之外的生存指南約翰 Z.森梅茲 著
這是一本真正從「人」(而非技術也非管理)的角度關注軟體開發人員自身發展的書。書中論述的內容既涉及生活習慣,又包括思維方式,凸顯技術中「人」的因素,全面講解軟體行業從業人員所需知道的所有「軟技能」。
本書聚焦於軟體開發人員生活的方方面面,從揭秘面試的流程到精耕細作出一份殺手級簡歷,從創建大受歡迎的博客到打造你,從提高自己工作效率到與如何與「拖延症」做斗爭,甚至包括如何投資不動產,如何關注自己的健康。
編程珠璣(第2版)喬恩·本特利(Jon Bentley) 著
作者雖然沒有給出解決這些問題的具體代碼,但始終非常富有洞察力和創造力地圍繞著這些折磨程序員的實際問題展開討論,從而引導讀者理解問題並學會解決問題的技能,這些都是程序員實際編程生涯中的基本技能。
為此,本書給出了一些精心設計的有趣而且頗具指導意義的程序,這些程序能夠為那些復雜的編程問題提供清晰而且完備的解決思路,書中還充滿了對實用程序設計技巧及基本設計原則的清晰而睿智的描述。
PS:本書在第一版的基礎上增加了3個方面的新內容:測試、調試和計量,集合表示,字元串問題,並對第一版的所有程序都進行了改寫,生成了等量的新代碼。
重構 改善既有代碼的設計馬丁·福勒(Martin Fowler) 著
軟體開發的不朽經典,生動闡述重構原理和具體做法,普通程序員進階到編程高手必須修煉的秘笈。
重構,一言以蔽之,就是在不改變外部行為的前提下,有條不紊地改善代碼。多年前,正是《重構:改善既有代碼的設計》原版的出版,使重構終於從編程高手們的小圈子走出,成為眾多普通程序員日常開發工作中不可或缺的一部分。《重構:改善既有代碼的設計》也因此成為與《設計模式》齊名的經典著作,被譯為中、德、俄、日等眾多語言,在世界范圍內暢銷不衰。
《重構:改善既有代碼的設計》凝聚了軟體開發社區專家多年摸索而獲得的寶貴經驗,擁有不因時光流逝而磨滅的價值。今天,無論是重構本身,業界對重構的理解,還是開發工具對重構的支持力度,都與《重構:改善既有代碼的設計》最初出版時不可同日而語,但書中所蘊涵的意味和精華,依然值得反復咀嚼,而且往往能夠常讀常新。
C和C++程序員面試秘籍董山海 著
眾多高級語言都從C/C++有所借鑒,所以說C/C++的語言基礎對從事軟體開發的人員來說非常重要。
本書是一本解析C/C++面試題的書,可以幫助求職者更好地准備面試。《C和C++程序員面試秘笈》共包含12章,囊括了目前企業中常見的面試題類型和考點,包括C/C++程序基礎,預處理、const、static與sizeof,引用和指針,字元串,位運算與嵌入式編程,C++面向對象,C++繼承和多態,數據結構,排序,泛型編程,STL,演算法和邏輯思維等最常見的面試題。《C和C++程序員面試秘笈》通過技術點解析、代碼輔佐的方式讓讀者能深刻領會每個考點背後的技術。
本書緊扣面試精髓,對各種技術的剖析一針見血,是目前想找工作的C/C++程序員和剛畢業的大學生的面試寶典。
Java程序員面試寶典楊磊 著
本書對程序設計面試中Java常見的題型和常用解答技巧進行了介紹,對現代職業人如何有效求職、面試考官如何關注求職者動態等做了詳細解說。本書將為您揭開知名IT企業面試、筆試的核心機密;傳授程序員崗位求職的關鍵技巧。
編程之法:面試和演算法心得July 著
本書涉及面試、演算法、機器學習三個主題。書中的每道編程題目都給出了多種思路、多種解法,不斷優化、逐層遞進。本書第1章至第6章分別闡述字元串、數組、樹、查找、動態規劃、海量數據處理等相關的編程面試題和演算法,第7章介紹機器學習的兩個演算法—K近鄰和SVM。此外,每一章都有「舉一反三」和「習題」,以便讀者及時運用所學的方法解決相似的問題,且在附錄中收錄了語言、鏈表、概率等其他題型。
書中的每一道題都是面試的高頻題目,反復出現在最近5年各大公司的筆試和面試中,對面試備考有著極強的參考價值。全書邏輯清晰、通俗易懂,適合熱愛編程、演算法、機器學習,以及准備IT筆試和面試,即將求職、找工作的讀者閱讀。
C#與.NET程序員面試秘笈靳華 著
《C#與.NET程序員面試寶典》取材於各大IT公司的歷年面試題252個(包括研發類筆試及口試題目、情商及智商類題目),詳細分析了應聘C#與.NET程序員職位的常見考點。《C#與.NET程序員面試寶典》主要內容包括:面試流程、基礎語法和技術框架、數據訪問及XML應用、高級特性及應用進階、測試及質量保證、跨國公司經典面試題等。
軟體測試工程師面試指導蔡為東 著
對於想要得到一份軟體測試工程師職位的朋友來說,可能會有一些疑問,如軟體測試這個行業究竟怎麼樣?什麼樣的人適合做軟體測試?面試當中要注意什麼?軟體測試的基本知識點都有哪些?筆試都會涉及哪些內容?等等。本書將解答以上所有的疑問。
本書共6章內容,主要包括軟體測試行業概貌、軟體測試從業人員的基本要求、如何找工作、軟體測試技術基礎、典型的測試工程師筆試題等。本書內容豐富,講解深入淺出,能讓讀者朋友在短時間內掌握基本的測試技術,了解求職過程的各個環節,熟悉各種類型的筆試題,領會面試技巧。本書後附有一些實用的附錄,例如簡歷模板、新人工作指南等,尤其是「我在微軟做軟體測試外包」這一部分內容,寓故事性和知識性於一體,講述了作者在國際軟體巨頭——微軟公司做軟體測試外包的親身經歷,相信對於廣大的讀者朋友有閱讀和參考的價值。
本書適合想要從事軟體測試工作的朋友,也可供初級軟體測試工程師學習之用,另外也可作為大專院校軟體測試培訓的教材之一。
Android高薪之路李寧 著
《Android高薪之路:Android程序員面試寶典》取材於各大IT公司面試真題,所給出的試題盡可能地覆蓋了Android應用開發的各個方面,而且大多數試題都有解析部分,讀者可以通過這部分更深入地理解試題中所包含的技術內容,希望真正做到由點成線,舉一反三。
《Android高薪之路:Android程序員面試寶典》中還將Android中涉及的各個常用技術問題進行篩選、分類。這樣讀者可以有的放矢,對自己還沒有掌握的Android技術進行重點攻破,從而起到事半功倍的效果。除了對每道題目都有詳細的解析和回答外,對相關知識點還有擴展說明。
《Android高薪之路:Android程序員面試寶典》對面試中Android常見的題型和常用解答技巧進行了介紹,它不僅能幫助求職者快速復習相關知識點,也對現代職業人如何有效求職做了詳細解說。《Android高薪之路:Android程序員面試寶典》對於讀者從求職就業到提升計算機專業知識都有顯著的幫助。
編程之美《編程之美小組》
《編程之美—— 微軟 技術面試心得》收集了約60道演算法和 程序設計題目,這些題目大部分在近年的筆試,面試中出現過,或者是被微軟員工熱烈討論過。作者試圖從書中各種有趣的問題出發,引導讀者發現問題,分析問題,解決問題,尋找更優的解法。
書中絕大部分題目都提供了詳細的解說。 每道題目後面還有一至兩道擴展問題,供讀者進一步鑽研。
書中還講述了面試的各種小故事,告訴讀者微軟需要什麼樣的技術人才,重視什麼樣的能力,如何甄別人才。回答讀者關於IT業面試,招聘, 職業發展的疑問。 這本書的很多題目會出現在IT 行業的各種筆試,面試中。但本書更深層的意義在於引導讀者思考,和讀者共享思考之樂,編程之美。