在學完了C/C++語法以後,我相信不少朋友都會比較迷茫,到底應該學什麼?mysql
其實總結起來無非就是:面試
一、網絡編程;算法
二、操做系統;sql
三、數據庫;數據庫
四、數據結構與基礎算法;編程
上一篇文章中咱們講到了網絡編程以及操做系統,那麼今天,咱們接着給你們分享數據庫和數據結構部分!數組
主要是MySQL、MongDB、Redis、Nginx等;微信
在大學的課程裏,通常都會開設一門數據庫的課程,不過這門數據庫是沒有針對某一種數據庫語言的(例如 MySQL、SQlite)。不過我這裏只講 MySQL,由於最頻繁。數據庫不在多。網絡
把MySQL學好,仍是特別重要的,千萬不能停留在會用的層面上,而是應該要了解一下原理,特別是對於要面試的同窗,會問挺多原理,不必定要寫得很號,可是須要知道一些原理,像騰訊、阿里面試時,面得最多的就是MySQL。下面就說說一些知識以及推薦的學習資料吧。數據結構
對於 MySQL,須要學的還挺多的,例如,
一、一條 sql 語句是如何執行的?進行更新時又是怎麼處理的?
二、索引是如何實現的?多種引擎的實現區別?聚族索引,非聚族索引,二級索引,惟一索引、最左匹配原則等等(很是重要)
三、事務相關:例如事務的隔離是如何實現的?事務是如何保證原子性?不一樣的事務看到的數據怎麼就不同了?難道每一個事務都拷貝一份視圖?MVCC 的實現原理(重要)等等。
四、各類鎖相關,例如表鎖,行鎖,間隙鎖,共享鎖,排他鎖。這些鎖的出現主要是用來解決哪些問題?(重要)
五、日誌相關:redolog,binlog,undolog,這些日誌的實現原理,爲了解決怎麼問題?日誌也是很是重要的吧,面試也問的挺多。
六、數據庫的主從備份、如何保證數據不丟失、如何保證高可用等等。
還有一些經常使用命令也要知道。下面就是關於mysql面試題的思惟導圖。
推薦書籍:連 sql 都不會寫的,推薦《SQL必知必會》,接着推薦《MySQL從入門到精通》。
數據結構指的是「一組數據的存儲結構」,算法指的是「操做數據的一組方法」。
數據結構是爲算法服務的,算法是要做用再特定的數據結構上的。
最經常使用的數據結構預算法:
數據結構:數組、鏈表、棧、隊列、散列表、二叉樹、堆、跳錶、圖、Tire樹
算法: 遞歸、排序、二分查找、搜索、哈希算法、貪心算法、分治算法、回溯算法、動態規劃、字符串匹配算法
論面試,我以爲操做系統+計算機網絡+數據庫 + 數據結構算法這四大塊是問的最多的,因此我寫了這些。但願對你們有幫助。其餘C/C++方面以及面試方面的知識筆者也會慢慢分享出來哦~
若是你想更好的提高你的編程能力,進入到百度騰訊等大廠工做,好好學習C/C++編程知識成爲高薪軟件開發工程師的話!那麼你很幸運~
C語言C++編程學習交流圈子,QQ羣1090842465【點擊進入】微信公衆號:C語言編程學習基地
分享(源碼、項目實戰視頻、項目筆記,基礎入門教程)
歡迎轉行和學習編程的夥伴,利用更多的資料學習成長比本身琢磨更快哦!
編程學習書籍:
編程學習視頻: