程式員如何高效學習

来源:http://www.cnblogs.com/liuyoung/archive/2017/10/24/7722398.html
-Advertisement-
Play Games

寫在前面 其實學習是一件很私人的事情,每個人都應該有一套自己的學習方式,而不是照搬照抄別人的。適合別人的不一定適合自己。 所以,讀這篇分享的時候,請以一種【這點是不是對我有幫助】的心態來閱讀,而不是【原來我要這樣才能學的好】的心態。 如果你覺得某一點對你有用,那就記在心裡,如果你覺得不太適合你,那麼 ...


寫在前面

其實學習是一件很私人的事情,每個人都應該有一套自己的學習方式,而不是照搬照抄別人的。適合別人的不一定適合自己。

所以,讀這篇分享的時候,請以一種【這點是不是對我有幫助】的心態來閱讀,而不是【原來我要這樣才能學的好】的心態。

如果你覺得某一點對你有用,那就記在心裡,如果你覺得不太適合你,那麼一笑而過就好。

我不是什麼大牛,只是一個普通的本科生,有說的不好的地方,還望海涵。也因為我只是一個本科生,沒有很多的工作經驗,所以對於工作後的一些學習經驗比較匱乏,所以文章里大部分說的都是大學時期的一些經驗,很抱歉。

文章的整體思路

這篇文章大體上會從以下幾個部分展開:

  • 認清自己。
  • 學習目的。
  • 時間管理。
  • 學習方法。
  • 學習的步驟。
  • 獲取知識的途徑
  • 影響學習的幾個因素
  • 自己的心態。
  • 外物的影響。
  • 其他想說的
  • 大學生的學習
  • 一些感悟

一、認清自己

認清自己最關鍵的一點是【要知道自己到底想要什麼】。這是第一步,也是最重要的一步。因為這關係到你能夠夠選對學習方向,能否沉下心來去學習。

我們都知道,做自己感興趣的事情的時候,是可以事半功倍的,因為你願意去做它,而不是出於某種原因不得不去做。

經常會有人問我,現在前端找工作好找麽?java 找工作好找麽?我要不要學 android 呢?

這些問題的答案其實大家心裡都明白:只要你足夠優秀,學什麼都能夠找到一份好的工作。

所以說,不要因為某一個方向火,而盲目的去追;也不要因為某一個方向可能不容易找工作而不去學。

記得我有一次這麼回答一個朋友的時候,他和我說:很多時候,選擇遠比努力重要,我選一個我不喜歡但是火的方向也許比我選一個我喜歡但是不火的方向賺的更多。

這種想法很多人應該都有,但是我覺得,選擇遠比努力重要的前提是你這個選擇得正確,但是能夠做出正確的選擇的人,他本身就已經是一個優秀的人了。拋開這點不談,在一個自己不喜歡的領域你能走的多深入呢?

對一個搞技術的人來說,年齡的增長其實不是那麼可怕,可怕的是你沒有匹配自己年齡的技術深度。當你的工作換一個剛畢業的學生都能做的時候,你很快就會被淘汰了。

所以,選方向一定要選自己感興趣的方向,因為只有這樣,你才有興趣去往深入了學,你才不會在未來被年輕人擠下去。

認清自己的第二點是【認識到人外有人】。自滿,自大,自欺欺人是影響自己進步的絆腳石。

如果你覺得,你現在已經很了不起了,你能做到這個程度已經很不錯了,你就會停滯不前,然後浪費大把的時間。

這是我自己的親身經歷。我的學校是一個雙非大學,電腦也不是學校很好的專業,消息也比較閉塞。在我的圈子裡,我覺得自己已經很不錯了,我之前也一直這樣認為。

但是,當我今年開始準備春招準備校招的時候,我發現我錯了,和真正優秀的人比起來,我什麼都不是。以前覺得自己會的東西,出去一看,大家其實都會;

以前覺得很多知識等工作了再去學也不遲,出去一看,發現早就有人學會了。

但是,現在認識到這些已經有點晚了,因為已經開始找工作了,沒有時間再去讓你從頭開始學了。

所以說,永遠不要自滿,要知道人外有人。如果有一天,你覺得周圍沒有人比你更厲害了,一定要記得,不是你走到巔峰了,而是你的圈子,應該擴大了。

