春暖花開,Java崗跳槽季,6個(gè)技巧可以大大提升你的面試成功率

春暖花開,宅在家里快兩個(gè)月的在家辦公模式基本告一段落。企業(yè)復(fù)工,大家的工作生活終于可以回歸正軌,相信不少朋友已經(jīng)走出家門,迎戰(zhàn)跳槽季了。一些動作快的朋友已經(jīng)拿到一兩個(gè) Offer 了。

其實(shí),除了表達(dá)能力和面試技巧外,無非就從這些個(gè)方面進(jìn)行準(zhǔn)備:

一、那么專業(yè)技能怎么寫?

先問一下你自己會什么,然后看看你意向的公司需要什么。我說的是一般HR可能并不太懂技術(shù),(當(dāng)然內(nèi)部人員來面試就不一樣了)所以他在篩簡歷的時(shí)候可能就盯著你專業(yè)技能的關(guān)鍵詞來看。對于公司有要求而你不會的技能,你可以提前花幾天時(shí)間學(xué)習(xí)一下,然后在簡歷上可以寫上自己了解這個(gè)技能。比如你可以這樣寫(下面這部分內(nèi)容摘自我的簡歷,大家可以根據(jù)自己的情況做一些修改和完善):

  • 計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)結(jié)構(gòu)、算法、操作系統(tǒng)等課內(nèi)基礎(chǔ)知識:掌握
  • Java 基礎(chǔ)知識:掌握
  • JVM 虛擬機(jī)(Java內(nèi)存區(qū)域、虛擬機(jī)垃圾算法、虛擬垃圾收集器、JVM內(nèi)存管理):掌握
  • 高并發(fā)、高可用、高性能系統(tǒng)開發(fā):掌握
  • Struts2、Spring、Hibernate、Ajax、Mybatis、Redis、JQuery :掌握
  • SSH 整合、SSM 整合、 SOA 架構(gòu):掌握
  • Dubbo: 掌握
  • Zookeeper: 掌握
  • 常見消息隊(duì)列: 掌握
  • Linux:掌握
  • MySQL常見優(yōu)化手段:掌握
  • Spring Boot +Spring Cloud +Docker:了解
  • Hadoop 生態(tài)相關(guān)技術(shù)中的 HDFS、Storm、MapReduce、Hive、Hbase :了解
  • Python 基礎(chǔ)、一些常見第三方庫比如OpenCV、wxpy、wordcloud、matplotlib:熟悉

二、分享一下我面試某家公司Java高級開發(fā)崗位,文末會分享一些我個(gè)人的學(xué)習(xí)文檔

一面(基礎(chǔ)面:大約60分鐘)

  1. 自我介紹
  2. 對象相等的判斷,equals方法實(shí)現(xiàn)。Hashcode的作用,與 equal 有什么區(qū)別?
  3. Java中CAS算法?
  4. G1回收器講一下?
  5. HashMap,ConcurrentHashMap與LinkedHashMap的區(qū)別
  6. 如何在多線程環(huán)境下使用Map,ConcurrentHashMap原理,ConcurrentHashMap如何加鎖。
  7. 多線程并發(fā)的同步實(shí)現(xiàn),有兩個(gè)方法,每個(gè)方法里有a部分代碼和b部分代碼,我要讓兩個(gè)線程分別執(zhí)行兩個(gè)方法,并且讓他們運(yùn)行完a部分代碼再一起向下執(zhí)行,如何實(shí)現(xiàn)。
  8. TCP連接中的三次握手和四次揮手,四次揮手的最后一個(gè)ack的作用是什么,為什么要time wait,為什么是2msl。
  9. aio,nio,bio的了解
  10. ReetrantLock和synchronized的區(qū)別。
  11. Java有哪些悲觀鎖的實(shí)現(xiàn)?
  12. Java有哪些類實(shí)現(xiàn)了樂觀鎖?

二面(二面就死抓多線程問)

  1. 線程池有哪些參數(shù)?分別有什么用?如果任務(wù)數(shù)超過的核心線程數(shù),會發(fā)生什么?阻塞隊(duì)列大小是多少?
  2. 數(shù)據(jù)庫連接池介紹下,底層實(shí)現(xiàn)說下
  3. hashset底層實(shí)現(xiàn),hashmap的put操作過程
  4. 說說HaspMap底層原理?再說說它跟HaspTable和ConcurrentHashMap他們之間的相同點(diǎn)和不同點(diǎn)?
  5. 說說B+樹和B樹的區(qū)別,優(yōu)缺點(diǎn)等?
  6. 算法題,對一個(gè)鏈表進(jìn)行歸并排序,鏈表可能有環(huán)
  7. 怎么實(shí)現(xiàn)一個(gè)線程安全的計(jì)數(shù)器?
  8. 原子類AtomicInteger實(shí)現(xiàn)原理是什么?和你設(shè)計(jì)的計(jì)數(shù)器優(yōu)劣比較?CAS怎么實(shí)現(xiàn)原子操作的?
  9. Java中的鎖有什么?synchronized與Lock的區(qū)別?公平鎖和非公平底層怎么實(shí)現(xiàn)的?AQS原理詳細(xì)介紹一下?
  10. 你在項(xiàng)目中一般怎么調(diào)優(yōu)JVM的呢?
  11. 說一下GC吧,什么時(shí)候進(jìn)行Full GC呢?
  12. 你了解哪些收集器?CMS和G1。詳細(xì)談?wù)凣1的優(yōu)點(diǎn)

