工作經驗到底是個什麼東東 工作經驗從哪裡來
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
最近網上一直比較熱鬧,“淋巴哥”老師拿出高麗棒子那種可以證明屈原、李時珍就是韓國人及端午節源自韓國的那種娛樂考究精神考究出了所有說他的書不好的人都是書託和騙子來,一時間圈內大譁;接著在部落格園又掀起一股
周公:
我叫×××,是××××人。做.net的web開發已經2年多了。
前天去"飛信(新媒傳信)"筆試+技術面試,很僥倖被我通過了,但今天上午去參加總監的複試,我被出局了。
今天灰不溜溜(周公注:似乎沒有這個詞,可能用“灰頭土臉”比較恰當)的從大門走出來,真的感受到了從來沒有的挫敗感。
說下我學習.net的經過。我是07年10月份接觸C#的,自己買了本C#基礎教程自己看的。然後又買了本asp.net基礎教程。就這樣走上了.net之路。
為了能在08年畢業前找到一份理想的工作,我在08年2月份又去圖書館買了本apress小組出的關於.net2.0電子商務的書,這本書讓我瞭解了3層架構。當然也憑藉這本書我在4月份找到了工作。之後就在工作中學習成長,也感覺自己各方面能力還是蠻不錯的。
到了今年3月份後,我發現自己一直受困在目前的水平中,想要自我提高,很難很難。我知道要學的東西有一大堆,但我不知道該從何學起。自己每天看看著(周公注:應為“看看這”),看看那,如果沒有專案、沒有環境。那就很不繫統。我覺得如果想得到更好的提高,只有換個更好的環境,如果能跟著一些強者一起做專案,那麼就肯定能得到突破,學到很多東西。
然後我就開始"騎驢找馬",想找給(周公注:應為“想找個”)好的團隊,學到些真東西。
我不得不承認飛信的團隊確實很好,初試我的2個技術人員都30歲左右,技術也都很強。但就專案中的功能或一般的基本原理,由於我有充足的準備,還算是過關了。
不過今天上午,總監對我的面試,讓我感覺自己瞭解的實在是太少了。很多東西只知其一,不知其二。更多的東西只是知道(周公注:似乎應為“只是知道怎麼用”),但並不知道原理,或者使用過。
就拿對方問個:C#各個版本間的差別是什麼? .net各個版本間的差別? prototype和jQuery間的差別?
我就頭疼了,說實話,一直用C#2.0,並沒有很好的去了解各版本間的差別。 包括jq和prototype的差別也沒好好的瞭解過。
對方對asp.net mvc的要求也比較高,mvc我的瞭解也比較少。
特別是這位總監提到,他們對程式的效能有很高的要求。 這也是我特別想去了解的,如何去提高程式的效能 。
包括對方讓我很好的描述 http傳輸的原理、為什麼序列化能提高程式效能...等
我發現自己真的只停留在概念的表面!
完全杯具了!
不過我還是表現出了自己相應交流能力和學習能力。這位總監也很欣賞我挫敗面前不低頭的性格。他覺得我現在雖然實力不夠,但願意給我一次機會,讓我好好的學習一下,覺得可以了在直接來找他,並把email留給了我。
我也很感激他願意給我這麼給機會,但我覺得自己更要好好的去豐富自己。 正如您常提到的一個好的程式設計師一定要有深度+廣度。
我是86年出生的,也是個不小的人了,我知道現在厚著臉皮向您討教學習方法是很不應該的。
但我現在一時間確實不知道該如何提高,我想您能不能從幾個方面給我推薦幾本書 或者 視訊 之類的。
比如要學好asp.net mvc框架,我從什麼書入門,然後看什麼能提高。
包括如何深入瞭解http協議,.net序列化,如何提高程式的效能。
包括如何更深的去學習C#
我覺得我有一定的基礎,我肯定能把這些學好,我一定行的。
我會在一年後再去找他,我不願意認輸。
很感謝周公能看完我這麼多廢話,希望能得到您的建議。以您這個過來人的經驗,來建議我現在如何去一步一步的完善自己。
×××
我的答覆如下:
×××:
你好!
非常感謝你對我的信任,願意把你在成長過程中的煩惱講給我聽。我也很願意分享一下我的觀點和看法,只是在年齡上我比你多虛度了幾年光陰,在開發上我比你多做了幾個不成功的專案及在面試上我比你多一些面試次數以及還有你所沒有的面試別人的經歷而已,所以我的經驗和觀點未必完全正確,僅供你參考。
首先說一點我對你這封郵件的看法,在這封郵件裡有幾個錯別字,還有一些地方詞不達意,還有一些地方排版不是太好(周公注:上面的郵件已經經過周公排版),儘管這不影響我閱讀你的郵件,但是這會讓我對你有一些小小的看法,比如你不夠細心——儘管我可以猜想為你在上班之時給我書寫郵件,慌亂之中會出現這種現象,但是這不能成為你沒有做好的理由。特別如果是在你的簡歷中出現這樣的問題,可能第一眼就會被pass 掉。也許你會不以為然,會說這樣或者那樣的理由,但是這些理由在某種程度可能會看做藉口或者做其它的聯想,比如你說因為時間緊慌張所以出現了錯別字,那麼我會想如果把你招進來之後遇上專案緊的時候你是不是同樣也會慌張因而出錯呢?
ASP.NET初級程式設計師的現狀
接著我談談目前ASP.NET 開發的現狀,目前很多培訓機構及一些出版社給初學者灌輸的都是如何方便地使用 ASP.NET 伺服器控制元件——顯示資料記錄使用資料繫結控制元件,對資料庫操作使用資料來源控制元件,這樣就給一些初學者造成了一種假相——學好了 ASP.NET 伺服器控制元件就等於學好了 ASP.NET ,甚至就等於學好了 .NET ;如果能熟練掌握這些控制元件的用法,能在資料繫結控制元件裡面巢狀伺服器控制元件那就等於精通了。所以經常在 .NET 裡看到一些“ .NET 高手”在網上哀嘆:“精通 .NET 開發居然找工作那麼難,好不容易找到了個工作比民工薪水還低!”其實完全不是這樣的,真正的 .NET 高手還是奇缺的,如果你知道你身邊有這樣的人請告訴我,我的很多獵頭朋友讓我向他們推薦呢。當然這種現象不是最近才出現的,至少在 2007 年我負責招聘的時候就注意到這個問題了,我當時就寫了一篇部落格《一才難求——也談程式設計師素質問題》裡記錄了這個問題:
情況之一:不會利用msdn。眾所周知.net類庫包含有幾千個類,不可能去記住每一個類有哪些方法和屬性,特別是在初次使用一些以前沒有使用過的類時,檢視MSDN幫助應該是第一選擇。在面試中發現很多人根本沒有這一概念,有些根本不知道怎麼用(在面試做題的時候,我一般都事先宣告允許查MSDN)。
情況之二:不懂一些基本而且必須知道的知識。最離譜的一次,居然遇見一個不會將FLASH嵌入到aspx頁面中的程式設計師(有HTML的可供參考)。有幾次還遇見過需要Response輸出一些HTML程式碼的情況,有的程式設計師居然不知道怎麼寫。
情況之三:基本概念不熟,比如一些程式設計師無法區分抽象類、介面之間的區別和關係。
情況之四:自視過高。有一個工作一年的程式在簡歷上寫著“精通資料庫設計、設計模式、系統分析和開發工具,對架構設計也有深入的研究”,看了這種話我開始是大吃一驚,後來跟他談他“精通”的有關領域的話題,他基本沒插幾句話。
最後,想給正在求職和即將要求職的各位程式設計師一點建議:拋卻急功近利的想法,不管什麼行業都注重經驗的積累和沉澱,平時學習和工作的時候一定要多動手動腦,通過自己的思考和實踐才能加深和鞏固印象。不要抱怨自己的工資不高,先問問自己的水平高不高,如果你的水平高的話,公司不敢不給你高工資,因為他不給別人會給的,在這個浮躁的年代,招聘一個好程式設計師是非常不容易的。
.NET的歷史淵源
做.NET 開發有幾年時間了,我經歷過從 .NET1.0 一直到 .NET4.0 的過程,所以對於它們的歷史我可以簡單說說。最早支援 .NET 開發的是 VS2002 ,所支援的版本是 .NET1.0 ,第二年就推出了 VS2003 ,所支援的是 .NET1.1 ,主要是修復了 .NET1.0 的一些重大 Bug ,此時 .NET 是向下相容的,開發的 ASP.NET 的版本分別是 ASP.NET1.0 及 ASP.NET1.1 ;之後推出了 VS2005 ,它支援此的 .NET 版本是 .NET2.0 ,這個版本與以前版本相比主要是增加了對泛型、區域性類和可空型別的支援等,注意 .NET2.0 對低版本不是完全相容的;緊接其後推出的 VS2008 支援的 .NET 版本有 .NET2.0 、 .NET3.0 及 .NET3.5 ,與 .NET2.0 相比, NET3.0 及 .NET3.5 增加了 Windows Communication Foundation ( WCF) 、 Windows Workflow Foundation( 早先曾叫過 WWF ,不過現在改叫 WF 了)和 Windows Presentation Foundation ( WPF )元件,在語法功能上增加了 LINQ 和 Lambda 表示式等,使得程式設計大大地方便和提高了,基於 .NET2.0 、 .NET3.0 及 .NET3.5 開發的 ASP.NET 應用程式所使用的 ASP.NET 版本都是 ASP.NET2.0 ,在這個時候可以通過安裝 VS2008SP1 的方式以內建支援 jQuery 和 MVC ,這個時候使用 .NET3.0 及 .NET3.5 是相容 .NET2.0 的; 2010 年微軟又推出了 VS2010 ,它支援開發基於 .NET2.0 、 .NET3.0 、 .NET3.5 及 NET4.0 ,不過 .NET4.0 不相容它的低階版本,開發的 ASP.NET 應用的版本也是 ASP.NET4.0 ,在 .NET 中增加了很多新的特性,比如增加了 ADO.NET Entity Framework ,此時整合 jQuery 和 ASP.NET MVC2 。
關於經驗
關於經驗的積累跟專案有一定的關係,但並不是全部。對於ASP.NET 開發大部分可能會有這麼一個過程:
首先是覺得伺服器控制元件挺好用的,在開發中大量使用伺服器控制元件;
經過一段時間的開發之後(也可能是聽別人說),會發現伺服器控制元件並不是想象中完美無缺,在VS2010 之前很多 ASP.NET 控制元件預設會啟用 ViewState 來儲存控制元件狀態,這樣在最終生成的 HTML 頁面的原始碼中生成了大段的隱藏域欄位,影響了網頁的傳輸速度,慢慢地我們會發現其實 ASP.NET 伺服器控制元件最終到客戶端時會被轉換 HTML 程式碼,那麼使用 HTML 伺服器控制元件也是可以的,並且還省去了轉換這個過程,所以在開發時儘量不處處使用伺服器控制元件;
再經過一段時間之後,我們會發現有些複雜的效果與其去層層巢狀伺服器控制元件,還不如直接將這部分特殊效果的HTML 程式碼輸出,這樣更方便快捷,然後我們也會想到有些操作其實用 JavaScript 也可以在客戶端實現而不是必須要提交到伺服器端才能處理,這樣又提高了效率;
再過一陣子之後,我們會覺得SELECT * FROM Table 儘管什麼時候都不會出錯,但是並不是最高效的,在某些時候我們只 SELECT 要顯示的欄位,除此之外當資料庫中的記錄一多時每次都將資料庫中的記錄全部查出來再取出需要顯示的部分不顯示的資料被棄之不用很浪費資源,所以會想到使用分頁查詢每次只查詢當前頁所需要的資料;
再過一陣子之後我們又會覺得原來那種對資料庫執行增刪改查的操作的程式碼每頁都有,非常不好維護,第一步分析之後會想到使用資料庫通用類,再仔細分析之後可能就會發現三層架構的好處進而接受了三層架構這種思想;
再繼續思考總結,我們又會發現其實在SQL 方面有很多名堂,比如儲存過程、觸發器、函式、分組函式、聯合查詢、 UNION 等,也就是有些結果可以直接在資料庫裡進行處理而不是將多次結果分別取出來在 C# 中處理,儘管可以實現同樣的功能,但是在資料庫中處理可能更加方便和直接。
當然這些都還是初級程式設計師所面臨到的一些問題,如果真想提高自己,可能會注意到更多問題。比如到了一定程度之後我們會接觸到不同的資料庫,我們要對比分析一下這些資料庫之間的異同點;我們還會注意到實現同一種效果會有不同的做法,我們要注意不同的做法之間差別——哪種做法效率高?哪種做法佔用記憶體小?哪種做法安全性高等等。比如做ASP.NET 開發,可以使用伺服器控制元件、可以使用 HTML 客戶端控制元件、可以採用 Response.Write() 的方法直接輸出及模板替換法,你覺得它們之間有什麼區別?同樣儲存資料, Cookie 、 Session 、 Application 及 Cache 都可以儲存,它們之間又有什麼差別(提示:可以從儲存資料型別、範圍、儲存週期、安全性等方面考慮)?再比如非 ASP.NET 應用和 ASP.NET MVC 應用之間應用有什麼區別?再比如 Convert.ToInt32() 、 int.Parse() 及 Int32.TryParse() 都是可以實現將字串轉換成 int 型別數值,它們之間在用法上有什麼區別?有沒有想過它們內部的實現呢?如果讓你寫一個類似於 Int32.TryParse() 的方法,你想過會怎麼寫嗎? XML WebService 和 WCF 及 .Net Remoting 之間有可比性嗎?在使用它們時該考慮哪些因素?引數化 SQL 語句和非引數化 SQL 有什麼區別?在儲存過程中執行的一定就是引數化 SQL 語句嗎? string 和 String 之間是什麼關係?什麼叫字串駐留池?什麼叫資料庫連線池,資料庫連線池有什麼用途?和諸如此類的問題有很多,實在是舉不勝舉了。
以上的問題有多少使你感到難以回答?如果你能比較自信地回答上面的大部分問題,恭喜你已經具有中級程式設計師的開發經驗了。我不知道辭海里有沒有對“工作經驗”這個詞下定義,根據我的理解我覺得程式設計師的工作經驗包含了兩個方面的經驗:社會方面的經驗和技術方面的經驗。社會方面的經驗包括了比如生活與工作產生了衝突該怎麼處理及與領導在某些問題上意見不一致該怎麼處理等,這個如果不是應聘技術管理方面的崗位面試單位關注得比較少。技術方面的經驗招聘單位會更看重一些,通常所說的程式設計師的工作經驗也主要是指技術經驗。它至少包含了以下幾個方面:
對於一些常見的編譯錯誤和異常描述我們能迅速知道問題出在那裡並及時解決;
對於一些可能會有多種方法實現的功能,我們應該如何根據當前專案的實際情況選擇比較合適的方法;
對於一些容易影響效能的地方我們應該知道一些如何提高,如果存在多種解決辦法,如何去評估那種辦法的效率高;
對於一些容易發生安全性問題的地方我們應該知道如何去防範;
對於具體的應用如何去設計資料庫或者去評估已經存在的資料庫的設計好壞,如何在第三正規化和欄位冗餘之間取捨;
如何在時間複雜度和空間複雜度之間取捨,知道如何用空間換時間(比如使用快取就佔用了記憶體但是換來了效率的提高,但是快取並不是使用越多越好,此外對於資料庫中索引欄位也存在這樣的問題);
對於常見的問題我們應該知道如何去處理;
對於從來沒有遇見過的問題我們又該如何借鑑已有的經驗來處理而不是束手無策。
要解答以上問題,可能要求我們的知識面要相對廣,在某些問題上要有一定的深度。實際上上面的這些問題已經脫離了語言本身了。在武俠小說中經常聽到高手會說所有的武功最終都是百川歸海,在程式設計開發中我們經常會聽到程式設計高手會說“語言只是一種實現手段,重要的是思想”,那麼思想到底是什麼呢?為什麼有人要求在專案中某個類只允許一個例項存在你就會想到單例模式?這就是經驗,但是經驗是什麼呢?真的不好定義,儘管在上面我列出了經驗的一些體現,但是那並不是全部,我只能說“經驗是一種很玄很玄的東西”。
如何積累經驗
不要暈,也不要倒,其實我們有很多辦法增加自己的經驗。圍繞磨盤轉了一輩子的騾子並不是一頭有經驗的騾子,將木棍捅到蟻窩中來捕食螞蟻的熊也沒有太多經驗,因為它們做那些事情不是出於被指使就是出於一種本能,很少去想是不是可以做得更好,而我們的祖先就做到了,所以今天我們成了世界的主宰。
說到這裡,也就說出了我的第一個答案: 技術的深度來自於總結 。不管是學習還是做專案,不管是自己編寫的程式碼還是別人的程式碼,我們都儘量學會分析總結,首先分析一下那些地方做得好,那些地方做得不好,做得好是因為什麼方面的原因?安全、高效亦或者是其它?這種好的做法今後可以用在某些場景下?有沒有可能存在比這些你認為做得好的方法還要好的方法?對於那些做得不好地方,又該如何去改進?特別是以前自己所做的專案一定不要做完了就算完了,有時間一定要拿出來經常看,看看最近所學的知識有沒有可以用於改進這些專案的。
也許有些朋友特別是初學程式設計的朋友會說自己以前根本就沒有做過真實的專案,缺乏實戰機會。光憑自己所做的工作上所做的一些專案可能對於個人提高不是很快,會受到公司業務的限制,專案型別不是太多,所需要用到的知識自然也不會是太多;或者在一些大公司裡面,由於在這裡一個人一個坑,每個人的職責單一,一個專案做上一年你可能僅對自己所負責的模組比較熟悉,對於專案組其他成員的模組不熟悉,時間長了之後就會感覺自己進步很慢,這種感覺我以前也有過。
在當時我做了幾件事情,我現在總結起來覺得比較有用:
一是通過論壇、部落格瞭解別人在做專案中使用了哪些技術。多次被提及的多半就是目前大家比較關心的或者流行的,如果自己的專案中沒有涉及到這些的話,多瞭解一下這方面的討論或者文章看是否滿足在自己專案中使用,如果不能的話(比如自己目前是在VS2005 下做開發,而別人經常談論的是 VS2008 下的開發)那麼就嘗試在下班後或者工作之餘動手實踐一下。
二是總結自己以前所做的專案。很多人在做專案時鍵盤上最光亮的鍵就是Ctrl 、 C 及 V (因為最經常的操作是 Ctrl+C 和 Ctrl+V ),可能在當時我們這麼做有一定的客觀原因,比如當時時間緊為了完成任務不得不那麼做,這個可以理解,但是不應該在做完之後就將它丟到一邊了,等到下次再用的時候依然又是 Ctrl+C 和 Ctrl+V ——這麼下去,做多少年都不會提高的(除了提高了使用 Ctrl+C 和 Ctrl+V 的熟練度之外),我就有這麼一個習慣,保持著幾年前甚至剛參加工作時所做專案及學習用的程式碼,有時間我還會拿出來看,看看對於以前那個時候做的東西現在可不可以改動得更好,直到經過幾次之後確實不能再改了才放棄。
三是總結別人的專案。現在的網路這麼發達,可以很方便地從網上找到一些專案的需求文件、設計文件、原始碼等,對於一些比較有名的開源專案甚至你還可以找到有高人對這些專案的原始碼的分析。接觸過的專案多了,你就會發現有很多功能和你以前所做的專案中要實現的功能相似,那麼就把你的程式碼和別人的比較一下吧,有比較就有鑑別,有比較就有高下之分,你就會看到完成同樣或類似的功能,別人的做法就比自己好,自己好好想想好在哪裡,以後是不是可以借鑑別人的思路。
四是多關注一些基礎的東西。武俠小說里正派武功高手在成為高手之前總會被要求長時間練基本功,基本功打好了就很容易打通任督二脈,然後很快就可以練就一身過人本領,這樣對自身是沒有傷害的,而邪門武功大多不要求武術根基很快也能練成,這樣即使練成了絕世武功也會容易對身體造成傷害,還可能走火入魔,著名的《避邪劍譜》及《葵花寶典》都是這方面的例子。很多半路出家的以及一些從培訓學校出來的學生大多就是基本功不好,我自己就是半路出家的,在大學裡學過一學期的C 語言之後就靠自己自學走上程式設計師的道路,很長一段時間對資料庫的使用僅限於使用 SELECT 、 UPDATE 、 DELETE 、 INSERT 、 ORDER BY 、 COUNT ,在看別人專案原始碼時經常看到別人專案中複雜的 SQL 語句,感覺自己有必要加強基礎,於是花了很多時間去系統學習了資料庫的基礎知識。
五是多動手實踐。“紙上得來終覺淺,須知此事要躬行”,如果僅僅是看別人的程式碼,看書可能就在看書的時候有感覺,合上書之後就什麼也不記得了。所以還需要大量實踐,有一定基礎之後系統的實踐比單獨聯絡一個知識點要強得多,比如找一個自己覺得不錯的BBS 或者 CMS 之類的系統,為防止自己忍不住看它的原始碼所以這些專案的語言儘量不要選用 ASP.NET 的,然後要求自己實現一套和它相似度很高系統出來。在這裡注意幾點,一是在選專案時儘量量力而行,不要一上來就想模仿一個龐大的系統,龐大的系統涉及到知識面很廣,知識點要求也比較深,工作量也比較大,一個人可能費時較長還沒有看到結果就會產生挫折感,就會放棄,所以可以先模仿小系統然後再模仿大系統;在程式語言方面可以先選擇比較容易部署的程式語言開發的,比如 ASP , ASP 的執行環境在 Windows 平臺上的 IIS 中部署起來相對較為簡單(在 IIS7 之後稍微麻煩一點),等熟練之後可以模仿 JSP 或者 PHP 開發的系統,這些系統的部署相對較為複雜一些,可能資料庫會採用 MySQL ,而 Web 伺服器可能會是 Tomcat 或者 Apache (它們也可以採用 ISAPI 的方式整合到 IIS 中)。在模仿的過程中會用到 HTML 、 CSS 、 JavaScript 及 SQL 等方面的知識,有的時候還需要了解別人的設計思路,對於自己的提高是想到有效的。除此之外,在提高 ASP.NET 程式設計能力的同時也順便了解了其它程式設計平臺和資料庫,擴大了視野。
好了,在最後我回答一下你在郵件中提高的幾個想法,關於你在郵件中提高沒有環境和沒有高手帶的情況,我想在上面提高的五點中的第五點可以回答你的這個想法,有環境有高手帶固然是好,但是沒有環境沒有高手帶我們也是可以通過其它辦法來解決的,比如看高手所做的專案並且模仿它,這樣也可以達到目的。和高手合作對自身的能力要求很大,大家知道微軟、Google 和 IBM 中高手多,在這樣的公司裡進步會很快,但是沒有一定的能力是進不去的,所以在沒有機會進去之前我們不妨採取上面的辦法——實際上也有很多在民間的高手,他們並不在知名大公司,但是他們一樣可以做到很好。
除了上面的做法之外,其實還有一些手頭可用的比較方面的資源,比如MSDN WebCast 上面就有微軟推出的大量免費視訊,我們可以挑選一些下載下來看,在早年的時候我就從上面學到了不少東西,你在郵件中提高的 ASP.NET MVC 在上面就有系列講座,還有比較熱門的 Silverlight 和 Linq 等,只不過不要貪多貪全,千辛萬苦全部下載到硬盤裡然後一個不看,只看看自己關注的部分,實際上裡面的視訊大部分是 Level200 的,也就是針對普通開發人員的,比較容易理解。等你有一定能力之後就可以選擇不看或者有選擇地看了。
除此之外,我不知道你安裝Visual Studio 的時候有沒有安裝隨光碟自帶的 MSDN ,安裝完 Visual Studio 開發工具之後就會提示是否安裝它,我建議將開發中會使用到的部分安裝了(因為涉及到的知識很多,沒有必要全部安裝,有些可以不必安裝),這樣遇到問題之後即使不能上網也能有有地方查資料。在 MSDN 幫助中有 .NET Framework 種每一個類的介紹,包括類的說明、建構函式、方法、欄位、屬性、顯示介面實現、請參見等。對於 VS 開發人員來說它的作用相當於機器貓的口袋,需要的大部分都能從這個裡面找到。像你提到的序列化以及一些經常被提到的正則表示式、 Web Service 等也可以在 MSDN 中找到,有時間的時候可以看看,在有些地方還有一些提高程式效能或者安全性的建議。
圖:在安裝完VS2005後提示安裝MSDN的介面,在VS2008介面也類似
至於你在郵件中的其它問題,我想我已經在郵件中回答了,在這裡我還給你一點額外的建議:建議有時間提高一下英語,如果還有時間的話再學習一下UML 相關的知識,這些東西在短期內似乎對你沒有什麼幫助,但是對於你的長遠發展是大有裨益的。如果你還有不明白的地方,請繼續和我保持郵件聯絡。
周公
2010年 6 月 6 日
後記:看到看此篇文章的讀者當中有一些是未畢業的大學生,我建議你們看看我的一篇針對未畢業大學生的文章《與一個即將畢業的計算機系大四學生關於求職的對話》。