怎么用C++做后臺開發(fā)技術(shù)
C++做推薦系統(tǒng)、搜索引擎的后臺開發(fā),那么你知道如何做后臺開發(fā)技術(shù)呢?下面由學習啦小編為大家整理的C++后臺開發(fā),希望大家喜歡!
C++后臺開發(fā)
1. C++基本的認識,問得比較多的是指針、多態(tài)(虛函數(shù)表、內(nèi)存 layout等)、作用域、內(nèi)存的管理等等。(通常只有宣稱熟悉 C++或者簡歷中有很多 C++項目的人,我才會把這個當做一個重要的方面考察;對語言細節(jié)研究不深入,或者一直用其它語言比如 go/java 之類的,那也無妨,這塊可以稍微放寬要求。)
2. 算法和數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)我比較關(guān)注哈希、優(yōu)先級隊列等,算法則是字符串處理、簡單的 DFS、BFS、動態(tài)規(guī)劃都有
3. 系統(tǒng)的知識:進程、線程、協(xié)程、鎖的使用、消息隊列、共享內(nèi)存、還有網(wǎng)絡(luò)協(xié)議、epoll、select等。順便會考察一些處理問題的基本思路,比如通過哈希來劃分、通過隊列來序列化操作等等。此外,往往很多同學的項目經(jīng)歷中,有很多點可以結(jié)合系統(tǒng)的知識來考察,看看是否真的做過項目。比如我就碰到過自己寫過 web server 的,搞過 key-value 數(shù)據(jù)庫的,聲稱讀過 redis 源碼的,這些很適合配合系統(tǒng)知識考察,確認是不是真的做過這些項目,理解如何。
C++后臺開發(fā)技術(shù)
1.c++的基本知識,主要是一些c++特性的東西,問的比較多的是c++多態(tài)、虛函數(shù),特別喜歡問vector與List的原理。
2.多線程相關(guān),多線程主要問高并發(fā)、通信,然后還有鎖相關(guān)的東西,
3.數(shù)據(jù)庫方面的知識,數(shù)據(jù)庫主要是一些常用sql的編寫,怎樣提高數(shù)據(jù)庫的性能,mysql與oralce的特性等。
4.網(wǎng)絡(luò)通信,主要是TCP/IP和Http,TCP/IP就是幾次握手,可能會手寫簡單的客戶端服務(wù)端的實現(xiàn),Http主要問一些Http協(xié)議中的東西,比如Http的格式,最喜歡問get和post的區(qū)別
5.linux的會問一些常用命令,比如查看進程、查看網(wǎng)絡(luò)、權(quán)限修改等等,然后就是gcc相關(guān)的東西,可能還會問一些c++在linux與windows開發(fā)下有哪些不同,需要注意什么。
C++后臺方向開發(fā)
1. vector增長模式
2. 虛函數(shù)表
3. 函數(shù)指針復(fù)雜形式的識別
4. HASH的設(shè)計
5. 幾個常用工具的使用,gdb,gcc,git