前不久剛從阿里面試回來,為了這場面試可以說準(zhǔn)備了一個半月肚豺,做的準(zhǔn)備就是刷題和看視頻看書充實自己的技術(shù)溃斋,話說是真難啊,不過還算順利拿到了offer吸申,有很多面試題我已經(jīng)記不起來了梗劫,這些是當(dāng)天回家整理好的,下面我來跟大家一起分享一下截碴。
首先我們需要明白一個事實梳侨,招聘的一個很關(guān)鍵的因素是在給自己找未來的同事,同級別下要找比自己優(yōu)秀的人日丹,面試是一個雙向選擇的過程走哺,人家在面試你的時候,你也在打量這家企業(yè)聚凹。
一割坠、開場白
簡單的介紹一下自己的工作經(jīng)歷與職責(zé),在卸恃溃或者在工作中主要的工作內(nèi)容彼哼,主要負責(zé)的內(nèi)容;(你的信息一清二白的寫在簡歷上湘今,這個主要為了緩解面試者的壓力)
介紹下自己最滿意的敢朱,有技術(shù)亮點的項目或平臺,重點介紹下自己負責(zé)那部分的技術(shù)細節(jié)摩瞎;(主要考察應(yīng)聘者對自己做過的事情是否有清晰的描述拴签,判斷做的事情的復(fù)雜度)
二、Java多線程
線程池的原理旗们,為什么要創(chuàng)建線程池蚓哩?創(chuàng)建線程池的方式;
線程的生命周期上渴,什么時候會出現(xiàn)僵死進程岸梨;
說說線程安全問題喜颁,什么實現(xiàn)線程安全,如何實現(xiàn)線程安全曹阔;
創(chuàng)建線程池有哪幾個核心參數(shù)半开? 如何合理配置線程池的大小赃份?
volatile寂拆、ThreadLocal的使用場景和原理;
ThreadLocal什么時候會出現(xiàn)OOM的情況抓韩?為什么纠永?
synchronized、volatile區(qū)別园蝠、synchronized鎖粒度渺蒿、模擬死鎖場景、原子性與可見性彪薛;
三、JVM相關(guān)
JVM內(nèi)存模型怠蹂,GC機制和原理善延;
GC分哪兩種,Minor GC 和Full GC有什么區(qū)別城侧?什么時候會觸發(fā)Full GC易遣?分別采用什么算法?
JVM里的有幾種classloader嫌佑,為什么會有多種豆茫?
什么是雙親委派機制?介紹一些運作過程屋摇,雙親委派模型的好處揩魂;
什么情況下我們需要破壞雙親委派模型;
常見的JVM調(diào)優(yōu)方法有哪些炮温?可以具體到調(diào)整哪個參數(shù)火脉,調(diào)成什么值?
JVM虛擬機內(nèi)存劃分柒啤、類加載器倦挂、垃圾收集算法、垃圾收集器担巩、class文件結(jié)構(gòu)是如何解析的方援;
四、Java擴展篇
紅黑樹的實現(xiàn)原理和應(yīng)用場景涛癌;
NIO是什么犯戏?適用于何種場景窥浪?
Java9比Java8改進了什么;
HashMap內(nèi)部的數(shù)據(jù)結(jié)構(gòu)是什么笛丙?底層是怎么實現(xiàn)的漾脂?(還可能會延伸考察ConcurrentHashMap與HashMap、HashTable等胚鸯,考察對技術(shù)細節(jié)的深入了解程度)骨稿;
說說反射的用途及實現(xiàn),反射是不是很慢姜钳,我們在項目中是否要避免使用反射坦冠;
說說自定義注解的場景及實現(xiàn);
List 和 Map 區(qū)別哥桥,Arraylist 與 LinkedList 區(qū)別辙浑,ArrayList 與 Vector 區(qū)別;
五拟糕、Spring相關(guān)
Spring AOP的實現(xiàn)原理和場景判呕?
Spring bean的作用域和生命周期;
Spring Boot比Spring做了哪些改進送滞? Spring 5比Spring4做了哪些改進侠草;
如何自定義一個Spring Boot Starter?
Spring IOC是什么犁嗅?優(yōu)點是什么边涕?
SpringMVC、動態(tài)代理褂微、反射功蜓、AOP原理、事務(wù)隔離級別宠蚂;
六式撼、中間件篇
Dubbo完整的一次調(diào)用鏈路介紹;
Dubbo支持幾種負載均衡策略肥矢?
Dubbo Provider服務(wù)提供者要控制執(zhí)行并發(fā)請求上限屏歹,具體怎么做赠叼?
Dubbo啟動的時候支持幾種配置方式禁舷?
了解幾種消息中間件產(chǎn)品男娄?各產(chǎn)品的優(yōu)缺點介紹;
消息中間件如何保證消息的一致性和如何進行消息的重試機制十艾?
Spring Cloud熔斷機制介紹抵代;
Spring Cloud對比下Dubbo,什么場景下該使用Spring Cloud忘嫉?
七荤牍、數(shù)據(jù)庫篇
鎖機制介紹:行鎖案腺、表鎖、排他鎖康吵、共享鎖劈榨;
樂觀鎖的業(yè)務(wù)場景及實現(xiàn)方式;
事務(wù)介紹晦嵌,分布式事物的理解同辣,常見的解決方案有哪些,什么事兩階段提交惭载、三階段提交旱函;
MySQL記錄binlog的方式主要包括三種模式?每種模式的優(yōu)缺點是什么描滔?
MySQL鎖棒妨,悲觀鎖、樂觀鎖含长、排它鎖券腔、共享鎖、表級鎖茎芋、行級鎖颅眶;
分布式事務(wù)的原理2階段提交,同步\異步\阻塞\非阻塞田弥;
數(shù)據(jù)庫事務(wù)隔離級別,MySQL默認的隔離級別铡原、Spring如何實現(xiàn)事務(wù)偷厦、
JDBC如何實現(xiàn)事務(wù)、嵌套事務(wù)實現(xiàn)燕刻、分布式事務(wù)實現(xiàn)只泼;
SQL的整個解析、執(zhí)行過程原理卵洗、SQL行轉(zhuǎn)列请唱;
八、Redis
Redis為什么這么快过蹂?redis采用多線程會有哪些問題十绑?
Redis支持哪幾種數(shù)據(jù)結(jié)構(gòu);
Redis跳躍表的問題酷勺;
Redis單進程單線程的Redis如何能夠高并發(fā)?
Redis如何使用Redis實現(xiàn)分布式鎖本橙?
Redis分布式鎖操作的原子性,Redis內(nèi)部是如何實現(xiàn)的脆诉?
九甚亭、其他
看過哪些源代碼贷币?然后會根據(jù)你說的源碼問一些細節(jié)的問題?(這里主要考察面試者是否對技術(shù)有鉆研的精神亏狰,還是只停留在表面役纹,還是背了幾道面經(jīng),這個對于很多有強迫癥的面試官暇唾,如果你連源碼都沒看過促脉,基本上是會pass掉的,比如我也是這樣的P挪弧)
項目中遇到了哪些比較有挑戰(zhàn)性的問題嘲叔,是如何解決的;(這個很有爭議抽活,一方面是你連一個復(fù)雜的問題都解決不了硫戈,要你過來干什么,還有就是我的能力牛逼啊下硕,但是公司沒有業(yè)務(wù)場景讓我展示啊丁逝,這個就看你遇到的面試官了,祝你好運K笮铡)
金九銀十這個段時間面試的比較多吧霜幼,希望這些面試題能夠幫大家了解一下互聯(lián)網(wǎng)的面試題,然后梳理一下自己的技術(shù)誉尖,學(xué)無止境一起共勉吧罪既。
Java高架構(gòu)師、分布式架構(gòu)铡恕、高可擴展琢感、高性能、高并發(fā)探熔、性能優(yōu)化驹针、Spring boot、Redis诀艰、ActiveMQ柬甥、Nginx、Mycat其垄、Netty苛蒲、Jvm大型分布式項目實戰(zhàn)學(xué)習(xí)架構(gòu)師視頻免費獲取架構(gòu)群:854180697? ??加群鏈接