7月份複習總結&8月份複習計劃

時間過得很快,轉眼間7月份就要過去了。這個7月對於我來說還蠻平靜的,身邊沒有想象中那樣充斥着關於秋招的各種信息,大家好像都蠻安靜的。我基本上每天都在看書,但是每天的基調心情還是擔心憂慮,總感覺自己不行,感覺有看不完的書,做不完的題,特別是在leetcode上面實在是受了太大的打擊了。好吧,還是讓心情暫時slow down下來,給自己總結一下吧,不然真亂了陣腳就糟糕了。


完成情況

1、語言部分
最基本的也是最基礎的語言,我學習的語言是C/C++,沒有選擇需求量超高的JAVA,是因爲C/C++已經先入爲主了,所以說,很多事情的出場順序是非常重要滴偷笑。我沒有深入瞭解過JAVA,所以對它的很多內部機制都不瞭解,最多就知道個JVM和JDK啥的,而且也還只是很模糊的知道有這些東西。但是網上總是有很多人評論JAVA比C++清晰多了,C++太博大精深了。我從不後悔學習C++,因爲我本身就是有些愛鑽牛角尖加強迫症患者,就想研一時用.NET做項目,上網查資料能做出想要的效果,但是我卻對那一大堆的代碼措手不及,因爲不明白每一句的意義和作用是什麼,我總是覺着這樣會讓我很沒有安全感,但是C++卻沒讓我感覺很安全。雖然C++有很多瑣碎複雜的語法,但是每個語法和規則都是有跡可循的,只要我們更加深入一些瞭解操作系統和編譯器,總是能找到這些規則存在的理由。
《C++ primer》這本書,說實在話,已經看了不下十遍了,我是配合着《Thinking in C++》來看的,但是每次看都會有不同的體會,有些懊惱的是,有很多的知識總是很容易忘記,特別是一些細節,像是一些基本類型的大小、重載函數的匹配、常用STL的一些函數和泛型算法、面向對象中虛函數和析構函數的一些細節問題等等。基本語法是差不多了,需要鞏固的地方有:常用STL深入瞭解、重載函數、面向對象中的虛函數機制深入瞭解、操作符重載和模版。

2、操作系統部分
說真的,去年9月份開始學習Linux,真的也只是瞭解了一些皮毛,看了《鳥哥的Linux私房菜》基礎篇的前半部分,瞭解了Linux的文件系統和一些常用命令,粗略地學習了一下vi和vim編輯器,瞭解了什麼是shell和一些常用變量,在深入的估計就沒有了。然後今年開始複習的時候拾起了《Unix環境高級編程》(《APUE》),說實在的,沒怎麼看得懂,只是跟着在Linux上寫程序運行看效果,但是不瞭解其中的用處,但是後來學習QT多線程編程的時候開始知道了學習這些的用處了,這些沒有直接的用處,可是卻是應用程序的本質。複習前斷斷續續地看了一些IO和文件系統,7中下旬開始認真研究進程線程,還沒有看完。暫時的領悟是:瞭解了程序運行從開始到結束的過程本質,知道從exec到exit的過程,知道了fork和vfork的區別,知道進程同步是使用nice等等,但是對於多線程還是很有多的不瞭解和疑惑,並且很多的函數的的區別沒有完全理解掌握。接下來是深入掌握進程線程以及內存分配的機制。

3、算法部分
算法部分,粗略地把數據結構上常用的數據結構和相關算法過了一邊,除了AVL之外,對這個平衡二叉樹一直抱有恐懼的心態,但是爲了學習STL的map和hashmap,它們的本質是基於二叉排序樹和紅黑樹的,這個必看不可,所以接下來首要任務就是掌握AVL,不能再拖了生氣!!!其次,看了《編程之美》,我覺着做這上面的算法題真的挺能鍛鍊使用數據結構的編程能力的,這兩天在狂刷leetcode,感覺自己的單鏈表和二叉樹有了很大的進步。leetcode真的非常好,唯一不足的就是是全英文的,我基本上都是靠着翻譯工具才能看懂題目,有時候連翻譯工具都不夠,唉,英語太差了安靜。但是leetcode對運行時間有要求,除了要寫出方法,同時還要求是用好的方法。

