大學(xué)選的計算機專業(yè),想要利用假期自學(xué),一般哪些建議呢?
之前有個粉絲朋友私信問我:今年剛高考完,想報計算機專業(yè),想暑假自學(xué),應(yīng)該怎么學(xué)?今天就針對這個問題好好聊聊,之前也聊過自學(xué)這塊說的也很全,但今天針對學(xué)生這個全體好好聊聊。

大學(xué)計算機專業(yè)學(xué)的內(nèi)容是什么?

?主要學(xué)習(xí)以下五個方向:
1.C/C++語言
雖然你只有很小概率在工作之后用到它,但它依然無比重要。C Primer反復(fù)看,然后一行行在電腦上敲出來。
C語言最難懂的是指針,這個暑假掌握還是比較難的,內(nèi)存是什么,指針的本質(zhì)是什么,程序為什么會崩潰,這些問題弄懂了基本就通了。
推薦以下C+書籍:
《C++ primer》《Essential c++》 《C++編程思想》 《effective C++》《more effective C++ 》《Think in C++》《C++ primer plus》《C++ coding standard》。
2、算法
算法挺難,但無論是學(xué)習(xí)計算機專業(yè)還是未來找工作,它都無比重要。
推薦一本高中生都能看懂的算法書:《我的第一本算法書》

3.數(shù)據(jù)結(jié)構(gòu)?
數(shù)據(jù)結(jié)構(gòu)的重要性相信不需要強調(diào)了,不僅是工作后必備的技能,如果未來要參加研究生考試也是必考科目和拉分項。入門的話推薦《大話數(shù)據(jù)結(jié)構(gòu)》,這本書詼諧有趣,在不知不覺中讓你掌握了數(shù)據(jù)結(jié)構(gòu),再推薦一本稍稍難一點的《數(shù)據(jù)結(jié)構(gòu)和算法分析》。
4.操作系統(tǒng)
只要我們使用計算機,就會和操作系統(tǒng)打交道,接受它的審核與反饋。很多“熱門”的技術(shù)話題,背后都離不開操作系統(tǒng)。比如:
Nginx 的高并發(fā)性為什么能實現(xiàn)?
MySQL 的 I/O 性能到底怎樣提升?
Redis 中經(jīng)典的 Reactor 設(shè)計模式由什么技術(shù)支撐?
Node.js 的 I/O 模型長什么樣?
甚至,在一個數(shù)十萬行代碼的大項目中,仍然會遇到一些基礎(chǔ)性的問題,比如內(nèi)存為什么會泄漏,服務(wù)進程為什么會 dang 掉,文件為什么打不開等等。

5.計算機網(wǎng)絡(luò)
如果你要入門 HTTP,首先最好書籍就是《圖解 HTTP》了,作者真的做到完完全全的「圖解」,書籍不厚,相信優(yōu)秀的你,幾天就可以看完了。

學(xué)習(xí)前的準備都有哪些?
下載和安裝
盡量去官方網(wǎng)站下載你要的軟件。(過時的軟件如vc++6.0顯然沒辦法去官網(wǎng)下載了)很多搜索引擎都會將你要搜索軟件的官網(wǎng)標注出來??吹匠鰜淼乃阉鞔鸢噶斜砗竺娓鷤€“官網(wǎng)”準沒錯,后面跟個“廣告”就基本可以跳過了。有的沒收錄官網(wǎng)的,就需要用經(jīng)驗判斷了。
在網(wǎng)頁上找軟件時,注意你點的東西是不是一張圖片,而且這張圖片的角落還寫著“廣告”兩個字。如果是,這個顯然是不能下載你想要的東西的。
下載站里面,如果遇到什么高速下載器下載,通通無視掉,只管找普通下載的渠道。當然,現(xiàn)在很多下載站流行留百度網(wǎng)盤鏈接或者公眾號掃碼獲取下載鏈接,這兩者一般都是沒啥問題的(不保證無毒),就是麻煩而已。
安裝軟件時,如果你看到是個啥下載器,建議直接關(guān)閉,重新找資源。
安裝軟件時不要一直點下一步,多注意安裝界面每一步可以用鼠標打勾勾的東西,如果這些后面是些安裝xxx的,去掉選中,就不會安裝了。當然自啟一般也都去掉比較合適,快速啟動欄看需求。

