螞蟻金服中間件二號機
一面:
- 自我介紹
- 講一下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分別進行硬件和命名空間的隔離。
- 項目中遇到的最大挑戰。
- 項目中學到最多的東西
- 有什麼想問
螞蟻財富面經(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
- 你的缺點和優點
- 你覺得你比其他人優秀的地方說三個
- 為什麼想來我們部門
- 巴拉巴拉
最後
分享一些我的學習筆記和整理的一份JAVA核心知識點(JVM,JAVA集合,JAVA多線程併發,JAVA基礎,Spring原理,微服務,網絡,Zookeeper,Kafka,RabbitMQ,MongoDB,設計模式,負載均衡,數據庫,一致性哈希,JAVA算法,數據結構,加密算法,分佈式緩存)
注意注意:需要我在文章分享的這些資料的朋友請私信“面試”免費領取,小編會一一回復大家的哦~
閱讀更多 妖精的雜七雜八 的文章