阿里現場面試(一):
- B樹、存儲模型(B樹、B+樹與數據庫引擎這塊是熱門問題)
- 字典樹構造及其優化與應用
- 持久化數據結構,序列化與反序列化時機
- 大規模文本文件,全是單詞,求前10詞頻的單詞(Top k問題是熱門問題)
- 堆排序與其在求10詞頻問題中的應用
- 字典樹與其在統計詞頻上的應用
- 紅黑樹的特性與其在C++ STL中的應用
- 紅黑樹的調整
- 貪心算法與其弊端
- 能取得全局最優解的算法
- 動態規劃的原理與本質(動態規劃dynamic programming是筆試熱門題型)
- 01揹包問題的詳細解釋
- 數據庫中join的類型與區別
- 數據庫的ACID
- 實現bitmap數據結構,包括數據的存儲與插入方式
- 實現unordered_map,鍵為string,value不限
- 實現unordered_map過程中的衝突解決辦法
- 一串int型整數存放磁盤上的壓縮存儲方式,包括寫入與讀取及內存無法一次性讀取時的解決辦法
- 對Java的瞭解
- Bloom過濾器處理大規模問題時的持久化,包括內存大小受限、磁盤換入換出問題(Bloom過濾器是熱門問題)
- 線程池的瞭解、優點、調度處理方式和保護任務隊列的方式
- 對象複用的瞭解
- 零拷貝的瞭解
- Linux的I/O模型(I/O模型是熱門問題)
- 異步I/O的詳細解釋
阿里現場面試(二):
- 線程池對線程的管理方式,包括初始化線程的方法、線程創建後的管理、指派任務的方式
- 同步I/O與異步I/O的區別,包括如何定義異步I/O、I/O實質上交給誰完成、如果實現異步
- Direct I/O 和其與異步I/O的區別
- Linux內核如何調用Direct I/O
- Bloom過濾器的優點與原理
- 字符串hash成狀態位的具體實現方式
- hash函數如何保證衝突最小
- 文件讀寫使用的系統調用
- 文件讀寫中涉及的磁盤緩衝區與其手動flush問題
- 數據庫join的具體含義
騰訊電話面試(一):
- C和C++的特點與區別
- C++的多態
- 虛函數的實現
- C++內存分配
- 幾大存儲區
- Python的特點
- Python有哪些實現(此處是指CPython、Jython等)
- CPython的解釋執行過程
- Python裡面垃圾回收是怎樣的
- Python多線程介紹
- 多線程可以使用多核嗎
- 協程的瞭解
- cgi的瞭解
- http協議get和post的區別
- 進程間通信方式
- 建立TCP服務器的各個系統調用
- 處理多個套接字的I/O複用介紹
- epoll為什麼更快
- 虛擬內存的概念與介紹
- 單鏈表的倒置
- 快速排序的優化
- 字符串匹配算法
- TCP的三次握手與四次揮手的詳細介紹
- TCP的超時等待的介紹
- 流量控制的介紹
- 數字證書的瞭解
- http和https的區別
- 對數據庫包括其引擎的區別與瞭解
- 數據庫索引的作用(數據庫索引是熱門問題)
今日頭條
現場一面 & 現場二面:
- 算法題1:無序數組查找第Top k元素。手寫代碼實現
- 算法題2:並查集。手寫代碼實現
- Python中range與xrange的區別
- 算法題3:鏈表反轉。手寫代碼實現
- git merge與rebase的區別
現場一面
- 算法題1:枚舉給定數組中的所有非遞減子序列。敲代碼運行
- 算法題2:枚舉給定數組的全排列。敲代碼運行
- 介紹I/O複用技術,epoll優於select的原因
- 介紹線程池
- 圖的鄰接矩陣和鄰接表的表示,鄰接表的數據結構。敲代碼不運行
現場二面
- 算法題1:給定二叉樹,假設相連接的兩結點間距離為1,求所有結點中距離其他所有結點距離和最小的結點。敲代碼運行
- 介紹C ++內存管理(C ++的內存模型是熱門問題)
- 對文件系統的瞭解
現場三面
- 算法題1:給定數組,快速求出所有數右邊第一個比其大的數。回答思路
- 算法題2:給定k個數組,每個數組都是有序的,且每個數組最大值-最小值<1000,1
- 進程與線程區別
- STL內存分配
閱讀更多 優知學院 的文章