第一次發(fā)面經(jīng),希望能攢點人品!1.介紹一下hashmap2.hashmap是線程安全的嗎?3.為什么在8的時候樹化?4.介紹一下垃圾回收算法5.請介紹一下ZSet底層數(shù)據(jù)結構6.ZSet適用于什么場景?7.如何確保線程安全?8.樂觀鎖和悲觀鎖的區(qū)別9.不使用鎖如何確保線程安全10.Syncronized底層原理11.索引底層的數(shù)據(jù)結構12.B+樹和B樹的區(qū)別13.B樹能應用在什么場景14.TCP粘包問題八股好像就這么些,基本上都答出來了算法題如下:public class Item { public int id; public int parentId; private String name; public Item(int id, int parentId, String name) { this.id = id; this.parentId = parentId; this.name = name; } public Item() { }}public class CategoryRsp extends Item { public List<CategoryRsp> child; // 構造方法 public CategoryRsp(int id, int parentId, String name, List<CategoryRsp> child) { super(id, parentId, name); this.child = child; } public CategoryRsp(){ super(); }}寫一個函數(shù),輸入一個parentId,獲取CategoryRsp,(要求成員變量里面的列表包含這個parentID的子節(jié)點及子節(jié)點的子節(jié)點)括號里面的這句話是我自己加上去的,一開始看這個題目一直看不懂什么意思,直接寫錯,浪費了很多時間,后面面試官講解了下,一開始說給我30分鐘時間,結果我做了45分鐘都沒做出來,知道用遞歸做,沒做出來,講了下思路。我辛辛苦苦刷了100道力扣,他竟然不給我手撕力扣,還是自己太菜了。下午收到郵件已掛