你們好,我是白雲。c++
有個粉絲朋友私信問我:今年剛高考完,想報計算機專業,想暑假自學,應該怎麼學?今天老白就針對這個問題好好聊聊,以前也聊過自學這塊說的也很全,但今天針對學生這個全體好好聊聊。程序員
目錄面試
二、算法windows
3.數據結構 設計模式
4.操做系統數組
5.計算機網絡瀏覽器
學習前的準備都有哪些?markdown
主要學習如下五個方向:
雖然你只有很小几率在工做以後用到它,但它依然無比重要。C Primer反覆看,而後一行行在電腦上敲出來。
C語言最難懂的是指針,這個暑假掌握仍是比較難的,內存是什麼,指針的本質是什麼,程序爲何會崩潰,這些問題弄懂了基本就通了。
推薦如下C+書籍:
《C++ primer》《Essential c++》 《C++編程思想》 《effective C++》《more effective C++ 》《Think in C++》《C++ primer plus》《C++ coding standard》。
算法挺難,但不管是學習計算機專業仍是將來找工做,它都無比重要。
推薦一本高中生都能看懂的算法書:《個人第一本算法書》
數據結構的重要性相信不須要強調了,不只是工做後必備的技能,若是將來要參加研究生考試也是必考科目和拉分項。入門的話推薦《大話數據結構》,這本書詼諧有趣,在不知不覺中讓你掌握了數據結構,再推薦一本稍稍難一點的《數據結構和算法分析》。
只要咱們使用計算機,就會和操做系統打交道,接受它的審覈與反饋。不少「熱門」的技術話題,背後都離不開操做系統。好比:
甚至,在一個數十萬行代碼的大項目中,仍然會遇到一些基礎性的問題,好比內存爲何會泄漏,服務進程爲何會 dang 掉,文件爲何打不開等等。
若是你要入門 HTTP,首先最好書籍就是《圖解 HTTP》了,做者真的作到完徹底全的「圖解」,書籍不厚,相信優秀的你,幾天就能夠看完了。
搞個虛擬機軟件,試用幾十天十幾天都無所謂,反正安裝系統要不了多久。
具體怎麼找虛擬機軟件,去各類論壇、博客、知乎之類的平臺找資源就好。
後續在 windows 編程學習過程當中,也能夠用虛擬機來完成一些比較「危險」的操做。
學會裝 windows 以後,也能夠試着裝 Linux 甚至是 Mac 。
有些勸新人用 Mac 或者 Linux ,這沒什麼很差,可是大多數人用 Windows 會更合理。若是你電腦用得很熟,上 Mac 或者 Linux 那確定沒問題。
然而不少課程上老師準備的課程資料只有 win 版本的,其餘系統的可能要本身去找,並且還不必定契合課程,萌新會很痛苦的。
不少時候,咱們與其說用電腦作事,不如說咱們在用操做系統作事。
事實上不少編程語言都會用到系統層面的接口,而操做系統自己的設計也是遵循許多有助於編程的原則的。
首先你要搞明白文件是個什麼東西,文件和文件夾區別是什麼,文件的後綴有什麼用?
擴展一下,好比 MP3 和 m4a 都能播放音樂, MP4 和 avi 均可以播放視頻, png 和 jpg 均可以顯示圖片……
你要明白剪貼複製之類的是什麼意思,鼠標左鍵和右鍵有什麼用,滾輪除了瀏覽網頁還能夠關閉瀏覽器標籤頁……
你要去接觸你係統上儘量多的功能,好比用 cmd 命令提示符來關機、用 Ctrl + R 來打開軟件、使用 Win10 的搜索功能來查找文件和應用……
瞭解CPU、內存、顯卡、硬盤等硬件有啥用。
不說精通,你至少要用電腦跟用紙筆同樣熟練。
要想畢業就進大廠,本科拿到月薪15K以上,碩士拿到25K以上,作好如下這些很重要:
以上實際上是大廠面試官的考覈範圍,而且他們之間有前置知識點的相關性,簡單點說:不會基礎語言不會算法和數據結構,你確定無法刷題,也無法看懂計算機網絡和操做系統、組成原理等等。
重點強調下算法,很是重要,不管是讀研讀博深造仍是經過大廠的面試,算法都是必須的。