Java程序員從阿里拿到offer回來,這些面試題你會嗎?

前不久剛從阿里面試回來,為了這場面試可以說準(zhǔn)備了一個半月,做的準(zhǔn)備就是刷題和看視頻看書充實(shí)自己的技術(shù),話說是真難啊,不過還算順利拿到了offer,有很多面試題我已經(jīng)記不起來了,這些是當(dāng)天回家整理好的,下面我來跟大家一起分享一下。

首先我們需要明白一個事實(shí),招聘的一個很關(guān)鍵的因素是在給自己找未來的同事,同級別下要找比自己優(yōu)秀的人,面試是一個雙向選擇的過程,也是一個將心比心去溝通的過程。

和以前一樣,只有問題沒有參考答案,需要各位小伙伴下來逐一學(xué)習(xí)!

一、開場白

簡單的介紹一下自己的工作經(jīng)歷與職責(zé),在校或者工作中主要的工作內(nèi)容,主要負(fù)責(zé)的內(nèi)容;(你的信息一清二白的寫在簡歷上,這個主要為了緩解面試者的壓力)

介紹下自己最滿意的,有技術(shù)亮點(diǎn)的項(xiàng)目或平臺,重點(diǎn)介紹下自己負(fù)責(zé)那部分的技術(shù)細(xì)節(jié);(主要考察應(yīng)聘者對自己做過的事情是否有清晰的描述,判斷做的事情的復(fù)雜度)

二、Java多線程

線程池的原理,為什么要創(chuàng)建線程池?創(chuàng)建線程池的方式;

線程的生命周期,什么時候會出現(xiàn)僵死進(jìn)程;

說說線程安全問題,什么實(shí)現(xiàn)線程安全,如何實(shí)現(xiàn)線程安全;

創(chuàng)建線程池有哪幾個核心參數(shù)? 如何合理配置線程池的大???

volatile、ThreadLocal的使用場景和原理;

ThreadLocal什么時候會出現(xiàn)OOM的情況?為什么?

synchronized、volatile區(qū)別、synchronized鎖粒度、模擬死鎖場景、原子性與可見性;

三、JVM相關(guān)

JVM內(nèi)存模型,GC機(jī)制和原理;

GC分哪兩種,Minor GC 和Full GC有什么區(qū)別?什么時候會觸發(fā)Full GC?分別采用什么算法?

JVM里的有幾種classloader,為什么會有多種?

什么是雙親委派機(jī)制?介紹一些運(yùn)作過程,雙親委派模型的好處;

什么情況下我們需要破壞雙親委派模型;

常見的JVM調(diào)優(yōu)方法有哪些?可以具體到調(diào)整哪個參數(shù),調(diào)成什么值?

JVM虛擬機(jī)內(nèi)存劃分、類加載器、垃圾收集算法、垃圾收集器、class文件結(jié)構(gòu)是如何解析的;

四、Java擴(kuò)展篇

紅黑樹的實(shí)現(xiàn)原理和應(yīng)用場景;

NIO是什么?適用于何種場景?

Java9比Java8改進(jìn)了什么;

HashMap內(nèi)部的數(shù)據(jù)結(jié)構(gòu)是什么?底層是怎么實(shí)現(xiàn)的?(還可能會延伸考察ConcurrentHashMap與HashMap、HashTable等,考察對技術(shù)細(xì)節(jié)的深入了解程度);

說說反射的用途及實(shí)現(xiàn),反射是不是很慢,我們在項(xiàng)目中是否要避免使用反射;

說說自定義注解的場景及實(shí)現(xiàn);

List 和 Map 區(qū)別,Arraylist 與 LinkedList 區(qū)別,ArrayList 與 Vector 區(qū)別;

五、Spring相關(guān)

Spring AOP的實(shí)現(xiàn)原理和場景?

Spring bean的作用域和生命周期;

Spring Boot比Spring做了哪些改進(jìn)? Spring 5比Spring4做了哪些改進(jìn);

如何自定義一個Spring Boot Starter?

Spring IOC是什么?優(yōu)點(diǎn)是什么?

