阿里最全Java面试100题汇总:涵盖天猫、蚂蚁金服等面试题!含答案~
【阿里天貓、螞蟻、釘釘面試題目】
1、微信紅包怎么實現(xiàn)。
2、海量數(shù)據(jù)分析。
3、測試職位問的線程安全和非線程安全。
4、HTTP2.0、thrift。
5、面試電話溝通可能先讓自我介紹。
6、分布式事務(wù)一致性。
7、nio的底層實現(xiàn)。
8、jvm基礎(chǔ)是必問的,jvm GC原理,JVM怎么回收內(nèi)存。
9、Java是什么。
10、API接口與SDI接口的區(qū)別(API是提供給別人的接口)。
11、dubbo如何一條鏈接并發(fā)多個調(diào)用。Dubbo的原理,序列化相關(guān)問題。
12、用過哪些中間件。
13、做過工作流引擎沒有。
14、以前的工作經(jīng)歷,自己覺得出彩的地方(釘釘)
15、線程池的一些原理,鎖的機制升降級(天貓、螞蟻)
16、從系統(tǒng)層面考慮,分布式從哪些緯度考慮(天貓)
17、Hadoop底層怎么實現(xiàn)(天貓)
18、threadLocal,線程池,hashMap/hashTable/coccurentHashMap等(天貓)
19、秒殺系統(tǒng)的設(shè)計(天貓)
20、虛擬機,IO相關(guān)知識點(天貓)
21、Linux的命令(天貓)
22、一個整形數(shù)組,給定一個數(shù),在數(shù)組中找出兩個數(shù)的和等于這個數(shù),并打印出來,我寫的時間復(fù)雜度高,要求O(n)。(天貓)
23、n個整數(shù),找出連續(xù)的m個數(shù)加和是最大。(天貓)
24、更重視開源技術(shù)(螞蟻金服上海)
25、數(shù)據(jù)庫鎖隱原理(螞蟻金服網(wǎng)商)
26、1000個線程同時運行,怎么防止不卡(航旅)
27、并列的并發(fā)消費問題(航旅)
28、高并發(fā)量大的話怎么處理熱點,數(shù)據(jù)等(螞蟻金服)
29、如何獲取一個本地服務(wù)器上可用的端口
30、流量控制相關(guān)問題(螞蟻金服)
31、數(shù)據(jù)庫TPS是多少,是否進行測試過(天貓)
32、緩存擊穿有哪些方案解決(天貓)
33、Java怎么挖取回收器相關(guān)原理(財富)
34、Java的集合都有哪些,都有什么特點(信息平臺)
35、分布式鎖,redis緩存,spring aop,系統(tǒng)架構(gòu)圖,MySQL的特性(信息平臺)
36、場景,同時給10萬個人發(fā)工資,怎么樣設(shè)計并發(fā)方案,能確保在1分鐘內(nèi)全部發(fā)完 打個比方會提出類似的場景(信息平臺)
【阿里巴巴面試題目】
1、java事件機制包括哪三個部分?分別介紹。
2、為什么要使用線程池?
3、線程池有什么作用?
4、說說幾種常見的線程池及使用場景。
5、線程池都有哪幾種工作隊列?
6、怎么理解無界隊列和有界隊列?
7、線程池中的幾種重要的參數(shù)及流程說明。
8、什么是反射機制?
9、說說反射機制的作用。
10、反射機制會不會有性能問題?
11、你怎么理解http協(xié)議?
12、說說http協(xié)議的工作流程。
13、http有哪些請求提交方式?
14、http中的200,302,403,404,500,503都代表什么狀態(tài)?
15、http get和post有什么區(qū)別?
16、你怎么理解cookie和session,有哪些不同點?
17、什么是web緩存?有什么優(yōu)點?
18、什么是https,說說https的工作原理?
19、什么是http代理服務(wù)器,有什么用?
20、什么是虛擬主機及實現(xiàn)原理?
21、什么是Java虛擬機,為什么要使用?
22、說說Java虛擬機的生命周期及體系結(jié)構(gòu)。
23、說一說Java內(nèi)存區(qū)域。
24、什么是分布式系統(tǒng)?
25、分布式系統(tǒng)你會考慮哪些方面?
26、講一講TCP協(xié)議的三次握手和四次揮手流程。
27、為什么TCP建立連接協(xié)議是三次握手,而關(guān)閉連接卻是四次握手呢?為什么不能用兩次握手進行連接?
28、為什么TCP TIME_WAIT狀態(tài)還需要等2MSL后才能返回到CLOSED狀態(tài)?
29、什么是DoS、DDoS、DRDoS攻擊?如何防御?
30、描述一下Java異常層次結(jié)構(gòu)。
31、什么是檢查異常,不受檢查異常,運行時異常?并分別舉例說明。
32、finally塊一定會執(zhí)行嗎?
33、正常情況下,當(dāng)在try塊或catch塊中遇到return語句時,finally語句塊在方法返回之前還是之后被執(zhí)行?
34、try、catch、finally語句塊的執(zhí)行順序。
35、Java虛擬機中,數(shù)據(jù)類型可以分為哪幾類?
36、怎么理解棧、堆?堆中存什么?棧中存什么?
37、為什么要把堆和棧區(qū)分出來呢?棧中不是也可以存儲數(shù)據(jù)嗎?
38、在Java中,什么是是棧的起始點,同是也是程序的起始點?
39、為什么不把基本類型放堆中呢?
40、Java中的參數(shù)傳遞時傳值呢?還是傳引用?
41、Java中有沒有指針的概念?
42、Java中,棧的大小通過什么參數(shù)來設(shè)置?
43、一個空Object對象的占多大空間?
44、對象引用類型分為哪幾類?
45、講一講垃圾回收算法。
46、如何解決內(nèi)存碎片的問題?
47、如何解決同時存在的對象創(chuàng)建和對象回收問題?
48、講一講內(nèi)存分代及生命周期。
49、什么情況下觸發(fā)垃圾回收?
50、如何選擇合適的垃圾收集算法?
51、JVM中最大堆大小有沒有限制?
52、堆大小通過什么參數(shù)設(shè)置?
53、JVM有哪三種垃圾回收器?
54、吞吐量優(yōu)先選擇什么垃圾回收器?響應(yīng)時間優(yōu)先呢?
55、如何進行JVM調(diào)優(yōu)?有哪些方法?
56、如何理解內(nèi)存泄漏問題?有哪些情況會導(dǎo)致內(nèi)存泄露?如何解決?
57、從分布式系統(tǒng)部署角度考慮,分哪幾層?
58、如何解決業(yè)務(wù)層的數(shù)據(jù)訪問問題?
59、為了解決數(shù)據(jù)庫服務(wù)器的負擔(dān),如何做數(shù)據(jù)庫的分布?
60、什么是著名的拜占庭將軍問題?
61、為什么說TCP/IP協(xié)議是不可靠的?
62、講講CAP理念。
63、怎么理解強一致性、單調(diào)一致性和最終一致性?
64、分布式系統(tǒng)設(shè)計你會考慮哪些策略?
65、最常見的數(shù)據(jù)分布方式是什么?
66、談一談一致性哈希算法。
67、paxos是什么?
68、什么是Lease機制?
69、如何理解選主算法?
70、OSI有哪七層模型?TCP/IP是哪四層模型。
【阿里巴巴面試題目含答案】
1,mysql的三大引擎是啥?
mysql常用的引擎有InnoDB,MyISAM,Memory,默認是InnoDB
InnoDB:磁盤表,支持事務(wù),支持行級鎖,B+Tree索引
ps:優(yōu)點: 具有良好的ACID特性。適用于高并發(fā),更新操作比較多的表。需要使用事務(wù)的表。對自動災(zāi)難恢復(fù)有要求的表。
缺點:讀寫效率相對MYISAM比較差。占用的磁盤空間比較大。
mysql的4大特性+4種隔離級別:
MyISAM:磁盤表,不支持事務(wù),支持表級鎖,B+Tree索引
ps: 優(yōu)點:占用空間小,處理速度快(相對InnoDB來說)
缺點:不支持事務(wù)的完整性和并發(fā)性
MEMORY(Heap):內(nèi)存表,不支持事務(wù),表級鎖,Hash索引,不支持Blob,Text大類型
ps: 優(yōu)點:速度要求快的,臨時數(shù)據(jù)
缺點:丟失以后,對項目整體沒有或者負面影響不大的時候。
2,redis的hash算法用的是啥?
redis應(yīng)該是使用一致性hash算法—MurmurHash3 算法,具有低碰撞率優(yōu)點,google改進的版本cityhash也是redis中用到的哈希算法。
現(xiàn)有的主流的大數(shù)據(jù)系統(tǒng)都是用的 MurmurHash本身或者改進
3,nosql為啥比sql快?
Nosql是非關(guān)系型數(shù)據(jù)庫,因為不需要滿足關(guān)系數(shù)據(jù)庫數(shù)據(jù)一致性等復(fù)雜特性所以速度快;
sql是關(guān)系型數(shù)據(jù)庫,功能強大,但是效率上有瓶頸
4,什么是索引為啥nosql沒索引?nosql有索引滴
索引分為聚簇索引和非聚簇索引兩種,聚簇索引是按照數(shù)據(jù)存放的物理位置為順序的,而非聚簇索引就不一樣了;聚簇索引能提高多行檢索的速度,而非聚簇索引對于單行的檢索很快。
聚簇索引:有主鍵時,根據(jù)主鍵創(chuàng)建聚簇索引;沒有主鍵時,會用一個唯一且不為空的索引列做為主鍵,成為此表的聚簇索引;如果以上兩個都不滿足那innodb自己創(chuàng)建一個虛擬的聚集索引
非聚簇索引:非聚簇索引都是輔助索引,像復(fù)合索引、前綴索引、唯一索引
5,B+樹和B樹區(qū)別?
B樹的非葉子節(jié)點存儲實際記錄的指針,而B+樹的葉子節(jié)點存儲實際記錄的指針
B+樹的葉子節(jié)點通過指針連起來了, 適合掃描區(qū)間和順序查找。
你可能也喜歡:
總結(jié)
以上是生活随笔為你收集整理的阿里最全Java面试100题汇总:涵盖天猫、蚂蚁金服等面试题!含答案~的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 消息中间件系列(八):Kafka、Roc
- 下一篇: 百度Java三面:现场面试39题目实拍含