螞蟻金服中介軟體,一大波面經來襲!助Java程式設計師一臂之力
螞蟻金服中介軟體一號機
一面:
自我介紹
1、Java中的多執行緒瞭解麼,執行緒池的增長策略和拒絕策略瞭解麼,說一下。
2、講一下執行緒增加的過程和拒絕策略的執行。
3、講了一下fixthreadpool的增長策略,然後幾種拒絕策略。
4、高併發情況下,如何使用執行緒池,用哪個,問了一下執行緒結束要多久,是否在下一個執行緒結束前完成(我想的是cachethreadpool,其實思路錯了)。
5、表示併發量比較大,所以我說可以考慮併發量是否大於佇列長度加上最大執行緒數量和,如果不超過的話可以是用fixthreadpool。
6、併發juc瞭解麼,有哪些執行緒安全的list。說了個copyonwritelist,想了半天說不出第二個了。尷尬,那就vector把,不是juc裡的。
貌似併發包裡確實沒有其他list啊。
還問了concurrenthashmap1.8的改動。
7、HTTP協議瞭解麼,和tcp有什麼區別。
8、http1.0和2.0的區別。
答了TCP連線複用,加入ssl,以及壓縮請求頭。
其中哪個更新比較有意義,為什麼。我說的是壓縮請求頭,這樣可以優化HTTP服務的效能。
9、Java的網路程式設計,比如NIO和Socket瞭解麼。
說下BIO和NIO的區別把。
我說了BIO的阻塞用法,以及NIO的IO多路複用用法,說了selector,seletedkey,channel等類的使用流程,以及單執行緒處理連線,多執行緒處理IO請求的好處。
10、說一下NIO的類庫或框架
講了netty,寫過服務端和客戶端的demo,沒有在生產中實踐。
channelhandler負責請求就緒時的io響應。
bytebuf支援零拷貝,通過邏輯buff合併實際buff。
eventloop執行緒組負責實現執行緒池,任務佇列裡就是io請求任務,類似執行緒池排程執行。
acceptor接收執行緒負責接收tcp請求,並且註冊任務到佇列裡。
11、倒排索引瞭解麼,我說不了解。
其實就是搜尋引擎的基礎索引,根據關鍵字到文件的對映關係建立索引,中文關鍵字可以使用中文分詞,查詢時通過關鍵字來定位索引,並且進行排序後得到文件結果集。
然後面試官說講一下資料庫把,說下sql優化的方式
我說的是MySQL,先講了一下sql使用索引的優化,然後基於索引說了幾條優化方案。
12、索引什麼時候會失效變成全表掃描
說了聯合索引的字首匹配,跳躍索引,聚合函式,判空和<>這些情況。
13、分散式的paxos和raft演算法瞭解麼
瞭解過,但是講不清楚。
paxos:多個proposer發請提議(每個提議有id+value),acceptor接受最新id的提議並把之前保留的提議返回。當超過半數的accetor返回某個提議時,此時要求value修改為propeser歷史上最大值,propeser認為可以接受該提議,於是廣播給每個acceptor,acceptor發現該提議和自己儲存的一致,於是接受該提議並且learner同步該提議。
raft:raft要求每個節點有一個選主的時間間隔,每過一個時間間隔向master傳送心跳包,當心跳失敗,該節點重新發起選主,當過半節點響應時則該節點當選主機,廣播狀態,然後以後繼續下一輪選主。
14、中介軟體知道哪些,阿里的dubbo,rocketmq的事務訊息,問了TCC回答說這個之前沒看明白。
說了mycat實現分表分庫,訊息佇列kafka和rabbitmq等。
15、平時看什麼書,怎麼學習的。還跟我說他們部門3個華科的,校友多多。
16、Spring和Springmvc講一下。講了Spring的ioc和aop,Springmvc的基本架構,請求流程。
螞蟻金服中介軟體二號機
一面:
1、 自我介紹
2、 講一下ArrayList和linkedlist的區別,ArrayList的擴容方式,擴容時機。
3、 hashmap的實現。
4、 NIO瞭解麼,講一下和BIO的區別,AIO呢。阻塞,非阻塞,非同步。具體。
5、 你說了解分散式服務,那麼你怎麼理解分散式服務。
6、 你說了解Tomcat的基本原理,瞭解的是哪一部分,基本架構,connector和container
7、 你在專案中怎麼用到併發的
8、 docker和虛擬機器講一下。
9、 有啥想問的
螞蟻金服中介軟體二面
1、 專案
2、 說一下Spring原始碼把,它的架構,流程。
3、 Spring的bean如果要在例項化過程中修改其某一個成員變數,應該怎麼做呢。不通過構造方法,並且AOP也並不能實現。
4、 Tomcat的類載入器瞭解麼,回答不瞭解只瞭解Java的類載入器。
5、 自定義類載入器怎麼實現,其中哪個方法走雙親委派模型,哪個不走,不走的話怎麼載入類(實現findclass方法,一般用defineclass載入外部類),如何才能不走雙親委派。(重寫loadclass方法)
6、 布隆過濾器瞭解麼,講了ip地址過濾的布隆過濾器實現。
7、 聽說你專案用過docker,講一下docker的實現原理,說了虛擬機器一般要對核心進行虛擬化,docker則用cgroup和namespace分別進行硬體和名稱空間的隔離。
8、 專案中遇到的最大挑戰。
9、 專案中學到最多的東西
10、 有什麼想問
螞蟻財富事業部
一面:
1、 億級ip地址過濾
2、 排序演算法和適用場景
3、 資料庫的事務有什麼用
4、 資料庫的悲觀鎖和樂觀鎖
5、 資料的索引有什麼用,怎麼實現
6、 聯合索引的匹配原則
7、 資料庫萬級變成億級,怎麼處理。分庫分表,分片規則hash和取餘數。使用mycat中介軟體實現。
8、 redis這種nosql和mysql有什麼區別,講了一遍redis
9、 Spring瞭解不,用到了哪些設計模式,說了四個,單例,工廠,代理,觀察者,模板其實也算。
10、 web請求的過程,講了瀏覽器到http伺服器的過程,再講了mvc的請求處理過程。
11、 你的職業規劃
二面:
沒有二面,好像說是跳過了一輪,直接技術主管面。
三面:
1、 專案中的多執行緒,為什麼用chm,還有什麼可以避免併發問題。
2、 平時在看什麼,寫什麼部落格,我說分散式,關注什麼內容,大後端,Hadoop生態。
3、 dubbo瞭解麼
4、 dubbo的基本架構,幾個元件說一下
5、 服務生產者和消費者怎麼進行rpc呼叫
6、 怎麼進行服務註冊發現 zk實現具體說說
7、 dubbo的負載均衡怎麼做,講一下具體程式碼實現。
8、 dubbo的服務容錯怎麼做,怎麼知道伺服器當機了 zk的心跳機制維持伺服器連線
9、 好了我要問的差不多啦。
交叉面:
隔壁部門的技術主管,問了一道演算法題。。就沒問別的了。。我也是很醉。。。
題目是連結串列的排序,扯了4、5種方案,轉成陣列,直接排序,拆分再排序,順序連線等等。。然後我表示不能再優化了。他就說沒別的問題了。。。有點吃驚。
HR面:
1、 興趣愛好
2、 三年到五年的職業規劃
3、 意向公司和城市
4、 實習經歷和收穫
5、 實習中最大的困難
6、 為什麼換公司,為什麼拒絕菜鳥實習offer
7、 你的缺點和優點
8、 你覺得你比其他人優秀的地方說三個
9、 為什麼想來我們部門
歡迎工作一到五年的Java工程師朋友們加入Java填坑之路:860113481
群內提供免費的Java架構學習資料(裡面有高可用、高併發、高效能及分散式、Jvm效能調優、Spring原始碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)合理利用自己每一分每一秒的時間來學習提升自己,不要再用”沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!
相關文章
- 螞蟻金服招聘中介軟體 Go 語言專家Go
- 【實習】螞蟻金服中介軟體實習生招聘
- 我的阿里研發面經合集(阿里中介軟體,螞蟻金服)| 掘金技術徵文阿里
- 速來圍觀老田的螞蟻金服Java面試經歷!Java面試
- [杭州]螞蟻中介軟體團隊招Go工程師Go工程師
- 螞蟻金服或將啟動上市,又有一大批程式設計師實現財富自由了程式設計師
- [廣州]螞蟻金服中介軟體團隊誠招Go,地點廣州天河Go
- 螞蟻金服研發的金融級分散式中介軟體SOFA背後的故事分散式
- 招聘貼:螞蟻金服招Java研發Java
- 對話魯直:螞蟻金服中介軟體的開源頭羊 | 穿山甲專訪
- 螞蟻金服面試經歷-前期準備面試
- [從原始碼學設計]螞蟻金服SOFARegistry 之 ChangeNotifier原始碼
- 螞蟻金服月薪35K的Java程式設計師是怎樣煉成的?(漲薪必備技能)Java程式設計師
- 螞蟻金服十年自研分散式中介軟體,成就世界級新金融科技平臺分散式
- 螞蟻金服面試經歷-臨場發揮面試
- [從原始碼學設計]螞蟻金服SOFARegistry之服務上線原始碼
- 螞蟻金服面對億級併發場景的元件體系設計元件
- [從原始碼學設計]螞蟻金服SOFARegistry之延遲操作原始碼
- [從原始碼學設計]螞蟻金服SOFARegistry之推拉模型原始碼模型
- [從原始碼學設計]螞蟻金服SOFARegistry之配置資訊原始碼
- 開源 | 螞蟻金服分散式中介軟體開源第三彈: 下一代微服務SOFAMesh分散式微服務
- 螞蟻金服RPC框架SOFA-RPC - 初體驗RPC框架
- 螞蟻金服RPC框架SOFA-RPC初體驗RPC框架
- 螞蟻金服 Service Mesh 實踐探索
- (螞蟻金服mPaaS)統一儲存
- 螞蟻金服RPC框架結構分析RPC框架
- 螞蟻金服 Service Mesh 深度實踐
- 9.9螞蟻金服二三輪面試面試
- 分享2019年螞蟻金服面經(已拿Offer)!附答案!!
- 開篇 | 螞蟻金服 mPaaS 服務端核心元件體系概述服務端元件
- 招聘貼:螞蟻金服招Java研發及前端開發Java前端
- [從原始碼學設計]螞蟻金服SOFARegistry 之 LocalDataServerChangeEvent及資料同步原始碼LDAServer
- [從原始碼學設計]螞蟻金服SOFARegistry之訊息匯流排原始碼
- [從原始碼學設計]螞蟻金服SOFARegistry之續約和驅逐原始碼
- [從原始碼學設計]螞蟻金服SOFARegistry之Data節點變更原始碼
- [從原始碼學設計]螞蟻金服SOFARegistry之時間輪的使用原始碼
- 招聘貼:螞蟻金服招前端開發前端
- 【北京】Golang技術專家--螞蟻金服Golang