一面:
個人介紹加項目介紹20分鐘
微服務架構是什么,它的優缺點?
ACID CAP BASE理論
分布式一致性協議,二段、三段、TCC,優缺點
RPC過程
服務注冊中心宕機了怎么辦?
微服務還有其他什么組件
分布式架構與微服務的關系
你有什么問題要問我的?
二面:
各種排序算法、未排序常規數據查找第K大的數,時間復雜度。
二叉樹的深度
虛擬內存分頁了解不?
進程和線程區別?
第一二三范式是什么?
一個表一千個列值為true和false,寫sql 查詢 有300個列值為true的行。
臟讀和幻讀是什么?
什么對象會從新生代晉升到老年代
一個任務分成十個任務,最后匯總計算,不能用fork/join
開源框架源碼了解不?
數據建模兩道、個人題開放性題
對安全方面了解多少?
安全協議有哪些 、https是啥?
介紹你做的項目和其中的難點。
三面:
從ConcurrentHashMap一路問到鎖&鎖優化->LongAdder->偽共享->緩存行填充->cas等諸多技術細節;
從hystrix一路問到原理->自己如何實現->如何優化->響應流編程(reactive streams);
從簡單的生產者消費者模式設計到如何高效健壯實現等等。
四面:
如何倒序輸出單向鏈表?
個人直接想法是用棧先進后出的特點,把鏈表數據讀到棧里然后輸出。
有更好的實現方式嗎?
主要問項目情況,然后根據一個項目,問如果量級擴大1000倍,你會怎么做?有哪些優化措施?高性能&高可用措施?
五面:
個人的職業規劃是什么?
你遇到的最大問題或者是困難是什么?
你如何看待我們公司?
你能為我們公司帶來什么?
你的優缺點是什么?
面試總結:
技術基礎必須扎實:算法、數據結構、操作系統等,很多大平臺面試對技術的基礎非常重視,基礎扎實的同學有利于在前兩輪突出重圍。
技術寬度:主要集中在高并發、多線程、分布式架構,大以及常用中間件(緩存等)的選型和比較。
技術原理深入:重點還是提前準備好JVM、多線程高并發這塊。
參與的項目總結:你需要清楚你所做項目的關鍵細節、優化、特點、原理。
很多所用第三方庫&中間件等的原理,即使你不知道,也要有自己的想法能夠說出如何代替實現,比如單點登錄的替代方案。
來源:CSDN網