只有你的周圍,有很多更厲害的人,你才能意識到自己的不足。這也是我常掛在嘴邊的:你想變成什麼樣的人,你就要去認識什麼樣的人,你的周圍是什麼樣的人,你就會變成什麼樣的人。要知道,人以群分。

二、學習的目的

為什麼要學習呢?學習的目的,根本上是為了獲取競爭優勢,增加選擇機會。你比別人懂得多,比別人學的深,你就更有競爭力。對於程式員來說,不懂得學習是沒有辦法在這個行業混下去的。

技術的更新換代,技術的深入掌握都需要去不斷的學習,如果你不學,很快就會被淘汰了。

找工作的時候,有其他專業的朋友會羡慕的和我說:你這個專業真好,一畢業月薪就上萬,我才3,4千。

其實我想說的是,如果不好好學習技術,搞技術的也會失業。大部分的人都只看到一部分電腦的應屆生工資很高很羡慕,卻忽略了他們這四年是怎麼度過的。

天上是不會掉餡餅的,電腦專業的每天看劇打游戲,畢業一樣找不到工作。希望以後你不會是那群天天打游戲看劇最後抱怨自己工資低的那群人中的一個。

三、時間管理

知道了自己的方向,知道了為什麼要學,那麼我們接下來談一談,怎麼安排自己的時間,或者說,怎麼制定一個計劃。

很多人應該都有過這樣的經歷:我現在很無聊,不知道做什麼好,學習吧,不知道學什麼,打開電腦也不知道做什麼,打開手機也不知道做什麼。

然後只能選擇看個直播,看個電視或者打個游戲來打發時間。當一天過去以後,突然後悔,覺得自己當時要是學習就好了。

為什麼會這樣呢?是因為你自己沒有一個計劃,如果你每天都有一個按時間段安排的計劃的話,你就不會迷茫了,你就會知道這個時間點自己應該做什麼,而不是用看劇打游戲來打發時間。

關於時間的管理。首先,要有一個大一點的計劃,比如年計劃,月計劃,周計劃。這一年大體上要打到什麼目標,這個月要學習哪些知識。

然後是精確到小時的日計劃。每一天,哪個時間段做什麼都詳細的列出來。

其次,不要太盲目自信。很多人其實從來沒有完成過自己的計劃。如果你真的能夠完成你制定的每一個計劃,那現在的你一定已經很了不起了。

如果你幾乎沒有完成過自己的計劃,那麼你一開始制定日計劃的時候,不要給自己太多的任務。因為如果你一旦完不成,就會影響自己的信心。

最好的方式是,一開始制定一些簡單的計劃,然後每天很容易就能做到,然後慢慢的去增加自己每天的任務量。

最後找到一個最適合自己的節奏。這個過程可能需要很長的時間,因為你要不斷的去嘗試,去改進。找到最適合自己的作息時間去休息,找到自己工作狀態最好的時間去工作等等。

關於時間管理以及計劃的制定,每個人都應該有一套自己的計劃,因為每個人的情況不同。

最後,不要把你的計劃當擺設。雖然我上面說過,很多人其實從來沒有完成過自己的計劃。但是我還是希望你能夠認真的去對待它,因為受益的有且只有你自己。

四、學習方法

盲目的學習效果並不好。以前看書的時候,看完一遍再從頭看,感覺就像是在看一本新書,完全沒有印象。

看似自己學了不少,其實真正掌握到的並不多。學習不是你看得書越多,讀過的文章越多你就學的越好,而是看你究竟掌握了多了。那麼,怎麼才能有效的去學習一門新的技術呢?我總結了以下幾個步驟。

4.1 學習的步驟

確認學習目標  

首先,你需要確認你要學什麼,切記不要三心二意。學習最好一個時間段專一的去研究一個知識點,不要今天學 python 明天又想學 java 了。做什麼事都有有一個目標,不然容易成為無頭蒼蠅。

目標往大了說,可以是成為某一個領域的大牛,往小了說可以是今天的一個學習計劃。

hr 面的時候,一個常見的問題是:你的職業規劃是什麼。一個優秀的人,必然會有一個屬於自己的職業規劃,知道自己在什麼時期要做什麼,知道自己每個時期要完成什麼樣的目標。

學習也一樣,當你有了一個清晰的目標的時候,你才不會迷茫,才不會不知道做什麼好。

制定學習計劃

