面試官上來第一句,又是學(xué)Java的1、Java鎖有哪些2、可重入鎖應(yīng)用在什么場景3、什么數(shù)據(jù)結(jié)構(gòu)可以實現(xiàn)二分查找,答的一堆有序表和平衡樹還有跳表,他說數(shù)組不也可以嗎,你歸納下有什么特點4、HashMap查找過程5、如果給你一個HashMap,并發(fā)場景下get和put要加鎖嗎(他說就如果加鎖也只加簡單的互斥鎖),為什么6、如果HashMap桶中只有一個元素,會走equals判斷嗎,回答會,為什么,舉個具體例子7、ReentrantLock Fair和Unfair有什么區(qū)別,為什么Fair效率低,Unfair效率高8、Redis集群了解嗎,怎么確定數(shù)據(jù)應(yīng)該放在哪個槽上的,說詳細點9、怎么保證Redis和數(shù)據(jù)庫數(shù)據(jù)一致性的,具體怎么做,如果數(shù)據(jù)長時間不一致是什么原因(不考慮網(wǎng)絡(luò)問題、機器問題)10、數(shù)據(jù)庫的四個特性,都解釋下11、你項目上寫的RocketMQ延時消息實現(xiàn)庫存回滾怎么做的,業(yè)務(wù)場景說詳細點12、你項目上的ElasticSearch是用來干嘛的13、反問,有沒有雙休,答有