1. 程式人生 > >今日頭條面試

今日頭條面試

演算法

頭條果然演算法問的多啊

兩個陣列,分別遞增,如何實現兩個數組合並在一起,還保持增序?
K個數組呢?
演算法複雜度多少?
用二維陣列實現(好蛋疼啊)

這個用堆排序或者歸併,複雜度O(NK*logK);

求二叉樹的最大路徑和,路徑裡的節點度最大為2
遞迴分情況討論,一個叉和兩個叉

Java

HashMap擴容,ConcurrentHashMap擴容
一些執行緒在寫的過程中,如何擴容?(用synchronize實現,鎖住每個連結串列頭結點,一個執行緒在複製過程中,如果遇到鎖住的節點,那麼就會卡住,必須等釋放鎖,才能繼續執行,這樣可以複製完全部節點)
Java併發程式設計
JVM垃圾回收、資料區域、記憶體模型

資料庫

MYSQL索引原理
B+樹和B-樹

作業系統

LRU缺頁編寫(佇列實現)