上面也提到了這點,計劃可能趕不上變化,也許今天正好有別的事情導致今天的計劃沒有完成,但是至少大方向是有的,你不會不知所措,不知道最近應該做什麼,這才是計劃的根本價值。

所以,不要擔心計劃完不成,這是給你自己學,一天的計劃完不成又能怎樣呢?

自己找資料開始學習

請記住,不要當一個徹頭徹尾的伸手黨。因為輕易得到的東西你是不會珍惜的。並且,你不要祈禱你這一輩子所有學習需要的資料都有人會提供給你,自己找資料本身就是自學能力的一部分。

當然,我並不是說不讓大家去群里問,畢竟能問到也是一種本事,但是你一定要有自己的資料來源,無論是博客還是書或者是官方資料。

腦圖與流程圖

學習從來都不是只看看書就能學會的,自己構建相關知識腦圖和相關步驟的流程圖是非常有必要並且非常有效果的。

比如你要學習java,你可以先從網上找一找別人畫的腦圖,對java有一個大致的瞭解,每學一個小的知識點,就自己繪製一個該知識點的腦圖,學完之後,自己再畫一個整個 java 體系的腦圖,這樣你會對 java 非常的熟悉。

比如你學 GC,光看書或者博客是很難記住那些流程的,這個時候,你自己畫一個流程圖,我保證你對這個過程會很清晰。記住:就算是有現成的圖,你也應該自己畫一個,自己畫和看別人的是完全不同的兩個層次。

編碼

上面的那些,都是掌握理論知識的步驟,是騾子是馬還得拉出來溜溜。編碼才是重中之重,就算你能把一個知識點吹得天花亂墜,但是一句代碼不會寫依然沒有什麼用。

筆記

好記性不如爛筆頭,學完的知識,然後記錄下來,自己總結一遍,收穫有多大你們試試就知道了。

回顧

如果你學的東西,很久都沒用,突然有一天你又要撿起它,你會發現,你之前做的努力,太特麽值了,你有資料!有腦圖!有流程圖!還有筆記!分分鐘就記起來了。

自己寫一個有實際應用的 demo

如果有必要,可以寫一個有趣的應用,不是簡單的範例。

這個過程,其實是很耗時的,學生建議按照這個流程來,因為學生的時間大把大把的,時間很少的就根據自身情況取捨吧。腦圖和流程圖我覺得收益很高。

上面說到,有的時候看完一本書再從頭看,感覺像是在看一本新書。所以我後面看書的時候,也會做相應的筆記,看的時候會在書上勾勾畫畫,給一些重要的地方打上標記,看完之後,合上書,用記事本把自己剛剛學的的東西寫一下(大綱就行),然後再和書上比對一下做一些修改。

當我看完一本書以後,對應的,我還會有一個筆記,以後我甚至完全可以看自己的筆記而不需要再看書了。看 + 回憶 + 記錄,可以讓你充分的掌握一本書的核心。

步驟大體上是這樣,但是也千萬別死板的都按照這個過程來,畢竟還是很耗時的。下麵分享一些獲取資料的途徑。

4.2 獲取資料的途徑和一些工具

找資料的途徑

  • 百度/google:先看看他都能幹嘛
  • 官網:官網的文檔一般足夠了
  • 相關書籍:京東和噹噹經常有活動的。
  • 社區:社區也會有人做教程的,還會有一些個人項目可以參考
  • github:可以在github 看看某個知識點的 awesome。
  • 各大博客以及知名博主的個人博客:看看一些高質量博客也不錯
  • 微信公眾號:試著找一下相關的微信,當然,微信上的文章很多都來自於博客,但是微信的好處就是,你不用自己找,別人已經幫你找好了,缺點就是,量太少。
  • 知乎專欄:和博客差不多。
  • 一些視頻或者 wiki 教程:現在有很多教學視頻的網站,有收費的也有免費的。常見的比如慕課網,菜鳥教程,網易雲課堂,極客學院,易百教程等。一些培訓機構的視頻有的也不錯。

一些工具  

  • teambition 。一個團隊管理軟體,當然,個人用也是蠻好的,有各個平臺的客戶端。我用它來安排自己的計劃。
  • 百度腦圖。線上腦圖,免費無限容量。
  • xmind。
  • processon。也是線上的,可以畫流程圖和腦圖。免費的容量有限。
  • Visio。繪製各種圖。
  • 番茄土豆。番茄工作法的管理工具。
  • coding。代碼管理網站,類似於 github,是國內產品,速度會相對快一點。

