阿里一面題目:
1、osi七層網(wǎng)絡(luò)模型,五層網(wǎng)絡(luò)模型,每次層分別有哪些協(xié)議:
2、死鎖產(chǎn)生的條件, 以及如何避免死鎖,銀行家算法,產(chǎn)生死鎖后如何解決
3、如何判斷鏈表有環(huán)
4、虛擬機(jī)類加載機(jī)制,雙親委派模型,以及為什么要實(shí)現(xiàn)雙親委派模型
5、虛擬機(jī)調(diào)優(yōu)參數(shù)
6、拆箱裝箱的原理
7、JVM垃圾回收算法
8、CMS G1
9、hashset和hashmap的區(qū)別,haspmap的底層實(shí)現(xiàn)put操作,擴(kuò)容機(jī)制,currenthashmap如何解決線程安全,1.7版本以及1.8版本的不同
10、md5加密的原理
11、有多少種方法可以讓線程阻塞,能說多少說多少
12、synchronized和reetrantlock鎖
13、AQS同步器框架,countdowmlatch,cyclebarrier,semaphore,讀寫鎖
阿里二面題目:
1、B-Tree索引,myisam和innodb中索引的區(qū)別
2、BIO和NIO的應(yīng)用場景
3、講講threadlocal
4、數(shù)據(jù)庫隔離級(jí)別,每層級(jí)別分別用什么方法實(shí)現(xiàn),三級(jí)封鎖協(xié)議,共享鎖排它鎖,mvcc多版本并發(fā)控制協(xié)議,間隙鎖
5、數(shù)據(jù)庫索引?B+樹?為什么要建索引?什么樣的字段需要建索引,建索引的時(shí)候一般考慮什么?索引會(huì)不會(huì)使插入、刪除作效率變低,怎么解決?
6、數(shù)據(jù)庫表怎么設(shè)計(jì)的?數(shù)據(jù)庫范式?設(shè)計(jì)的過程中需要注意什么?
7、共享鎖與非共享鎖、一個(gè)事務(wù)鎖住了一條數(shù)據(jù),另一個(gè)事務(wù)能查嗎?
8、Spring bean的生命周期?默認(rèn)創(chuàng)建的模式是什么?不想單例怎么辦?
阿里三面題:
1、高并發(fā)時(shí)怎么限流
2、線程池的拒接任務(wù)策略
3、HashMap和Hashtable的區(qū)別
4、實(shí)現(xiàn)一個(gè)保證迭代順序的HashMap
5、說一說排序算法,穩(wěn)定性,復(fù)雜度
6、說一說GC
7、JVM如何加載一個(gè)類的過程,雙親委派模型中有哪些方法?
8、TCP如何保證可靠傳輸?三次握手過程?
9、springboot的啟動(dòng)流程
10、集群、負(fù)載均衡、分布式、數(shù)據(jù)一致性的區(qū)別與關(guān)系
11、數(shù)據(jù)庫如果讓你來垂直和水平拆分,誰先拆分,拆分的原則有哪些(單表數(shù)據(jù)量多大拆)
12、最后談?wù)凴edis、Kafka、 Dubbo,各自的設(shè)計(jì)原理和應(yīng)用場景
如果大家想獲取BAT更多的面試題和以上的面試題答案,大家可以群獲?。?552391552? 里面已經(jīng)發(fā)有總結(jié)好的BAT面試題,大家想獲取的備注好進(jìn)群消息就可以了。群里面還會(huì)不定時(shí)的分享Java后端架構(gòu)技術(shù)干貨【高性能及分布式、深入淺出。微服務(wù)、Spring,MyBatis,Netty源碼分析、JVM等面試技術(shù)視屏知識(shí)點(diǎn)分享】
面試總結(jié):
通過這次面試題和之前發(fā)的面試題來看,可以總結(jié)出目前互聯(lián)網(wǎng)公司面試考點(diǎn)為:
1、性能調(diào)優(yōu)、算法數(shù)據(jù)機(jī)構(gòu)
2、高并發(fā)下數(shù)據(jù)安全、接口冪等性、原子性等
3、分布式下協(xié)同、已經(jīng)鎖的處理
4、數(shù)據(jù)庫的分庫分表、項(xiàng)目之間的垂直拆分
詳細(xì)技術(shù)點(diǎn)為:
1、HashMap
2、JVM 【必問】
3、Dubbo
4、Mybatis
5、Zookeeper
6、http tcp/ip