這個系列計劃收集幾百份朋友和讀者的面經,作者合集方便查看,各位有面經屯著可以聯系我哦
本系列歷史文章:
關于我的那些面經——百度后端(附答案)
《關于我的那些面經》滴滴Java崗(附答案)
朋友面神策數據庫,第五個問題不會,直接再見
美女學姐面了美團阿里京東,這些經驗實在太真實了
學姐騰訊產品面經
學姐總結奇安信18k常問面試題
?
(1)、B樹、存儲模型
(2)、字典樹構造及其優化與應用
(3)、持久化數據結構,序列化與反序列化時機(4)、在無序數組中找最大的K個數?
(4)、大規模文本文件,全是單詞,求前10詞頻的單詞
(5)、堆排序與其在求10詞頻問題中的應用
(6)、字典樹與其在統計詞頻上的應用
(7)、紅黑樹的特性與其在C++ STL中的應用
(8)、紅黑樹的調整
(9)、貪心算法與其弊端
(10)、能取得全局最優解的算法
(11)、動態規劃的原理與本質
(12)、01背包問題的詳細解釋
(13)、進程間通信方式
(14)、數據庫中join的類型與區別
(15)、數據庫的ACID
(16)、實現bitmap數據結構,包括數據的存儲與插入方式
(17)、實現unordered_map,鍵為string,value不限
(18)、實現unordered_map過程中的沖突解決辦法
(19)、一串int型整數存放磁盤上的壓縮存儲方式,包括寫入與讀取及內存無法一次性讀取時的解決辦法
(20)、對Java的了解
(21)、Bloom過濾器處理大規模問題時的持久化,包括內存大小受限、磁盤換入換出問題
(22)、線程池的了解、優點、調度處理方式和保護任務隊列的方式
(23)、對象復用的了解
(24)、零拷貝的了解
(25)、Linux的I/O模型
(26)、異步I/O的詳細解釋
(27)、線程池對線程的管理方式,包括初始化線程的方法、線程創建后的管理、指派任務的方式
(28)、同步I/O與異步I/O的區別
(29)、Direct I/O 和其與異步I/O的區別
(30)、Linux內核如何調用Direct I/O
(31)、Bloom過濾器的優點與原理
(32)、字符串hash成狀態位的具體實現方式
(33)、hash函數如何保證沖突最小
(34)、文件讀寫使用的系統調用
(35)、文件讀寫中涉及的磁盤緩沖區與其手動flush問題
(36)、數據庫join的具體含義
(37)、struct與class的區別
(38)、STL庫的介紹
(39)、vector使用的注意點及其原因
(40)、頻繁對vector調用push_back()對性能的影響和原因
(41)、vector重新分配內存的大小與方式
(42)、hashmap的實現方式
(43)、map的實現方式
(44)、C++虛函數的具體實現原理
(45)、實現編譯器處理虛函數表應該如何處理
(46)、析構函數一般寫成虛函數的原因
(47)、解釋哲學家進餐問題
(48)、描述銀行家算法
(49)、實現一種算法解決哲學家進餐問題
(50)、大數量整數的去重問題
(51)、如果用bitmap解決大數量整數去重問題,計算當全為int型整數時需要消耗的內存
(52)、算法題:環形公路上加油站算法問題
現有一圓環形路,路上有n個加油站,第i個加油站儲存有N[i]升容量的油,與下一個加油站之間有一定的距離g[i],一汽車初始無油,假設該車每公里消耗1升油,請問該車從哪個加油站出發可以繞該環形路行駛一圈。
(53)、多個服務器通信,線程池的設定
(54)、哈希表的沖突解決方式
(55)、哈希表在桶固定的情況下,時間復雜度。怎么優化?
(56)、多線程中哈希表保證線程安全
(57)、哈希表特別大,桶特別多的時候怎么加鎖
(58)、C語言變量存放位置
(59)、棧上的分配內存快還是堆上快
(60)、http的長連接和短連接是什么,各有什么優缺點,然后使用場景
(61)、在一個瀏覽器里面輸入一個網址,后回車,在這后面發生了什么?
(62)、進程線程的區別,多進程與多線程的區別
(63)、什么是生產者消費者模型?如果一個人洗碗,另一個人馬上用碗,是生產者消費者模型嗎?
(64)、GET/POST的區別,GET/POST的安全性問題,假如你來實現,你怎么實現GET/POST的安全性
(65)、你做服務器壓力測試時,用什么測試,如何配置參數,吞吐量大小,并發量大小
(66)、類似Nginx這種web服務器是用什么數據結構實現定時器事件的,四叉堆知道是什么嗎,與二叉堆有什么區別?
(67)、動態規劃與貪心算法的區別,什么情況下,動態規劃可以轉換為貪心算法
(68)、說一下快排,快排是穩定的嗎?為什么?哪些排序算法穩定?哪些不穩定?
(69)、數據庫有哪些索引,你知道哪些索引引擎,這些索引引擎有什么區別
(70)、epoll與select的區別,epoll在什么情況下吞吐率比較高?
(71)、非阻塞與異步的區別?
(72)、HTTP1.0和HTTP1.1的區別,服務器端如何判斷是長連接還是短連接?
(73)、HTTP2.0的 新特性,它是如何實現共用一個長連接?
(74)、tcp如何連接到服務器,你如何判斷tcp連接到服務器,你服務器的輸入是什么?
(75)、epoll的底層實現