面試前,先找面經哥,點擊此處查看更多面經
面試公司:小紅書 面試職位:后端開發工程師 整體評價:已拿offer 📝面試題:
【一面】
講一下MySQL優化
1、索引優化的細節
2、前綴索引原理
3、MySQL是如何選擇合適的索引的,如where里用到字段a,表中有索引a和(a,b)
4、覆蓋索引原理
5、如何知道覆蓋索引是否生效
異步的理解
1、如果同時有3個耗時操作A、B、C,如何異步化
2、如果需要操作完A,再異步操作B、C呢
3、Future如何實現caller的
4、ForkJoin是什么
JVM調優經驗
1、GC了解嗎,那你是如何定位Full GC的?有哪些原因?
2、代碼題:實現StringBuilder
【二面】
1、介紹項目的業務場景
2、為什么要用istio呢
3、如果有一個集群,暴露一個域名,用istio怎么轉發到后面的分片
4、TLS原理
5、HTTPS原理
6、Java多線程,說一下自己有了解過哪些實現
7、ConcurrentHashmap的實現
8、volatile Object[] arr,線程T1修改了arr,線程T2看得到嗎
9、Future的實現有了解嗎
10、線程池,說下corePoolSize、maximumPoolSize、BlockingQueue的作用
11、BlockingQueue細節,存的是任務還是線程
12、如果使用一個LinkededBlockingQueue會導致什么問題
13、線程T2修改變量,主線程調用t2.join(),可以看到線程T2的變量嗎
14、Full GC如何排查
15、如果線上有個偶發的bug:一個線程輸入之后導致死循環,這時候應該如何去排查
16、Spring AOP原理
17、了解哪些垃圾回收器。說下G1和CMS的區別。G1的好處是什么
18、寫代碼:對稱二叉樹
19、最近在了解哪些技術
【三面】
1、介紹你部門的業務情況(開放性題目)
2、介紹做的項目(開放性題目)
基本是圍繞Istio提問
1、服務治理做了什么事情
2、istio的原理
3、如果請求的時間比較長,如何排查是sidecar導致的
4、Istio做服務注冊
5、sidecar轉發原理
6、數學題,寫出代碼 一個口袋里有兩個硬幣,一個是正常的硬幣,正反不同圖案,另一個是作弊硬幣,正反面相同圖案。 你沒有看過這兩個硬幣。現在你從口袋里拿出了一個硬幣,把這一個硬幣連續拋了5次,觀察發現都 是同一個圖案向上。請你現在反推你拿出的硬幣是正常的硬幣的概率是多少。