我覺得 github 可以當做一個個人品牌來經營,所以最好只放一些很好的項目,一些無關緊要的代碼放在 coding 就好了,開源中國的碼雲也行。

記筆記的一些工具

  • gitbook : 可以直接生成電子書的一個開源工具,不知道的可以瞭解一下,我現在在用。
  • 簡書:因為簡書可以創建文集,就和文件夾似的,用來做筆記也不錯。
  • 有道雲筆記。也挺好的(我喜歡用markdown。有道雲支持)
  • 印象筆記
  • 各大博客
  • 自己搭博客
  • OneNote

比較推薦用markdown來做筆記,markdown常用的語法也就五六個,很好記,也很好用。

五、影響學習的幾個因素

5.1 自己的心態

心態其實是很關鍵的。我們的周圍總會發生一些事情,有的時候這些事情會影響到自己的情緒和心情。這個時候如果你自己調節能力比較差的話,就可能會什麼都不想做,不想工作,不想學習。然後頹廢好幾天。

我想說的是,一個優秀的人一定得是一個樂觀的人,不執著於得失,不輕易被影響,積極的去面對生活中所發生的一切。

5.2 外物的影響

我主要說的是手機。現在手機已經成為人生活中不可或缺的東西了,它帶給我們方便,但是同時,它也占據了我們大量的時間。

我不知道大家平時會不會時不時的打開手機,大部分情況下它和之前毫無變化,但是你還是忍不住的打開它瞅幾眼;

或者有幾個群在不停的閑聊,然後你也忍不住的參與進去,不知不覺時間就溜走了。

不要成為被手機支配的人,所以,當你工作或者學習的時候,把手機靜音,放在一邊,不去看它,這樣你會節省出很多的時間。

除了手機,另一個外物的影響周圍的環境。如果你能在一個嘈雜的環境中學習,那就很棒了,如果不能,記得給自己找一個舒適的學習環境。

六、其他想說的

6.1 關於大學生的學習

大學學電腦其實大部分時間還是得看你自己,老師上課講的東西很重要,但是那些都是基礎中的基礎,憑藉這些並不能夠讓你找到一份滿意的工作,所以你還需要自己去學很多很多的東西。

我簡單的歸納了一下大學幾年要做的事,你們可以參考一下(假設你以後的方向是 java )。

【大一】

這個時候,剛剛接觸電腦,你可能什麼都不懂,聽課也是一臉懵逼,什麼for迴圈,if語句,噁心的不得了。這個時候你要做的不是抱怨,而是去努力的尋找樂趣。因為你已經入了這個坑了,除非你轉專業,否則你是擺脫不了它的。

怎麼尋找樂趣呢?我覺得,編程最大的魅力,就是當你成功的時候的那種發自內心的成就感。不知道大家還記不記得第一次寫 helloworld 的時候,各種出錯———分號寫成中文的了,大括弧少了一個———但是最後終於成功的輸出了結果的那種喜悅。

對於一個剛剛接觸編程的人,我覺得,寫游戲是最容易獲得成就感的。這裡給大家推薦一個知乎專欄—- 做游戲,學編程(C語言)。

專欄的作者,通過讓一些學生做游戲來學習c語言。我覺得這個一個很好的學習方式,即有挑戰性,又可以培養出成就感。

大學的入門語言差不多都是c或者c++吧。。如果不是,你也可以參考一下專欄里的小游戲,然後用你自己的語言試著寫一下。

但是,我要重點說的是。寫游戲其實是一件很有挑戰性的事。有的人也許會在一開始就陷入困境,不知道如何繼續下去。這個時候,如果你能堅持下去,多問問老師,學長,百度,google,把問題解決,那你以後肯定會很優秀。

如果你放棄了,不要灰心,因為並不是所有的人都適合通過游戲來培養興趣,你也可以通過做一些 acm 的題來提高自己。每個學校應該都有相關的網站吧。如果沒有的話,可以去浙大的看看。

或者 leetcode 或者牛客網也可以 。做一些自己能力範圍之內的題,也可以提高自己的興趣。

當然,這些只是針對一部分同學,畢竟很多人其實對代碼無感。。根本耐不下性子去寫代碼。對於這部分同學,我建議去學習 html 和 css。

