高德后端
過往面試題,沒過
1. 自我介紹
2. 有沒有自己做過項目
3. 小紅書離職原因
4. HashMap底層數(shù)據(jù)結(jié)構(gòu)
鏈表樹化的條件【鏈表長度大于8,map容量超過64】
為什么這么設(shè)計【結(jié)合內(nèi)存開銷和性能考慮】
key一直有沖突,怎么辦
5. 介紹ConcurrentHashMap
6. 說下CAS和synchronized鎖的區(qū)別?
7. Java的垃圾回收機制?
8. 項目介紹
數(shù)據(jù)存儲是單表存儲的嗎,表的數(shù)據(jù)上限是多少,存一個億可以嗎?
單表超過5kw行或者容量超過2GB,考慮分庫分表
訂單表數(shù)據(jù)量很多,怎么做分庫分表鍵?分庫分表了解嗎?
分庫解決并發(fā)量大,數(shù)據(jù)庫的連接數(shù)量有限,如果分庫了,用戶怎么知道請求打在哪個機器上了
分表把訂單、物流、商品、會員等單獨放到單獨的數(shù)據(jù)庫中
9. MySQL底層數(shù)據(jù)結(jié)構(gòu)?為什么用B+樹?為什么不用B樹
10. MySQL聚簇索引了解嗎?有什么方式能不回表?
select id name from table where name ='ls' -- 不回表
select * from table where name ='ls' -- 回表
11. MVCC了解嗎,可以解決為什么問題,不同隔離級別下MVCC的處理方式有什么不一樣
12. Redis在項目中的使用場景
13. Redis除了分布式鎖還能做什么
如何做限流,如何實現(xiàn)