三面(Redis和mysql也要掌握,面試也是必問

  1. 了解哪些排序算法,講講復(fù)雜度
  2. 手撕歸并排序
  3. Redis有哪些數(shù)據(jù)結(jié)構(gòu)?底層的編碼有哪些?有序鏈表采用了哪些不同的編碼?
  4. redis的hash數(shù)據(jù)結(jié)構(gòu)最多能存儲多少個(gè)元素
  5. 自己如何實(shí)現(xiàn)RPC?
  6. mysql默認(rèn)存儲引擎?MyISAM、InnoDB、MEMORY的區(qū)別
  7. 什么是幻讀,如何解決
  8. 事務(wù)隔離級別有什么?通過什么來實(shí)現(xiàn)的?分別解決了什么問題?
  9. 樂觀鎖與悲觀鎖的使用場景

四面(這里問的技術(shù)問題就較多了 分布式架構(gòu) dubbo Spring cloudKafka 數(shù)據(jù)庫

  1. 介紹對你技術(shù)能力幫助最大的項(xiàng)目,重點(diǎn)講架構(gòu)設(shè)計(jì)思路
  2. 分布式全局唯一ID怎樣來實(shí)現(xiàn)?
  3. dubbo的生產(chǎn)者如何發(fā)布服務(wù),注冊服務(wù),消費(fèi)者如何調(diào)用服務(wù)?
  4. dubbo負(fù)載均衡的策略有哪些?一致性哈希詳細(xì)聊一下?
  5. 分布式session如何實(shí)現(xiàn)的
  6. 微服務(wù)你的理解?以及常用的微服務(wù)方案dubbo、spring cloud的比較?
  7. Kafka怎么保證數(shù)據(jù)可靠性?
  8. 數(shù)據(jù)庫主從同步數(shù)據(jù)一致性如何解決?技術(shù)方案的優(yōu)劣勢比較?
  9. 分布式鎖的實(shí)現(xiàn)方式你知道有哪些?主流的解決方案是什么?
  10. Spring兩大特性?AOP和IOC
  11. Spring的初始化過程?Spring bean的生命周期?
  12. 多個(gè)RPC請求進(jìn)來,服務(wù)器怎么處理并發(fā)呢?

面試建議是,一定要自信,敢于表達(dá),面試的時(shí)候我們對知識的掌握有時(shí)候很難面面俱到,把自己的思路說出來,而不是直接告訴面試官自己不懂,這也是可以加分的。

三、比如,有如下的職位描述。

image

我們能從中挖掘出如下的技能需求點(diǎn):

  1. 3年經(jīng)驗(yàn),熟悉常用類庫
  2. 熟悉Spring和Mybatis框架
  3. 熟悉分布式中間件(比如消息,緩存等中間件)
  4. 熟悉數(shù)據(jù)庫,最好是NoSQL
  5. 最好有大數(shù)據(jù)經(jīng)驗(yàn)

而關(guān)于非技能的要求如下:

  1. 有責(zé)任心,有主動性
  2. 需要有團(tuán)隊(duì)合作的能力
  3. 需要有良好的編碼習(xí)慣,學(xué)習(xí)能力要強(qiáng)。

對于java高級開發(fā)而言,可以準(zhǔn)備如下的話題,大家也能以此為參考,準(zhǔn)備些其它的話題:

  1. 虛擬機(jī)內(nèi)存優(yōu)化
  2. 數(shù)據(jù)庫性能調(diào)優(yōu)
  3. 分布式高并發(fā)架構(gòu)
  4. 一些熱門組件,比如redis,nginx等
  5. 大數(shù)據(jù)方向的用法
  6. java core(比如集合或多線程)方面的底層實(shí)現(xiàn)代碼
  7. Spring系列(比如IOC, AOP, MVC,Spring Boot, Spring Cloud)方面的底層實(shí)現(xiàn)代碼。

四、要準(zhǔn)備到什么程度:

  1. 最好結(jié)合項(xiàng)目實(shí)際說出真的用過這些技術(shù)。
  2. 最好往性能調(diào)優(yōu)方面靠。

下面就以虛擬機(jī)為例,說下如何在面試中引出該話題,以及面試時(shí)該怎么說。其它亮點(diǎn)話題也可以照此準(zhǔn)備。

第一:在簡歷的最近項(xiàng)目介紹里加上類似這樣描述,“這個(gè)項(xiàng)目的內(nèi)存要求比較高,雖然在項(xiàng)目里分配的對象不少,但這個(gè)項(xiàng)目只被分配了1G內(nèi)存,所以在這個(gè)項(xiàng)目里,我實(shí)踐了一些定位排查內(nèi)存問題的技能,也做了些調(diào)優(yōu)的工作“,這樣面試官見到簡歷的描述,就會自然而然地提問了。

第二:在面試中總會有“項(xiàng)目介紹”這個(gè)環(huán)節(jié),面試官會讓候選人介紹最近的(或最拿得出手)的一個(gè)項(xiàng)目,這樣大家就可以順勢說出剛才已經(jīng)給出的描述。

第三:大家可以在回答數(shù)據(jù)庫或集合等方面的問題時(shí)引出這個(gè)話題,比如回答完JDBC問題后,大家可以說一句,“用好的Connection對象我們會及時(shí)關(guān)閉,否則它所占用的內(nèi)存對象無法被GC回收”,或者在談及List等集合類型時(shí),同時(shí)多說一句,“用好的集合對象我們會及時(shí)clear掉,否則這個(gè)集合也會對一些對象產(chǎn)生強(qiáng)引用,這樣就會延遲對象的回收時(shí)間”。

第四:在自我總結(jié)時(shí),可以說,有虛擬機(jī)調(diào)優(yōu)的經(jīng)驗(yàn)。

那么,在面試時(shí),該怎么說呢?

  1. 大家可時(shí)設(shè)置成null,以撤銷強(qiáng)引用。集合對象用好后應(yīng)當(dāng)及時(shí)clear。盡量別頻繁地使用String(或其它不變類)對象,這樣容易產(chǎn)生內(nèi)存碎片。
  2. 還展示監(jiān)控、定位和調(diào)優(yōu)方面的綜合能力。這里可以說下,比如通過Jprofiler+jmeter進(jìn)行JVM性能調(diào)優(yōu)的方法。
  3. 大家甚至可以看些虛擬機(jī)的底層實(shí)現(xiàn)細(xì)節(jié),在面試中說下,這樣能大大提升自己的專業(yè)素養(yǎng)。

五、刷題:

既然是要面試,那么就少不了刷題,實(shí)際上春節(jié)回家后,哪兒也去不了,我自己是刷了不少面試題的,所以在面試過程中才能夠做到心中有數(shù),基本上會清楚面試過程中會問到哪些知識點(diǎn),高頻題又有哪些,所以刷題是面試前期準(zhǔn)備過程中非常重要的一點(diǎn)。

六、提示自身的軟實(shí)力(知識和技術(shù))

第二個(gè)關(guān)鍵就要自己的自身實(shí)力過硬了,無論是你應(yīng)屆生,還是工作好幾年,無論是校招還是社招,企業(yè)招聘的永遠(yuǎn)是自身實(shí)力過硬的,也就是你的知識儲備,你的技術(shù)水平要達(dá)到要求,而提升自身軟實(shí)力的唯一辦法就是:不斷學(xué)習(xí)。

以下分享一些我個(gè)人的學(xué)習(xí)文檔,有需要的朋友加VX:msb_1600365490 自行選擇獲?。?/p>

image
image

友情提醒:獲取以上所有文檔資料,加VX:msb_1600365490 即可打包獲?。。赓M(fèi)分享的~)

  • Java核心知識點(diǎn)
image
  • Spring系列(實(shí)戰(zhàn))
image
image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 不足的地方請大家多多指正,如有其它沒有想到的常問面試題請大家多多評論,一起成長,感謝!~ String可以被繼承嗎...
    啟示錄是真的閱讀 3,065評論 3 3
  • 本文作者在一年之內(nèi)參加過多場面試,應(yīng)聘崗位均為 Java 開發(fā)方向。在不斷的面試中,分類總結(jié)了 Java 開發(fā)崗位...
    TheOne_6e96閱讀 979評論 0 9
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,995評論 0 11
  • 1.abstract class 和interface 有什么區(qū)別? 抽象類可以有構(gòu)造方法 接口不行 抽象類可以有...
    sunnysans閱讀 953評論 0 1
  • 皇帝,作為古時(shí)候制度的最高領(lǐng)袖,不僅享有號令天下的權(quán)力,還能后宮佳麗三千。后宮無疑是女人們爭艷的場所,你不脫穎而出...
    職也閱讀 1,077評論 0 2

友情鏈接更多精彩內(nèi)容