安裝系統(tǒng)
搞個虛擬機軟件,試用幾十天十幾天都無所謂,反正安裝系統(tǒng)要不了多久。
具體怎么找虛擬機軟件,去各種論壇、博客、知乎之類的平臺找資源就好。
后續(xù)在 windows 編程學(xué)習(xí)過程中,也可以用虛擬機來完成一些比較“危險”的操作。
學(xué)會裝 windows 之后,也可以試著裝 Linux 甚至是 Mac 。
有些勸新人用 Mac 或者 Linux ,這沒什么不好,但是大多數(shù)人用 Windows 會更合理。如果你電腦用得很熟,上 Mac 或者 Linux 那肯定沒問題。
然而很多課程上老師準備的課程資料只有 win 版本的,其他系統(tǒng)的可能要自己去找,而且還不一定契合課程,萌新會很痛苦的。

了解你的操作系統(tǒng)
很多時候,我們與其說用電腦做事,不如說我們在用操作系統(tǒng)做事。
事實上很多編程語言都會用到系統(tǒng)層面的接口,而操作系統(tǒng)本身的設(shè)計也是遵循許多有助于編程的原則的。
首先你要搞明白文件是個什么東西,文件和文件夾區(qū)別是什么,文件的后綴有什么用?
擴展一下,比如 MP3 和 m4a 都能播放音樂, MP4 和 avi 都可以播放視頻, png 和 jpg 都可以顯示圖片……
你要明白剪貼復(fù)制之類的是什么意思,鼠標左鍵和右鍵有什么用,滾輪除了瀏覽網(wǎng)頁還可以關(guān)閉瀏覽器標簽頁……
你要去接觸你系統(tǒng)上盡可能多的功能,比如用 cmd 命令提示符來關(guān)機、用 Ctrl + R 來打開軟件、使用 Win10 的搜索功能來查找文件和應(yīng)用……
了解CPU、內(nèi)存、顯卡、硬盤等硬件有啥用。
不說精通,你至少要用電腦跟用紙筆一樣熟練。

進大廠的要求
要想畢業(yè)就進大廠,本科拿到月薪15K以上,碩士拿到25K以上,做好以下這些很重要:
選定一門主攻的基礎(chǔ)語言方向,比如Python、C、Java等,并真正攻克它;
算法和數(shù)據(jù)結(jié)構(gòu):數(shù)組、鏈表、二叉樹、堆棧、排序算法、B+/B-樹、DP(動態(tài)規(guī)劃)等;
瘋狂刷題,撒比算法題、Leetcode等等,都挺不錯,刷起來
計算機網(wǎng)絡(luò):HTTP、DNS、ARP、TCP、IP、ICMP、UDP等;
操作系統(tǒng):IO、存儲器、多線程/多進程、同步機制、處理器調(diào)度及死鎖、設(shè)備管理、通道等;
計算機組成原理:馮諾依曼計算機組成、計算機層次結(jié)構(gòu)、計算機性能指標等;

多實踐多上機,機房要常去
抓住一切可以實習(xí)的機會,是否有實習(xí)經(jīng)歷往往是大廠給不給offer的分水嶺
以上其實是大廠面試官的考核范圍,并且他們之間有前置知識點的相關(guān)性,簡單點說:不會基礎(chǔ)語言不會算法和數(shù)據(jù)結(jié)構(gòu),你肯定沒法刷題,也沒法看懂計算機網(wǎng)絡(luò)和操作系統(tǒng)、組成原理等等。
重點強調(diào)下算法,非常重要,無論是讀研讀博深造還是通過大廠的面試,算法都是必須的。
以上就是今天的分享,希望對大家有幫助~

另外,對現(xiàn)在我們的大多數(shù)朋友來說還是學(xué)編程技術(shù)最重要!栽一棵樹最好的時間是十年前,其次是現(xiàn)在。對于準備學(xué)習(xí)編程的小伙伴,如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開始!
微信公眾號:C語言編程學(xué)習(xí)基地
整理分享(多年學(xué)習(xí)的源碼、項目實戰(zhàn)視頻、項目筆記,基礎(chǔ)入門教程)
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!
