拒掉菜鳥offer之後,5面阿里螞蟻金服(Java面經分享)

拒掉菜鳥offer之後,5面阿里螞蟻金服(Java面經分享)

 

螞蟻金服中間件二號機

一面:

  • 自我介紹
  • 講一下ArrayList和linkedlist的區別,ArrayList的擴容方式,擴容時機。
  • hashmap的實現。
  • NIO瞭解麼,講一下和BIO的區別,AIO呢。阻塞,非阻塞,異步。具體。
  • 你說了解分佈式服務,那麼你怎麼理解分佈式服務。
  • 你說了解Tomcat的基本原理,瞭解的是哪一部分,基本架構,connector和container
  • 你在項目中怎麼用到併發的
  • docker和虛擬機講一下。
  • 有啥想問的

二面:

  • 項目
  • 說一下Spring源碼把,它的架構,流程。
  • Spring的bean如果要在實例化過程中修改其某一個成員變量,應該怎麼做呢。不通過構造方法,並且AOP也並不能實現。
  • Tomcat的類加載器瞭解麼,回答不瞭解只瞭解Java的類加載器。
  • 自定義類加載器怎麼實現,其中哪個方法走雙親委派模型,哪個不走,不走的話怎麼加載類(實現findclass方法,一般用defineclass加載外部類),如何才能不走雙親委派。(重寫loadclass方法)
  • 布隆過濾器瞭解麼,講了ip地址過濾的布隆過濾器實現。
  • 聽說你項目用過docker,講一下docker的實現原理,說了虛擬機一般要對內核進行虛擬化,docker則用cgroup和namespace分別進行硬件和命名空間的隔離。
  • 項目中遇到的最大挑戰。
  • 項目中學到最多的東西
  • 有什麼想問

拒掉菜鳥offer之後,5面阿里螞蟻金服(Java面經分享)

 

螞蟻財富面經(1+2+交叉+HR)

跟這邊的部門主管說了一下之前面試的情況,然後他幫忙催了下進度。

一面:

  • 億級ip地址過濾
  • 排序算法和適用場景
  • 數據庫的事務有什麼用
  • 數據庫的悲觀鎖和樂觀鎖
  • 數據的索引有什麼用,怎麼實現
  • 聯合索引的匹配原則
  • 數據庫萬級變成億級,怎麼處理。分庫分表,分片規則hash和取餘數。使用mycat中間件實現。
  • redis這種nosql和mysql有什麼區別,講了一遍redis
  • Spring瞭解不,用到了哪些設計模式,說了四個,單例,工廠,代理,觀察者,模板其實也算。
  • web請求的過程,講了瀏覽器到http服務器的過程,再講了mvc的請求處理過程。
  • 你的職業規劃

二面:

沒有二面,好像說是跳過了一輪,直接技術主管面。

三面:

  • 項目中的多線程,爲什麼用chm,還有什麼可以避免併發問題。
  • 平時在看什麼,寫什麼博客,我說分佈式,關注什麼內容,大後端,Hadoop生態。
  • dubbo瞭解麼
  • dubbo的基本架構,幾個組件說一下
  • 服務生產者和消費者怎麼進行rpc調用
  • 怎麼進行服務註冊發現 zk實現具體說說
  • dubbo的負載均衡怎麼做,講一下具體代碼實現。
  • dubbo的服務容錯怎麼做,怎麼知道服務器宕機了 zk的心跳機制維持服務器連接
  • 好了我要問的差不多啦。

交叉面:

隔壁部門的技術主管,問了一道算法題。。就沒問別的了。。我也是很醉。。。

題目是鏈表的排序,扯了4、5種方案,轉成數組,直接排序,拆分再排序,順序連接等等。。然後我表示不能再優化了。他就說沒別的問題了。。。有點吃驚

HR面:

  • 興趣愛好
  • 三年到五年的職業規劃
  • 意向公司和城市
  • 實習經歷和收穫
  • 實習中最大的困難
  • 爲什麼換公司,爲什麼拒絕菜鳥實習offer
  • 你的缺點和優點
  • 你覺得你比其他人優秀的地方說三個
  • 爲什麼想來我們部門
  • 巴拉巴拉