苦熬面經三月終收螞蟻金服offer後,他說他累不想幹這一行了

被面試人是我的一位粉絲近期剛剛結束了螞蟻金服的三輪技術面試,面完之後他跟我說很累,直言不想再體驗了。

他的面試經歷我仔細看了看,一面重點在基礎知識的考查,二面重點在項目以及對框架的使用與理解上,三面壓力面,是很熟悉的套路,考察的知識點也是經常問到的,具有一定的參考價值,接下來我們就來看看他的這幾輪面試經歷吧。

一面

1.你覺得項目中用了MQ給你帶了什麼好處,設計初衷是什麼?會帶來什麼缺點嘛? (項目針對性比較強,不細說)

2.在網頁鍵入taobao.com,到返回一個頁面,這期間都發生了什麼?

3.你說到了session和cookie,這兩者有什麼區別,應用場景是啥?

4.返回界面的文字,圖片,鏈接,你覺得是從哪裏來的,或者說儲存在哪裏?

5.描述一下TCP三次握手,這期間可以攜帶數據嗎?攜帶了數據會造成什麼後果?

6.描述一下四次分手,第二次和第三次中間處於何種狀態?

7.說一下object類的所有方法以及他們的功能(真的是所有: clone, notify/all,finalize,wait, hashcode, equals, tostring, getclass )

8.抽象類和接口有什麼區別?說一下你的個人理解。

9.詳細說一下final關鍵字,修飾變量,方法,類都有什麼不同?能想到什麼具體應用場

景嗎?

10.說一下equals方法,hashmap的底層,跟hashtable,concurrentHashMap都什麼 區別

11.靜態分派和動態分派的區別?具體應用場景?

12.1 .8concurrentHashMap有什麼變化,優化的意義在哪?

13. hashmap除 了結點數大於8,還有什麼情況會樹化(這個我沒想出來,也可能是我沒聽清楚)

14. hashcode方 法有什麼特點? hashset的底層是如何實現的?爲什麼用hashmap?

15.說說JVM內存結構(這裏要問清楚是JMM還是運行時常量池)

16.你剛說1.8後方法區移動到內存中變成元空間,爲什麼要移過去呢?

17.那爲什麼常量池沒有移動到內存,而是轉移到堆了呢?

18.最後一個問題,說一下線程池的飽和策略

因爲項目中使用到了MQ,所以就順便問了下,好在並沒有提問太過深入的東西,隨後問題幾乎每個都是高頻考點,2、4、5主要考察計算機網絡中的通信過程,例如三次握手/四次揮手,7-14考察Java基礎,隨後就是和JVM以及多線程有關的問題了。有需要的小夥伴可以參考這個進行鍼對性的複習。

二面

1.從項目啓動到現在,介紹一下你的工作以及遇到的難點,怎麼解訣的?

2.講一下微服務架構都有哪些模塊?他們是怎麼一起工作的?

3.讓你實現一個eureka,你會怎麼實現?

4.用戶認證,爲什麼要用JWT,而沒用session-cookie, 應用場景?優劣?加密用的是什麼算法?

5.爲什麼使用rabbitMQ,沒用別的mq?

6.說一說你項目應用了什麼設計模式?適配器模式什麼應用場景?

7.讓你實現AOP,你怎麼實現?

8.spring事務有了解嗎?是如何傳播的?在你項目裏的實際業務中是如何傳播的?

9.例如有ABC三個事務,分別原子性,整體也原子性,A事務出錯回滾,整體事務也會回滾,你會怎麼設計呢?

10. ZooKeeper有 瞭解嗎? redis和Mencache的選型問題?

11.你之前的webServer項目介紹一下整個流程?你是如何做的多線程? socket相關?

12.你怎麼使用線程池?參數怎麼選擇?

13.你寫線程的時候會給他們起個可愛的名字嗎?爲什麼要起?線程錯誤排查工具用過哪些?

14. spring framework都有哪些模塊?你使用到了哪些模塊?怎麼使用的?

15.使用的時候有沒有對某模塊功能進行擴展?

16.說一下集合類(線程安全角度)

到了二面,就會發現提問的重點發生了明顯的變化,從之前的基礎知識變成了項目架構方面的,這一輪考察的是平常學習過程中對於架構的使用與理解,現在都偏愛微服務架構,那是否思考過背後的原理?天天在用Spring,你對他到底又有多少認知呢?都知道消息隊列好,那好在哪?這些東西都是實際的項目中能接觸到,但是又經常會被忽略的東西,就看你是不是一個有心人了。

三面

1.詳細介紹一下點雲擴增工具項目

2.你對分佈式架構有什麼理解?

3.你的項目中或在學習過程中有沒有遇到過很難的點?然後專心研究去解決掉他的

4.周圍有沒有優秀的人?有沒有值得你學習的點,並且你現在跟着做的?

5.平時看什麼書?

6.有沒有根據興趣學習過一些額外的計算機知識,Al領域7 ,

7.在github研究過哪些開源項目?

8.你的職業規劃是什麼樣的?

三面是壓力面,所謂壓力面是指面試官有意製造緊張氣氛,以瞭解求職者將如何面對工作壓力。面試人通過提出生硬的、不禮貌的問題故意使候選人感到不舒服,針對某一事項或問題做一連串的發問,打破沙鍋問到底,直至無法回答。其目的是確定求職者對壓力的承受能力、在壓力前的應變能力和人際關係能力。

這一輪的重點不在於對技術的考察,而在於對人的考察。我一直認爲,面試最重要的是將你的核心競爭力擺上檯面。之所以會問你基礎知識,是因爲技術能力是你的核心競爭力之一,但並不只是技術。如果面對壓力,如何與人相處,是否有探索精神,這些都是很重要的,畢竟每個老闆都喜歡越有壓力就越有動力的員工吧。

總結

總的來說,這三次面試是很經典的套路,一面基礎,二面架構,三面個人。我看完後覺得很有參考價值,便徵求了原作者的同意分享給大家了。雖然他只面了這一家,但事後他說,如果可以,寧願再也沒有面試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章