因為它們入門超級簡單,是用來寫網頁的。沒有 c 語音那麼複雜的邏輯,幾個標簽,幾個css就可以設計出一個精美的網頁,我想這也會很有成就感吧。

大一的這一年,是打基礎,培養興趣的一年。不需要你有多麼大的成就,寫出多麼厲害的程式。只要你能夠培養出興趣,並且願意在編程這條路上走下去,那麼你的任務就算完成了。

所以,這一年,你要做的,就是培養興趣,讓自己愛上編程(最基本的要求)。

【大二】

假設你現在已經喜歡上編程了。但是一般大一隻會學一門語言(預設c/c++,不要問我為什麼,因為我就是這麼學的。。)。

所以你可能只是寫了幾個小游戲,寫了個小管理系統或者刷了一些題。你不滿足於現狀,你想做一些更有意思,更好的東西。同時,這個時候,學校應該也開了 java 課了。(假設你要學 java )。

寫在前面:大二要做的,是拓寬你的廣度!!!廣度!!

首先,你要好好學 java。可能學校的進度是一個學期。但是我建議大家用一個月的時間學完。因為有了 c 和 c++ 的基礎,java 其實很容易就學會了(入門級學會)。

更好的情況是,你在大一結束的那個暑假,就抽時間先搞定 java 基礎。這樣當開學的時候,別人還沒接觸 java,而你可以驕傲的和別人說,你都學完了。成就感滿滿的。

那麼,怎麼學 java 基礎呢?我的建議是視頻為主,入門書為輔,自己跟著寫代碼。

看書其實是一件很枯燥的事情,如果你初學 java,只是看書的話可能配置一個環境變數就要搞好久,這會打擊你的自信心。不要小看配置環境變數這個過程。我記得當時兩天配不好環境變數最後讓我幫忙的人可不少。

但是視頻就好多了,因為老師會親自演示給你看,你會少走很多彎路,並且也比書有趣多了。

書為輔,是因為老師不可能記得所有的知識,總會有疏漏的地方或者講得不太好的地方,這個時候 書就可以派上用場了。

看完一節課的視頻,然後關掉視頻,自己寫一遍相應的代碼,出錯了自己先試試能不能解決,是在不能的話,再看一遍視頻,直到跑通。然後去看看書里對這部分知識的講解,加深印象,查漏補缺。

這裡的重點是,一定要自己寫一遍代碼。你看的時候覺得自己會了,可是大部分時間,你一寫全是錯誤。所以一定要自己寫。

並且,在你初學的時候,不要使用集成開發環境(eclipse idea NetBeans等),就使用 notepad++ 這種類型的編輯器就可以。

這套流程最大的缺點就是耗時比較久,但是效果是很好的。java 里有很多都和 c/c++ 一樣的,比如一些語句什麼的,如果你已經掌握的很好了,直接忽略掉這些也是可以的,這就看你自己的情況了。

推薦一些學習資料。

  • 視頻: 畢向東,馬士兵,韓順平的視頻都挺好的。口碑也都不錯,不信可以自己去百度一下。我看的畢向東的,講的挺有趣的。但是每個人口味不一樣,你可以多下載幾套,都聽一下,然後選一套自己喜歡的。
  • 書籍:入門推薦《head first java 》。head first 是一個系列,這系列書最大的特點是圖文並茂和案例驅動,讓讀書的過程不那麼的枯燥。《瘋狂java講義》據說也挺不錯的,但是我沒有看過,不做評價。
  • 編輯器推薦:notepad++ 免費,小巧。初學者夠用了,直接百度下載就好。sublime , vs code, atom 也可以,挑一個自己喜歡的就好。

一個月,幹掉 java 基礎!這是你大二首先要做的事。

前面說過,這一年,你要做的是拓寬自己的廣度。什麼意思呢?就是說,你要儘可能的去多接觸一些技術,多學一些知識,因為你以後很難再找到這麼多你可以自由支配的時間了。

java 基礎搞定。接下來,學習 java web

你要知道,優秀的人永遠都走在大部隊的前面。不要學校安排什麼你就學什麼,學校不安排你就不學。事實上有的老師講的不是很好,大學里真正有用的知識,都是自己學的。所以,接下來要做的是自學 java web。

依舊是視頻++寫代碼。

