阿里螞蟻金服中介軟體6輪面試!實拍題目和6點血淚總結!
螞蟻金服一面:分散式架構 50分鐘
1、個人介紹加專案介紹20分鐘
2、微服務架構是什麼,它的優缺點?
3、ACID CAP BASE理論
4、分散式一致性協議,二段、三段、TCC,優缺點
5、RPC過程
6、服務註冊中心宕機了怎麼辦?
7、微服務還有其他什麼元件
8、分散式架構與微服務的關係
9、你有什麼問題要問我的。
螞蟻金服二面:1個小時
上來不用自我介紹,專案介紹,直接開始
演算法來兩道
1、各種排序演算法、未排序常規資料查詢第K大的數,時間複雜度。
2、二叉樹的深度
作業系統來兩道
3、虛擬記憶體分頁瞭解不?
4、程序和執行緒區別?
資料庫來三道
5、第一二三正規化是什麼?
6、一個表一千個列值為true和false,寫sql 查詢 有300個列值為true的行。
7、髒讀和幻讀是什麼?
JVM
8、什麼物件會從新生代晉升到老年代
多執行緒
9、一個任務分成十個任務,最後彙總計算,不能用fork/join
10、開源框架原始碼瞭解不?
11、資料建模兩道、個人題開放性題
安全方面的問題
12、對安全方面瞭解多少?
13、 安全協議有哪些 、https是啥?
介紹你做的專案和其中的難點。
三面
個人感覺著重技術深度。
1、從ConcurrentHashMap一路問到鎖&鎖優化->LongAdder->偽共享->快取行填充->cas等諸多技術細節;
2、從hystrix一路問到原理->自己如何實現->如何優化->響應流程式設計(reactive streams);
3、從簡單的生產者消費者模式設計到如何高效健壯實現等等。
四面
1、如何倒序輸出單向連結串列?
2、個人直接想法是用棧先進後出的特點,把連結串列資料讀到棧裡然後輸出。
3、有更好的實現方式嗎?
4、主要問專案情況,然後根據一個專案,問如果量級擴大1000倍,你會怎麼做?有哪些優化措施?高效能&高可用措施?
五面:HR面
給大家丟擲幾大深坑問題:
1、個人的職業規劃是什麼
2、你遇到的最大問題或者是困難是什麼
3、你如何看待阿里
4、你能為阿里帶來什麼
5、你的優缺點是什麼
這幾個問題,大家深思啊,不多說。
面試總結:
1.技術基礎必須紮實:演算法、資料結構、作業系統等,螞蟻金服面試對技術的基礎非常重視,基礎紮實的同學有利於在前兩輪突出重圍。
2.技術寬度:主要集中在高併發、多執行緒、分散式架構,大以及常用中介軟體(快取等)的選型和比較。
3.技術原理深入:重點還是提前準備好JVM、多執行緒高併發這塊。
4.參與的專案總結:你需要清楚你所做專案的關鍵細節、優化、特點、原理。
5.很多所用第三方庫&中介軟體等的原理,即使你不知道,也要有自己的想法能夠說出如何代替實現,比如單點登入的替代方案。
6.最好,提前準備一個大資料訪問,比如pv擴大1000倍,你的架構或者技術方案應對措施。
7.最後,千萬不要倒在HR面試環節,避重就輕是重點,特別是優點和缺點,如果問到你的規劃是什麼,請記得一定告訴HR你想成為一名優秀的技術專家!
以上就是我的6總結,這些都是不斷面試積累來的經驗,分享出來避免更多同學少走彎路,早日進入BAT等一線網際網路公司!
如果你現在在技術上面遇到了瓶頸,在技術方面得不到進展,你都可以加群:795632998,群內提供免費的Java架構學習資料(裡面有高可用、高併發、高效能及分散式、Jvm效能調優、Spring原始碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)合理利用自己每一分每一秒的時間來學習提升自己