簡單自我介紹,我於2017年本科畢業,專業是計算機科學與技術,現在在百度從事 linux c++ 大數據服務開發的工作。在校園招聘中一共面試12家公司,拿到了12個offer。其中大部分是c++開發的崗位,除此之外還有java開發。算法,大數據,運維等崗位。
從題主的描述,並沒有說自己現在是大幾或者是研幾,因爲我認爲每個階段應該去接觸什麼樣的知識,以及如何去培養自己的能力側重點是不同的。既然是要找工作,我就暫且認爲題主快要畢業了吧。如果單純是想去找工作,並且是校園招聘,難度其實並不算很大。
其實我以前也和題主有一樣的疑惑,總是很糾結於編程語言的種類,其實工作半年了以後,也就慢慢覺得,不要一直把自己限定於“面向編程語言找工作”:因爲現在在公司開發,不可能只會一門編程語言。於我而言,我主要是做c++服務端開發,可是我同樣也寫javaweb,因爲是數據時代,工作中肯定會用到很多其他的工具,比如我常常寫 python,shell,有些時候還寫ruby,lua和JavaScript。
我根據自己的經驗和經歷給你幾點建議吧。
1.從我上面的描述,可能除了c/c++你首先應該去接觸更多的編程語言,至少你要會寫linux基本命令,shell的基本語法,因爲現在很多互聯網公司的開發環境都是linux的。所以,你可以先學linux。我可以給你推薦相關材料【備註:我推薦的資料都是我看過的,我認爲好我纔會推薦給你】,目前只要簡單理解一下就好,如果現在你使用的是windows系統,那麼就裝個虛擬機學習吧,我讀書的時候裝的是雙系統。
入門:Linux命令行與shell腳本編程大全 第3版【豆瓣評分9.2,不必讀完,看前幾章即可,工具書,可以帶你入門】https://book.douban.com/subject/26854226/
進階:Linux C編程一站式學習【宋勁杉 老師寫的,豆瓣評分9.0,這本書我看完了,設計面非常廣,網絡,操作系統,體系結構,編譯等,可能一開始看起了比較難,不過無所謂,看完之後你會有很大的收穫】https://book.douban.com/subject/4141733/
linux和linux下c編程就先推薦這兩本吧。因爲找工作完全夠了。
如果大家對C/C++感興趣的話,可以加一下我們的學習交流Q羣:637 935 295,免費領取一套學習資料和視頻課程喲~
2.你得了解校招的模式。
與社招不同的是校招一般是“to be used”,而社招一般是“can be used”,也就是說校招進去的學生,不會馬上讓你幹活兒,會給你制定一些培養的課程,而社招進去的人一般馬上就會幹活兒了。所以校招去評判一個人怎麼樣,一般是考驗他的綜合能力,比如知識面,計算機科學相關課程的掌握程度,反應是否夠快,有時候面試還會有數學題,腦經急轉彎等題目,看這個人的性格如何。所以,即便你是找c++的崗位,面試的時候也會問你很多譬如操作系統,數據庫,網絡等相關的知識。所以。你可能需要去複習:操作系統相關的知識,網絡,數據庫。
但是這些都不會考太難的。譬如操作系統等基本都是線程,進程相關問題。
網絡一般就是三次握手,四次揮手,滑動窗口,tcp/ip http等,比較入門的知識
數據庫的話,其實現在用關係數據庫的並不算特別多,其實我認爲題主可以多看看nosql相關的知識。
這裏就不給你推薦書了,書的話,你得看很久,就給你推薦三門課程吧,都是我看過的,並且是全免費的,適合快速入門和深入。
a.操作系統:其實有門清華的課程,挺難的,但是聽好,現在先不推薦給你,先給你推薦個簡單的吧,至少找工作夠用【偏於理論】南京大學計算機操作系統:
b. 網絡技術與應用【比較簡單,我感覺就是爲了面試而準備】
c存儲:
瞭解下mongo吧
https://www.imooc.com/learn/295
3.基本功:數據結構
以前有句老話叫:“程序=數據結構+算法”,所以,可見數據結構與算法的重要性。這裏很容易有一個誤區。算法不等於程序競賽,或者acm。我也不去定義是門是算法,其實現在的數據結構書籍都包含了算法的部分。我只給題主推薦一門課程【清華大學的,免費,我也看完了的,感覺質量很不錯】
清華大學數據結構-鄧俊輝老師
https://www.xuetangx.com/courses/course-v1:TsinghuaX+30240184X+sp/
可以全部看完,真的很好。
4.c++,其實挺難的,如果你真的喜歡,就just do it,還有就是,投簡歷的時候可以多投些崗位,沒必要把自己限定到一門編程語言中。我之前就是應聘了很多崗位。
5.其實就是刷oj了,網站那麼多,都差不多,你隨便選一個就好。
最後:這上面都是推薦的較爲基礎的書籍與課程。書並不是買來了放在那裏就不看的,認真的讀完一本又一本,你肯定可以找到工作。