寫在開頭
以下是結合自己一年的學習經歷,給正在准備求職的朋友的一些分享,實用與否,仁者見仁智者見智,只希望能給正在迷茫和徘徊的朋友一些正能量。
關於自己
從開始轉方向學軟件,我一直堅持兩點:1)基礎很重要 2)心態很重要。
關於基礎,我主要從兩方面入手:語言、數據結構和算法。語言要會用還要知道它的一些底層原理;數據結構可以讓程序數據的組織多樣化,算法可以讓程序的實現方式多樣化,寫程序將會有更多的思路。
關於心態,也從兩方面說吧:成就感、不強求。成就感是我作為程序員的原動力,這讓我在漫長的求職道路上感覺不枯燥,這也將激勵我之后完成一個個新的目標;不強求不是說沒有目標,而是指要做好進入不了目標公司的准備。舉個例子:假如自己心目中把意向公司分成x、y、z三個檔次,難度依次遞減。不強求的心態就是,要想,努力了之后,即使進不了x檔,去y檔也可以混個中等的水平,即使去不了y檔,去z檔也可以混個偏上的水平。
准備靠努力和堅持,面試靠發揮和機遇,自己靠着這些最終有幸找到自己心儀的互聯網公司,過程是幸苦的,結果還算是滿意的。下面用時間為結點簡要說一下自己一年的學習路程,在這里面我們不說很多書寫的好壞,只求看過,收獲過:
2013.7 機緣巧合到圖書館借了一本《零基礎學習C語言》,也是從現在開始了我的程序員之路;這個月主要看了幾本C語言的基礎書籍,看着一本本書被飛快的看完然后逐個把課后習題完成,成就感油然而生,這也是我最初的原動力,而此時我並不知道我以后想干什么,只是單純的喜歡這種感覺;
2013.8~9 從網上下了些簡單游戲源碼,修修改改來實現自己想要的功能,圖形界面是基於一個叫EasyX的外部庫。這期間寫了很多小游戲,提高了自己的調試能力;
2013.10 數據結構,主要是《數據結構(C語言版)》---嚴蔚敏著。做了詳細筆記,不懂的到網上搜技術博客,從那個時候決定以后也要把自己的東西分享出來;
2013.11~2014.3 算法,主要是《編程珠璣》《編程之美》《微軟面試100題》。看書+筆記,筆記主要寫到evernote上面,這個軟件用來做筆記很不錯,這段時間我面試算法方面的能力有了很大提高。后面面試了發現,算法方面的不用那么多,掌握常用的就好,不過多學點總沒有壞處;
2014.4 C++,主要是《c++ primer》《深度探索c++對象模型》。對面向對象方面有所了解,但是還是很菜。后面我實現很多算法都直接調用C++的STL,這樣簡單方便。但是很多具體你實現我也做過工作(如:棧、隊列、堆、排序、紅黑樹等),面試的時候被問到也能自己簡單實現;
2014.5 計算機網絡,主要是《TCP/IP詳解 卷一》《計算機網絡》--謝希仁著。分享一個自己的手寫筆記http://pan.baidu.com/s/1c08KalE,字寫得有點挫;
2014.6 操作系統,主要是《操作系統之哲學原理》《現代操作系統》;
2014.7 《劍指offer》,手寫核心算法,面試的時候面試官經常讓手寫,提前訓練;
2014.8~9 復習筆記,總結筆記,網上看面經記錄面試方面需要注意的。事實證明之前看書的時候都做了詳細筆記是非常明智的,因為很多的東西都忘了,筆記能夠讓我快速復習之前所學。
關於建議
1.多做筆記,有些程序比較復雜的可以配圖解釋。推薦兩個軟件evernote(筆記)、學習復習安排助手(復習);
2.集中掌握一門語言,好像這幾年面試Java很吃香,當然如果有時間可以學習一門底層一些的語言(如C語言),了解實現才能更好的使用;
3.在數據結果和算法方面多花一些時間。數據結構重點:排序、棧、隊列、堆、樹,圖可做了解;算法方面也不需要看那么多,《劍指offer》和《微軟面試100題》足夠,關鍵是里面的題得游刃有余。當然有時間可以多看看其他的,好處也是多多;
4.計算機網絡和操作系統了解了解,做到核心知識點心中有數;
5.海量數據可以了解了解,推薦博客:http://blog.csdn.net/v_JULY_v/article/details/6685962;
6.項目。根據你以后的求職方向,花一段時間研究一個項目,深入進去。項目的來源可以是網上開源,也可以是朋友、同學。有項目可以為簡歷添彩,也可以為面試過程添彩,這會吸引很多面試官的火力,彌補其他方面的不足。反正我是在項目方面吃了很大虧;
7.實習。如果有機會,可以去公司實習(自己求職方向以內的公司),這樣第6點也解決了。
寫在最后
只是自己的一些經驗分享,不一定對每個人都有幫助,希望對正在迷茫和徘徊以及沒有動力的朋友一些正能量。也向通過博客和其他方面分享自己知識的的人,點2^32次贊!!!!
之后我也會逐步把自己做的筆記整理一下,分享出來。