八年老程序員嘔心瀝血分享,面試中的幾點建議和京東Java後端研發面試真題

金三銀四已經告一段落了,你是否還在尋找沒有「996」的公司,或者你在面試上面摘了跟頭?準備了體體面面的自我介紹,敗在了技術深度上;又或者技術知識背得完徹底全,卻輸在了面試技巧。程序員

小編周圍有些作架構師和作HR的好友,向他們了了解了一下一些近期面試的趣聞和規則,如下整理出十條心得供你們參考。面試

一、千萬不要裸面

不作任何隨便寫份簡歷就出去面試,掛的機率高達90%以上,除非你特別牛。算法

二、簡歷書寫,不要以爲簡歷描述清楚就好了

一樣的一我的,普通的簡歷和優化後的簡歷,面試官對你的定位和問的問題也是不同的。
這個是我親身體驗,我以前拿着一份普通簡歷出去面試,面試官就只能把你當成一個普通的3年經驗的來面,問一些特別基礎的問題。就算你知道不少東西,可是面試官根本不問。
而優化後的簡歷,面試官一看這簡歷寫的這麼牛逼,先隨便問幾個問題,你都能回答不錯。
而後,就直接開始問底層源碼、架構設計等比較open的問題,這樣對你的定位和檔次一下就上去了。數據庫

三、精心準備2個你作過的項目

對於你寫在簡歷上的項目,必定要反覆的梳理。對項目的業務邊界、技術架構必須瞭然於胸,並且用到的技術都保證不能被問倒設計模式

四、Java基礎

基礎的重要性我就很少說了,可是我想說的是,像集合、線程、volatile、鎖、網絡IO等這些,不要停留到網上博客的那種表面程度。
必需要深刻到源碼級別,這樣才能突出,跟其餘候選人拉開差距。緩存

五、數據庫的各類機制

ACID、事物隔離級別以及原理、索引原理、常見分庫分表姿式等安全

六、JVM裏的各類東西

分代、回收算法、垃圾回收器搭配和對比優劣、線上問題排查、類加載等等。
這些東西,最低要求都要流暢的說出來,可是若是要和其餘候選人拉開差距,還要突出亮點。網絡

好比,我以前作過垃圾回收器的調優,從CMS換到G1。數據結構

我把CMS的分代、垃圾回收算法過程這些基本東西說完以後,而後說出CMS有兩大缺點:一個是會產生內存碎片,另外一個是會產生浮動垃圾。
而後就開始說爲何會產生這兩大缺點?由於這兩大缺點會怎麼樣?(致使RT升高);而後換成G1以後有啥優勢?
接着再把那些原理噴一遍,調優以後性能上有多少多少的提高,這在面試官心中檔次一下就上來了,跟其餘候選人拉開了差距。架構

七、框架

你使用過的框架都要作到了然於胸吧,Spring最基本的IOC、AOP、Spring事務必定得看過吧。
Mybatis、Tomcat經常使用的姿式要知道,Redis常見的部署方案、集羣原理、持久化機制、5種數據類型對應的底層數據結構。
Reactor模型運起色制、常見的緩存問題解決方案。

Dubbo、ZooKeeper的使用姿式和基本原理要知道吧。若是你研究過這種RPC的源碼,不管是Dubbo仍是SpringCloud全家桶,那就更好了,直接說出來,碾壓面試官,讓面試官聽你聊。

八、分佈式相關的問題

若是研究過大數據相關的框架那就更好了,絕對的加分項
好比,我深刻研究過Kafka的底層機制,以前面試螞蟻的時候,直接就問我Kafka的底層:

  • 若是讓我來設計,如何保證消息零丟失。直接從三個可能丟消息的階段說出如何設計來保證

還有分佈式鎖常見的方案要知道、分佈式事務經常使用的方案都要研究過吧。

好比:面試螞蟻的時候,就問我TCC的機制,直接說出使用姿式,使用場景,使用TCC的優缺點

九、算法

這個字節跳動面試問的多一點,不過這方面能多掌握點都是好的,不怕一萬就怕萬一。

最後還有一點,就是面試過程當中必定必定要有自信,給面試官一種特別有底氣,作什麼事都沒問題的感受。

以上就是這段時間走來的一些經歷感悟總結,但願對你們有一些做用!

下面是一份高級Java研發崗面試真題,能夠參考下。

  1. HashMap爲何不是線程安全的?
  2. ConcurrentHashmap底層實現?
  3. 線程池(包含什麼,core、max聯繫)原理?
  4. Synchronized原理?
  5. Volatile原理?
  6. JMM(主內存、工做內存、happens-before)是什麼?
  7. 有哪些無鎖數據結構?無鎖實現的原理?
  8. 設計模式(裝飾器設計模式、代理模式、單例模式、工廠模式)
  9. Dubbo設計思路、netty原理是什麼?
  10. 說下一次RPC請求的過程
  11. MySQL怎麼建立合理索引、索引怎麼優化?
  12. B+tree怎麼分裂、何時分裂、爲何是平衡的?
  13. MySQL事務實現原理,ACID實現原理
  14. MySQL怎麼優化table scan?
  15. 算法:有3n+1個數字,其中3n箇中是重複的,只有1個是不重複的,怎麼找出來?
  16. Dubbo的底層實現原理和機制?
  17. 分佈式系統怎麼作服務治理?
  18. 接口的冪等性的概念介紹下

對於現目前我這邊也整理了適合1~5年程序員進階的一些面試真題(含答案)還有些Java進階必備知識架構資源以及一些阿里大牛精講的視頻資源,現免費分享給你們。但願對大家有點幫助。還有學習線路知識腦圖。須要的均可以加入合做Q羣Java進階之路:908676731,免費獲取。

相關文章
相關標籤/搜索