1. 程式人生 > 其它 >透過根源從而探究紅黑樹的本質,面試篇

透過根源從而探究紅黑樹的本質,面試篇

透過根源從而探究紅黑樹的本質,面試篇

一面

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.你的職業規劃是什麼樣的?

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

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

最後

本人也收藏了一份Java面試核心知識點來應付面試,藉著這次機會可以免費送給我的讀者朋友們

目錄:

Java面試核心知識點

一共有30個專題,足夠讀者朋友們應付面試啦,也節省朋友們去到處搜刮資料自己整理的時間!有需要的朋友戳這裡即可免費獲取

Java面試核心知識點

已經有讀者朋友靠著這一份Java面試知識點指導拿到不錯的offer了,各位讀者朋友們快來免費獲取吧