後臺開發包括的知識點很多,包括語言基礎,演算法,linux程式設計基礎,linux核心,網路,資料庫,分散式等等。面面俱到很難,一個領域鑽研的很深也很難。我認識的大神裡有把C++語言吃的非常透的,也有實驗室就是搞分散式的,拿offer都非常輕鬆。
offer 位元組跳動後臺開發ssp
網易遊戲遊戲研發ssp
阿里雲基礎平臺開發
華為15級頂薪
騰訊後臺開發ssp
當時也就投了上面幾家,其他的都沒投 我是從研一的寒假開始準備應聘,當然自己探索的路上走了不少彎路。列舉一下自己的學習內容中我自己認為對找工作或者對提升自己非常有幫助的一些書或資料,僅供參考~
基礎知識 《C++ Primer》,應該算是工具書,但我花了3個月一個字一個字啃完了,現在能記住的沒幾個了,但是好在全看完就不用看Effective C++了,基本都包含在內了。
《STL原始碼剖析》,很老的書了,很多內容都過時來了,比如空間配置器,但是面試官還是會問……可以跟面試官講講ptmalloc的實現。整本書都是重點。
《深度探索C++物件模型》,雖然基本只會問虛擬函式的實現,看一篇部落格也能應付面試,但是還是建議多看幾遍。
《Effective C++:改善程式與設計的55個具體做法》還有more effective C++,建議快速看一下。
STL和物件模型我都看了3遍以上,因為太容易忘了,Effective C++只是快速瀏覽了一遍,發現基本都包含在Primer裡了。
網路,除了本科學過的(《計算機網路 自頂向下方法》),我看了《TCP/IP詳解卷1》12-16章,其它部分看書太麻煩了,直接從部落格裡看了。
linux環境程式設計apue和unp兩本是必須的,因為太厚了,看起來還是有點痛苦的,但是不需要全看,而且內容重疊很多。unp卷1前面8章是重點,卷2前面4部分都挺重要的,apue全部,先是要有個概念,自己寫程式碼的時候就知道哪塊重要了。
linux核心,我買了《深入理解linux核心》發現啃不動,後來看了《linux核心設計與實現》,非常推薦,外加一大堆部落格,《深入理解計算機系統》講的東西比較簡單,這個可以作為一個補充,面試官問的很多作業系統相關的問題書中都有涉及。
此外,《後臺開發:核心技術與應用實踐》是騰訊的員工寫的,這本書評價比較差,幾乎都是抄的部落格,但是內容上總結的很好(我覺得就是給校招的同學寫的),都是後臺開發需要的基礎知識的總結,這本書中內容所代表的知識,基本都是騰訊的C++後臺開發工程師所必備的基礎,可以作為一個複習提綱。
《Linux多執行緒伺服器端程式設計》,陳碩的書,我看了3.4遍,原始碼也讀了3.4遍,收穫非常多。前面部分是後臺開發的一些經驗之談,對面試也很有用。
《Redis設計與實現》看完感覺也特別好,很值得學習,可以很快就看完。有很多重要的資料結構可以在面試的時候講出來,比如跳錶、redis的 hash表啦~
《深入理解Nginx》我也看了一部分,nginx太經典了,很多面試官也都提到過。
短小精悍的原始碼還非常推薦leveldb,對照部落格把leveldb原始碼看完不需要多長時間(我花了兩個周吧),但是收穫非常多。在此基礎上還可以瞭解一下rocksdb。
除此之外,還看過一些其它的書,感覺不值得推薦就不寫了。
書是比較系統性的東西,部落格通常是總結性的東西,也是對書中內容的一個補充吧。好多東西面試會問到,但是書中很難找到解答,對照著網上的面經搜部落格吧。我看了下自己收藏夾裡的光是收藏的部落格就已經上百篇了,當然還是不能完全覆蓋面試官會問到的問題。(大佬收藏的部落格已經整理好了,微信公眾號“菜鳥名企夢”後臺回覆 大佬筆記 即可獲取)
演算法 我只刷了Leetcode上的500多題(小聲BB一句,牛逼了),但是第一遍不會的題都標記了,後面又刷了很多遍。《劍指offer》這種書不太建議看,很囉嗦,解答也不如LeetCode上的高票解答。直接幹刷其實還有點無聊的,每週日上午做一下leetcode的周賽也是個不錯的選擇,另外 Top 100 Liked Questions 可以重點關注一下。
寫了一個靜態Web伺服器,主要是找實習的時候用的,參考了muduo網路庫,面騰訊、阿里、位元組跳動、網易、微軟都被問到了,騰訊阿里每一面的70%的時間都在問這個。
這個專案在面試過程中被問到的問題也到記錄在其中了,僅供參考。
秋招因為有了實習經歷,基本都是問實習期間做的事情了。
建議不要細讀我的程式碼了,直接看muduo的程式碼去學習吧,但你可以看看我markdown裡總結的東西,看一下我做了什麼,另外這個也只是幫我應對了春招實習招聘,作為一個例子供大家參考。
知識點文件 附一個我自己的春招實習之前整理的一些比較難記的知識點的文件,目錄有超連結,可以直接點過去:
文件已經幫大家下載好了:微信公眾號“菜鳥名企夢”後臺回覆 大佬筆記 即可獲取
大神答疑 問題一:大神是自學的嗎?如何平衡實驗室任務?
答:如果你們實驗室的方向和你想找的工作的方向一致,就好好做唄。。不過貌似大多數實驗室的專案都很水,我們實驗室就這樣,水水就過去了,別花太多精力,我也是幫老師發了兩篇論文一篇專利,還solo了一個橫向專案,現在想想根本不用那麼認真的嘛
問題二:陳碩這本書感覺一開始讀起來好費勁啊,大神怎麼看的?
陳碩這本書是我收穫最多的一本書了,emmmm,這本書講他的程式碼的部分是需要花點時間去理解的,前後多看幾遍就好了
問題三:最後去哪了?
答:阿里雲,阿里雲是純技術的組,加班較少,杭州租房也便宜,薪資談的也比較滿意
問題四:樓主請問找後臺開發一般要準備幾個專案呢 如果是不相關的專案對面試幫助大不大呢?
答:一個相關的就能懟天懟地懟一切了,我簡歷上有個完全不相關的影像處理的專案只被問過一兩次,也只是介紹了一下,還有個微信小程式的後臺專案,也沒被問過(不知道為啥),我分享的那個WebServer,春招找實習的時候基本所有的面試官都在問,而且大部分時間都在問這個
問題五:請問後臺資料庫需要學麼
答:emmm 我找實習之前唯一沒好好看的就是資料庫了,說來也是巧合,現在在阿里雲做的就是資料庫。我的簡歷裡沒寫資料庫相關的內容,也基本沒被問到過,但是我感覺,你簡歷裡得有其它能吸引面試官的東西,畢竟每個人擅長的領域都不一樣,我看之前牛客有個人面經裡全是分散式的東西,一樣拿很多offer啊
問題六:看完這些書以及做這個專案花了多久的時間?
答:我那個伺服器寫了很久,主要是踩了太多坑,沒看muduo之前,照著自己的想法探索,模型都是錯的,看了muduo又開始改啊改,前後改了6版。包括之前看書,也踩了很多坑,有很多厚書其實是工具書像C++primer這種,沒必要一頁一頁看的,我花了太多時間。我是從研一的寒假開始的,找完實習就沒怎麼複習了,你可以參考一下
掃描下方二維碼,及時獲取更多網際網路求職面經、java、python、爬蟲、大資料等技術,和海量資料分享:公眾號後臺回覆“csdn”即可免費領取【csdn】和【百度文庫】下載服務;公眾號後臺回覆“資料”:即可領取5T精品學習資料、java面試考點和java面經總結,以及幾十個java、大資料專案,資料很全,你想找的幾乎都有
推薦閱讀