java web 更重要的是實踐。我當時學的時候的書就是學校的教材。。我是基本沒看書的。就跟著視頻一步一步來,有問題就 google。在大二上學期結束的時候,完成 javaweb 的學習。

因為需要和前臺做一些交互,所以免不了要學一點前端的知識(html + css + js)。

這個過程中,遇到的問題千奇百怪,我記得我當時一個小問題 google 了一天都沒能解決,最後才知道是 jar 包版本的問題。。所以,遇到問題是很正常的,遇到很難解決的問題也是很正常的,只要你肯問,肯查總能解決。

好了,你現在已經有了自己寫一個小網站的能力了(醜點無所謂)。接下來去參加比賽!進實驗室!做項目!沒有什麼比做一個項目更能提高水平了。

所以,你大二下的任務就是儘可能的去做項目,依次來鞏固你學的技術。可以參加一些比賽,或者加入實驗室,或者尋求老師的幫助。總之,你要做項目!

除此之外,你需要繼續擴展你的視野。前端(不是你之前學的簡單的html),python,android,ios,cocos。。。只要是你感興趣的,就去接觸一下,不需要你學的多厲害,也不需要你完全掌握。只是為了讓你的視野更加開闊,知道原來還有這麼多技術,原來還可以這樣。

大二的一年,你需要學會 java 和 javaweb,並且至少做一個拿得出手的項目。同時,儘可能的提高你的視野。當你覺得你一無所知,你還是個菜鳥,這一年的任務就完成了。

【大三】

這是很關鍵的一年,因為這一年你將決定是否考研。考研的我就不管了。。接下來是針對準備一畢業就工作的同學的。

寫在前面:這一年,你要做的,是深度!

通過大二一年的努力,你的廣度已經足夠了。並且在這個過程中,你應該也找到了自己最感興趣的方向,如果沒有,那就繼續研究 java 吧,總比你不知道學什麼好。無論怎樣,這一年,你的重心都應該放在一條路上。以 java 為例。

首先,鞏固基礎!

這是最重要的。怎麼做呢?進階書籍+看博客+寫總結+寫開源項目。

這個階段的視頻不是很多,也沒有必要了。直接看書+看博客+開源項目,最後再總結就夠了。

我舉個例子,比如,我現在要學設計模式,我買一本《head first 設計模式》然後一個模式一個模式的學,每學一個模式,看一遍書,然後 google 一下這個模式,看幾篇高質量博客,結合書和博客自己寫一個總結,甚至可以自己寫一個博客專欄,讓後來者也能享受到你的學習成果。

同時,可以好好整理一下自己學習過程中的代碼,放到 github 上,最好可以試著封裝一下這個模式,讓其他人更方便的使用這個模式。當你收穫一個又一個的star時,你會非常有成就感的。

上面是學習的大致方式。學完了,怎麼檢查自己有沒有學好呢?給大家提供一個網站牛客網,你打開就知道怎麼用了。

基礎都包括什麼呢?

  • 面向對象的思想。
  • java常用類。
  • 集合框架。
  • io
  • nio
  • 多線程併發
  • 設計模式
  • 演算法
  • jvm
  • 電腦網路
  • spring
  • orm框架
  • 。。。

每個知識點,不只是要會用,更要能理解一下底層的原理,有必要的話可以看看 jdk 源碼或者框架源碼。

 

你要知道,bat 等大廠每年會有兩次招聘,一次春招,在每年3-5月,一次秋招8-10月。

春招是招實習生的,秋招是招正式員工。所以,如果你想進這些公司,就要提前做好準備。至少,上面的那些基礎你是必須得都掌握的。

大三這一年,要讓你的深度足夠,有能力的可以繼續延伸自己的廣度。這個階段,最忌諱的是朝三暮四。

早上看 python,下午發現 go 很有趣,看了一下午 go,晚上聽說 R 很厲害,又去研究 R 了。

千萬不要這樣!不要成為各個領域的雜牌軍,你現在要做的,是在一個方向有一些建樹。

【大四】

去實習。

實習的話我能給的建議不多,雖然我的實習經歷還蠻多的。但是畢竟不是混跡職場多年的人,就不亂說了。

