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