SpringMVC、動態(tài)代理、反射、AOP原理、事務(wù)隔離級別;

六、中間件篇

Dubbo完整的一次調(diào)用鏈路介紹;

Dubbo支持幾種負(fù)載均衡策略?

Dubbo Provider服務(wù)提供者要控制執(zhí)行并發(fā)請求上限,具體怎么做?

Dubbo啟動的時候支持幾種配置方式?

了解幾種消息中間件產(chǎn)品?各產(chǎn)品的優(yōu)缺點(diǎn)介紹;

消息中間件如何保證消息的一致性和如何進(jìn)行消息的重試機(jī)制?

Spring Cloud熔斷機(jī)制介紹;

Spring Cloud對比下Dubbo,什么場景下該使用Spring Cloud?

七、數(shù)據(jù)庫篇

鎖機(jī)制介紹:行鎖、表鎖、排他鎖、共享鎖;

樂觀鎖的業(yè)務(wù)場景及實(shí)現(xiàn)方式;

事務(wù)介紹,分布式事物的理解,常見的解決方案有哪些,什么事兩階段提交、三階段提交;

MySQL記錄binlog的方式主要包括三種模式?每種模式的優(yōu)缺點(diǎn)是什么?

MySQL鎖,悲觀鎖、樂觀鎖、排它鎖、共享鎖、表級鎖、行級鎖;

分布式事務(wù)的原理2階段提交,同步\異步\阻塞\非阻塞;

數(shù)據(jù)庫事務(wù)隔離級別,MySQL默認(rèn)的隔離級別、Spring如何實(shí)現(xiàn)事務(wù)、JDBC如何實(shí)現(xiàn)事務(wù)、嵌套事務(wù)實(shí)現(xiàn)、分布式事務(wù)實(shí)現(xiàn);

SQL的整個解析、執(zhí)行過程原理、SQL行轉(zhuǎn)列;

八、Redis

Redis為什么這么快?redis采用多線程會有哪些問題?

Redis支持哪幾種數(shù)據(jù)結(jié)構(gòu);

Redis跳躍表的問題;

Redis單進(jìn)程單線程的Redis如何能夠高并發(fā)?

Redis如何使用Redis實(shí)現(xiàn)分布式鎖?

Redis分布式鎖操作的原子性,Redis內(nèi)部是如何實(shí)現(xiàn)的?

九、其他

看過哪些源代碼?然后會根據(jù)你說的源碼問一些細(xì)節(jié)的問題?(這里主要考察面試者是否對技術(shù)有鉆研的精神,還是只停留在表面,還是背了幾道面經(jīng),這個對于很多有強(qiáng)迫癥的面試官,如果你連源碼都沒看過,基本上是會pass掉的,比如我也是這樣的?。?/p>

項(xiàng)目中遇到了哪些比較有挑戰(zhàn)性的問題,是如何解決的;(這個很有爭議,一方面是你連一個復(fù)雜的問題都解決不了,要你過來干什么,還有就是我的能力牛逼啊,但是公司沒有業(yè)務(wù)場景讓我展示?。∵@個就看你遇到的面試官了,祝你好運(yùn)?。?/p>

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

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

  • Java基礎(chǔ) Vector,ArrayList, LinkedList的區(qū)別是什么? 答: Vector、Arra...
    閃電是只貓閱讀 12,243評論 3 26
  • 有些人,值得記憶一輩子 有些人,注定只能一陣子 相聚既是緣 很感謝在我剛剛走出校門,在同齡人紛紛抱怨職場殘酷,競爭...
    蝶戀花laura閱讀 263評論 0 1
  • 樂山,古稱“嘉州”,在歷史上屬古蜀國,是國家歷史文化名城。但最讓我驕傲的,是我們樂山有“食在四川,味在樂山”的美譽(yù)...
    笑看風(fēng)云149閱讀 465評論 0 0
  • 在我的公眾號里,每次我寫文章時,總會逼自己總結(jié)一些實(shí)踐方法。如果說我給你的是「雞湯」,至少我還提供了一把喝湯的「勺...
    阿穎sxcw閱讀 1,393評論 0 1

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