4、網絡部分
網絡部分,唉,快哭了,真的是我的弱項。本科的時候沒有學過網絡,到研究生期間也是拖拖拉拉地沒認真看完過,到現在連一本謝希仁的《計算機網絡》都還沒有看完。7月份認真看完了網絡層和運輸層,對於TCP協議有認真研究一下,主要看的兩本書是《TCP/IP詳解》卷一部分,然後是《Unix網絡編程》,這些書都是經典,我現在也只是略知一二,而且看過的也有很多很多不明白的地方,書看得越多,發現自己不瞭解的知識越多,恐懼感也是越來越強啊。大哭

5、項目部分
下半年我們組的項目快要結項了,現在也比較急,我負責的是界面部分,由於不想使用C++以外的語言,而且對於MFC也沒有什麼好感,當初就聽從了師兄們的建議,學習了QT GUI。學習QT大概是我上半年最高興的事情了吧。學習本身應該是一件快樂的事情,我從學習QT中略微有體會到這一點。然後最近在學習QT網絡編程和多線程編程,正好可以結合着網絡和操作系統一起學習,這個還是蠻不錯的。

總結與反思

先總結好的部分吧。總體感覺自己有個明確的方向,並且大概瞭解自己需要鞏固複習的知識點和途徑,然後自己比較有耐心,能夠靜下心來複習,對於難的地方也能夠堅持鑽研。不好的地方是,對自己沒有信心,總覺得自己有很多沒有掌握的知識點,害怕自己在面試的時候不能夠流暢地將心中所想表達出來。另外,有些自己一直沒有掌握的知識點,自己都有一些排斥去學習,可能是因爲拖延逃避吧,這點確實不好,畢竟我們必須時刻準備着接收新的知識,技術的道路需要不斷學習的。

8月計劃 

八月近在眼前,八月也很特別,八月要準備投簡歷,八月要進入最後的複習,八月也是我的生日,沒錯,我是獅子座 的,八月份的前奏,你是獅子座......
因此我相信,八月份是我們獅子座的最強時刻,即使是炎熱如火。所以我一定要好好把握好八月份,讓自己對九月份的校招做好充足的準備,
首先八月一號要準備網申投簡歷,哇哦,真是激動人心的一刻啊。然後,八月份我的複習計劃也要交個初稿了,所有的這是應該都過一遍。首先,C/C++,需要深入瞭解一下STL,畢竟這是C++的精髓部分,掌握常用的幾個STL,看一下源碼實現。虛函數機制再徹底梳理一遍。所以8月份以寫博客爲主,自己寫博客總結一下。網絡需要看完的是網絡層、運輸層和應用層,需要深入瞭解IP、TCP和UDP協議,以及應用層的幾個HTTP和FTP等協議。然後掌握網絡編程socket的一些知識,主要還是三本書。看完要總結,要合上書本自己思考,否則只是走馬觀花,腦子裏根本什麼都沒有留下。操作系統主要還是進程線程以及內存機制這些。進程線程主要研究apue,然後內存機制主要了解Linux,多使用Linux,只使用centos的命令行模式,然後學習gcc、g++、gdb和make以及makefile這些常用的關於編譯C/C++程序的命令,掌握使用vim編輯器並在Linux環境中編譯運行C/C++程序。還要掌握的是Linux的一些常用命令,處理目錄和文件的,以及壓縮解壓的一些命令,瞭解一下shell。數據結構和算法,這個需要不斷地練習,主要使用的數據結構是鏈表和二叉樹,首先完全掌握二叉樹的的算法,關於二叉排序樹、平衡二叉樹和多路查找樹。然後完全掌握查找排序算法,最主要的是哈希表查找算法。以《編程之美》和leetcode爲主,多練習,多編碼,合上書本的時候一定要多思考,而並不是只是在看某個知識點的時候才思考它,謹記:忘記不要害怕,學習本身就是一件重複的過程,需要不斷地鞏固和思考。項目,繼續完善項目功能,然後在月底的時候重新瞭解一下QT的一些實現機制。
八月,非常非常重要,可能耳邊會充斥着很多讓你疑惑、迷茫和不安的聲音,可能會有很多的猜疑讓你忍不住想要放棄,可能會有很多機會讓你想要放棄你現在的目標。所以,親愛的自己,我會原諒你即將可能產生的各種負面情緒,但是請你一定一定要認定現在的目標,不要輕言放棄。難得自己擁有了夢想這麼美好的東西,也許以後可能再也沒有這樣子的機會了,所以請你務必要嘗試一下,儘自己最大的努力去爭取。我會原諒你的不成功,但是絕對不能原諒你的不堅持。可以輸給現實,但是請不要輸給自己。加油!奮鬥
發佈了68 篇原創文章 · 獲贊 42 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章