一面
一面偏架構方面
1、介紹一下自己,講講項目經歷
2、你們項目中微服務是怎麼劃分的,劃分粒度怎麼確定?
3、那在實踐微服務架構中,有遇到什麼問題麼?
4、你們在關於微服務間數據一致性問題,是如何解決的?
5、你們為什麼不用其他的MQ,最終選擇了RokcetMQ?
6、為什麼RocketMQ沒有選擇ZooKeeper,而是自己實現了一個NameServer集群?
7、嗯,理解的不錯,Zookeeper在選舉的過程中,還能對外提供服務麼?
8、對Paxos算法瞭解多少?
9、如果讓你來設計一個春晚搶紅包架構,你會怎麼設計?
10、有什麼想問我的?
大概聊了40分鐘左右~
二面
二面有點偏底層和算法
1、扯了下項目、講一下項目經歷
2、你們用了redis,redis的底層數據結構瞭解多少?
3、知道動態字符串sds的優缺點麼?
注:sds為redis底層數據結構之一
4、redis的單線程特性有什麼優缺點?
5、用過 Redis 的哪些數據結構, 分別用在什麼場景?
6、你們怎麼解決緩存擊穿問題的?
注:估計答了Hytrix
7、Hytrix的隔離機制有哪些?Hytrix常見配置是哪些?
8、自己做過哪些調優?JVM調優、數據庫調優都行!
9、給了個場景,問你怎麼調
10、一道算法題,具體題目忘了,在給出的鏈接中作答~
三面
1、講講自己基礎掌握情況,以及項目經歷
2、平時會用到哪些數據結構?
3、鏈表和數組的優缺點?
4、解決hash衝突的方法有哪些?
5、講講自己對HashMap的理解,以及和Weakhashmap的區別?
6、你剛才講的是JDK1.7版本的實現,知道JDK1.8做了哪些改動麼?
7、你們在微服務中用RPC通信還是REST?
8、RPC和HTTP的關係是什麼?
9、知道HTTP1.0和1.1的區別麼?
10、談談什麼是HTTP的長連接和短連接?
11、TCP的三次握手和四次揮手,以及為什麼要三次握手,而不是二次?
12、TCP 有哪些狀態,相應狀態的含義
13、讓你評價一下你自己?
然後問了下面試官還有幾輪,面試官說不一定!
四面
1、依然是介紹自己
2、你們數據庫的高可用架構是怎麼樣的?
3、如何保證數據庫主從一致性?
4、知道mysql的索引算法麼?
5、為什麼mongodb的索引用了B樹,而mysql用B+樹?
6、用mysql過程中,有遇到什麼問題麼?
7、你們生產用的是哪種事務隔離級別,為什麼?
8、談一談你對微服務架構的理解
9、你用過哪些RPC框架,講講他們優缺點
10、用過docker麼,對容器瞭解多少
11、有什麼問我的?
作者:孤獨煙
原文:轉載自公號,孤獨煙,已獲作者授權
閱讀更多 Java識堂 的文章