面面俱到很難,一個領域鑽研的很深也很難。我認識的大神裏有把C++語言吃的很是透的,也有實驗室就是搞分佈式的,拿offer都很是輕鬆。前端
博客(C++後臺/基礎架構)
http://www.linya.pub/java
web服務器開發
直接看muduo的代碼去學習吧,但你能夠看看我markdown裏總結的東西,看一下我作了什麼,另外這個也只是幫我應對了春招實習招聘,做爲一個例子供你們參考。mysql
騰訊員工寫的,據說評價不怎麼樣,能夠看成cpp後臺面試提綱。c++
當析構函數遇到多線程──C++ 中線程安全的對象回調(最新版見《Linux 多線程服務端編程》第1章)git
多線程服務器的經常使用編程模型(最新版見《Linux 多線程服務端編程》第二、3章)github
《Linux 多線程系統編程精要》(第4章)web
Muduo網絡庫使用手冊(2012-06-26更新,最新版見《Linux 多線程服務端編程》第六、7章)面試
《Linux 服務端網絡編程精要——Muduo 網絡庫的設計與實現》(第8章)redis
《分佈式系統的工程化開發》(第9章)
C++ 工程實踐(2012-04-20更新,最新版見《Linux 多線程服務端編程》第十、十一、12章)
網絡編程學習經驗(2012-02-13更新,最新版見《Linux 多線程服務端編程》附錄A)
從《C++ Primer 第四版》入手學習C++(2012-07-11更新,收入《Linux 多線程服務端編程》附錄B)
https://github.com/hoshinotsuki/documents
https://blog.csdn.net/Solstice/article/details/6206154
2019/2/25 更新
面試考點集中在虛函數、虛繼承、vector等容器的底層實現以及一些c++新特性上。
這本書足夠應對全部面試了,主要考點在TCP和UDP區別,TCP三次握手、四次揮手。
個人經驗是有時間就看書,沒時間就看網上博客,由於操做系統的書通常都講的比較晦澀難懂,不如一些好的博客講的更容易讓人理解。面試題主要集中在文件系統、進程線程、進程間通訊、線程同步、程序內存空間這幾個方面。
二叉樹和排序相關算法考的最多,其次是深度優先遍歷、回溯和動態規劃。排序算法比較常考的是快排、堆排、歸併排,還有基於快排和堆排思想的topK算法(這些都要會手寫)。二叉樹主要是樹的前、中、後序遍歷(遞歸和非遞歸,最好能手寫),層次遍歷,樹上兩個節點最遠距離、樹和有序鏈表互相轉化,兩節點最近公共父節點,其餘還有許多,暫時想不起來了。深度優先遍歷(dfs)、回溯、動態規劃主要是筆試題用的多,不過最好可以手寫一些經典算法,好比01揹包、最長公共子序列以及其推導公式。若是感興趣的話能夠了解一下dfs、回溯、貪心以及動態規劃以前的聯繫和區別。
這本書主要是能夠多瞭解一些概念,包括socket編程、各類同步鎖。除此以外能夠看看博客學習一下io多路複用、負載均衡、一致性哈希、線程池、對象池、任務隊列等等。
c++面試對於數據庫的要求沒有java高,我遇到的面試題主要是,redis的5種數據類型、redis的單線程實現、redis集羣高可用;mysql引擎、索引、事務特性、隔離級別、髒讀、幻讀等。
這兩點只是面試中的加分項,時間充裕的話能夠了解一下,在面試中若是有相關經歷,面試官會以爲你是一個很全面的人,適合之後培養。
春招前後在百度和騰訊各實習了3個月,3月份先去了百度的互聯網數據研發部,作一些頁面特徵的提取策略,包括文章評論量、收藏量等;後來6月份去了騰訊的興趣閱讀產品部,作的是推薦系統架構和一些前端的東西。實習對秋招的幫助主要體如今,實習經歷是不少公司秋招提早批的優點條件。面試官會關注你在實習公司的工做表現,在面試時是個很不錯的加分項。同時,實習還能擴展視野,從產品和技術兩個方面理解一個實際項目是如何構思以及落地的。 關於實習,個人建議是能去就儘可能去吧。不過我身邊也有許多沒有實習經歷也能拿到大廠offer的,這個仍是要看我的。若是可以去實習的話,個人建議是不要頻繁的更換實習公司,必定要把本身的實習內容理解透徹,否則面試的時候反而會不利。
1. 一個月學習語言
2. 兩個月學習算法加刷題
3. 兩到三個月學習操做系統、數據庫以及其餘知識順帶刷博客和麪經,半年時間差很少就能夠找個比較不錯的工做了。
根據我的實際狀況,能夠調整本身的學習計劃,我在這裏只是一個很初步的建議。對於想要拿到BAT級別以及更好的offer的同窗能夠在在本身感興趣的方向深挖一下,面試的時候主動引導面試官往本身擅長的方向提問。
我對於offer選擇的建議是部門 > 平臺 > 薪水,在薪水相差不大的狀況下,儘可能去大廠或者核心部門吧。
鵝廠。