數組和鏈表的區別?
數組和鏈表的應用場景?
拋開java,數組和鏈表的在內存中表示的區別?
如果銀行需要一個用戶的鏈表(優先級排序),新來一個用戶,計算出優先級(根據一些算法),如何在鏈表中快速
定位,不遍歷整個鏈表。 (我回答的是折半查找,面試官說跳躍表)
什麼是跳躍表 (我瞭解過,我回答的是犧牲空間換取時間效率的一種數據結構,redis中也有)
java中有哪個數據結構用了跳躍表
什麼是二叉排序樹,什麼是紅黑樹?
知道哪些排序算法?
說一下快速排序和歸併排序以及他們的應用場景?
線程和進程的區別和應用場景?
線程太少線程太多好不好?
爲什麼redis是單進程還特別快?
現代操作系統是怎麼使用線程和進程的?
計算機網絡體系結構?
http content-type屬於那一層? (應用層)
tcp 和 udp的區別?
tcp斷開連接爲什麼有4次分手?
String爲什麼不可變?
String底層的char數組用什麼修飾?
什麼是內存可見性 (我回答了volatile相關知識)
垃圾收集算法?
說下標記清除算法、標記整理算法
什麼是泛型
用20字表述你對泛型的理解
什麼是擦除
泛型在jvm裏怎樣表示的
大概就這些,有些記不太清楚了。
最後面試官的建議:
不要好高騖遠
可以不讀框架源碼,要通讀jdk源碼,學會造輪子
注重算法數據結構,操作系統,計算機網絡
注重基礎