找工作,待遇,環境挺重要的。但是我覺得,這個公司的技術棧,行業背景也是很重要的。我實習的三家公司是三個不同的行業,所以我知道,不同的行業差距還是很大的。有的公司招聘的時候會要求你在這個行業有過經驗啥的。所以,行業背景還是有必要註意一下的。同時,為了自己為了的前途,一定要問清楚公司的技術棧!

當然:作為一個有抱負的人,畢業設計一定要向著優秀髮展!並且依舊要不斷提高自己的水平。這個時候,學什麼可能得根據公司的需求來了,但是,永遠不要停止學習!

簡而言之,這四年你應該這樣過:
大一:培養興趣
大二:橫向發展,廣度優先
大三:縱向發展,深度優先
大四:選好方向,不斷提高自己

6.2 一點感悟

  • 很多時候,一個好的老師或者是指導你的人會讓你受益終身,儘可能多的去認識這樣的人。
  • 謙虛和樂觀是受用一生的財富。多去認識更優秀的人,而不是在自己的小圈子裡沾沾自喜。
  • 真正優秀的人不是埋頭苦讀不問世事,他們也會打游戲,也會看劇,也會追番。但是,他們會合理的安排時間。

七、結語

文章寫得很匆忙,很多東西其實是我以前寫過的。我的學習經驗也不是很豐富,工作經驗也不是很多。所以難免有寫得不對或者不到位的地方,一些細節也沒有展開談,希望大家多多包涵。

如果看完這篇長篇大論對你有一點幫助,那麼我的目的就達到了。如果沒有什麼幫助,我表示很遺憾,爭取以後能夠寫出對你有幫助的文章。

我舉得很多例子都是針對大學生和 java 的。一方面是因為我自己還是個學生,方向是 java,對這個比較熟。

一方面是我知道參與這次分享的很多人都是我的朋友,他們也是學生,也在學習 java。對與一部分人,可能要說一聲抱歉了。

不過,學習的方式是想通的,可以互相借鑒。

這篇文章就到這裡了,如果有什麼問題或者不同的見解,可以在下麵評論,後面的交流我們再討論。

本文來自作者 Mystery 在 GitChat 上分享「 程式員如何高效學習(以 Java 為例)」源:GitChat技術雜談(GitChat_Club)

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 直接代碼 樣式代碼 調用實例 效果展示 本文原創出處:http://www.cnblogs.com/PettyHandSome/ 歡迎各位轉載,但是未經作者本人同意,轉載文章之後必須在文章頁面明顯位置給出作者和原文連接,否則保留追究法律責任的權利! ...
  • 1.起因 同事在調用錄音控制項生成的MP3,在部分瀏覽器中載入失敗,出現彈框提示。 經過同事的對比,發現當文件屬性中比特率 為0kbps,時長為空的時候就會出現上圖這種情況。並給找到一個解決方案,使用ffmpeg進行一次轉碼後就會出現比特率和時長,瀏覽器也可以正常載入。 異常的情況 正常的情況 2.問 ...
  • 1、實現ILifeSpanHandler介面,為了支持帶type="POST" target="_blank"的鏈接,並且為了後面能夠獲取到ChromiumWebBrowser並釋放舊的ChromiumWebBrowser,新窗體還是要讓它彈的,只不過後面會隱藏它,代碼如下: using CefSh ...
  • Options: using CommandLine; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namesp ...
  • Server.Transfer 這個方法相比以前介紹的方法稍微複雜一點,但在頁面間值傳遞中卻是特別有用的,使用該方法你可以在另一個頁面以對象屬性的方式來存取顯露的值,當然了,使用這種方法,你需要額外寫一些代碼以創建一些屬性以便可以在另一個頁面訪問它,但是,這個方式帶來的好處也是顯而易見的。 總的來說 ...
  • 背水一戰 Windows 10 之 控制項(控制項基類 - UIElement ): RenderTransform(2D變換), Clip(剪裁) ...
  • #!/usr/bin/python # -*- coding: GBK -*- # -*- coding: UTF-8 -*- from ftplib import FTP import os import datetime ftp_server = '127.0.0.1' # 對應ftp伺服器地址... ...
  • JSTL介紹 Java Server Pages Standard Tag Libray(JSTL):JSP標準標簽庫,它封裝了JSP應用的通用核心功能。JSTL支持通用的、結構化的任務,比如迭代,條件判斷,XML文檔操作,國際化標簽,SQL標簽。 除了這些,它還提供了一個框架來使用集成JSTL的自 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...