【阿里天貓、螞蟻、釘釘面試題目】
一、微信紅包怎麼實現。 html
二、海量數據分析。 java
三、測試職位問的線程安全和非線程安全。 mysql
四、HTTP2.0、thrift。 web
五、面試電話溝通可能先讓自我介紹。 面試
六、分佈式事務一致性。 redis
七、nio的底層實現。 算法
八、jvm基礎是必問的,jvm GC原理,JVM怎麼回收內存。 spring
九、Java是什麼。 sql
十、API接口與SDI接口的區別(API是提供給別人的接口)。 數據庫
十一、dubbo如何一條連接併發多個調用。Dubbo的原理,序列化相關問題。
十二、用過哪些中間件。
1三、作過工做流引擎沒有。
1四、之前的工做經歷,本身以爲出彩的地方(釘釘)
1五、線程池的一些原理,鎖的機制升降級(天貓、螞蟻)
1六、從系統層面考慮,分佈式從哪些緯度考慮(天貓)
1七、Hadoop底層怎麼實現(天貓)
1八、threadLocal,線程池,hashMap/hashTable/coccurentHashMap等(天貓)
1九、秒殺系統的設計(天貓)
20、虛擬機,IO相關知識點(天貓)
2一、Linux的命令(天貓)
2二、一個整形數組,給定一個數,在數組中找出兩個數的和等於這個數,並打印出來,我寫的時間複雜度高,要求O(n)。(天貓)
2三、n個整數,找出連續的m個數加和是最大。(天貓)
2四、更重視開源技術(螞蟻金服上海)
2五、數據庫鎖隱原理(螞蟻金服網商)
2六、1000個線程同時運行,怎麼防止不卡(航旅)
2七、並列的併發消費問題(航旅)
2八、高併發量大的話怎麼處理熱點,數據等(螞蟻金服)
2九、如何獲取一個本地服務器上可用的端口
30、流量控制相關問題(螞蟻金服)
3一、數據庫TPS是多少,是否進行測試過(天貓)
3二、緩存擊穿有哪些方案解決(天貓)
3三、Java怎麼挖取回收器相關原理(財富)
3四、Java的集合都有哪些,都有什麼特色(信息平臺)
3五、分佈式鎖,redis緩存,spring aop,系統架構圖,MySQL的特性(信息平臺)
3六、場景,同時給10萬我的發工資,怎麼樣設計併發方案,能確保在1分鐘內所有發完 打個比方會提出相似的場景(信息平臺)
【阿里巴巴面試題目】
一、java事件機制包括哪三個部分?分別介紹。
二、爲何要使用線程池?
三、線程池有什麼做用?
四、說說幾種常見的線程池及使用場景。
五、線程池都有哪幾種工做隊列?
六、怎麼理解無界隊列和有界隊列?
七、線程池中的幾種重要的參數及流程說明。
八、什麼是反射機制?
九、說說反射機制的做用。
十、反射機制會不會有性能問題?
十一、你怎麼理解http協議?
十二、說說http協議的工做流程。
1三、http有哪些請求提交方式?
1四、http中的200,302,403,404,500,503都表明什麼狀態?
1五、http get和post有什麼區別?
1六、你怎麼理解cookie和session,有哪些不一樣點?
1七、什麼是web緩存?有什麼優勢?
1八、什麼是https,說說https的工做原理?
1九、什麼是http代理服務器,有什麼用?
20、什麼是虛擬主機及實現原理?
2一、什麼是Java虛擬機,爲何要使用?
2二、說說Java虛擬機的生命週期及體系結構。
2三、說一說Java內存區域。
2四、什麼是分佈式系統?
2五、分佈式系統你會考慮哪些方面?
2六、講一講TCP協議的三次握手和四次揮手流程。
2七、爲何TCP創建鏈接協議是三次握手,而關閉鏈接倒是四次握手呢?爲何不能用兩次握手進行鏈接?
2八、爲何TCP TIME_WAIT狀態還須要等2MSL後才能返回到CLOSED狀態?
2九、什麼是DoS、DDoS、DRDoS攻擊?如何防護?
30、描述一下Java異常層次結構。
3一、什麼是檢查異常,不受檢查異常,運行時異常?並分別舉例說明。
3二、finally塊必定會執行嗎?
3三、正常狀況下,當在try塊或catch塊中遇到return語句時,finally語句塊在方法返回以前仍是以後被執行?
3四、try、catch、finally語句塊的執行順序。
3五、Java虛擬機中,數據類型能夠分爲哪幾類?
3六、怎麼理解棧、堆?堆中存什麼?棧中存什麼?
3七、爲何要把堆和棧區分出來呢?棧中不是也能夠存儲數據嗎?
3八、在Java中,什麼是是棧的起始點,同是也是程序的起始點?
3九、爲何不把基本類型放堆中呢?
40、Java中的參數傳遞時傳值呢?仍是傳引用?
4一、Java中有沒有指針的概念?
4二、Java中,棧的大小經過什麼參數來設置?
4三、一個空Object對象的佔多大空間?
4四、對象引用類型分爲哪幾類?
4五、講一講垃圾回收算法。
4六、如何解決內存碎片的問題?
4七、如何解決同時存在的對象建立和對象回收問題?
4八、講一講內存分代及生命週期。
4九、什麼狀況下觸發垃圾回收?
50、如何選擇合適的垃圾收集算法?
5一、JVM中最大堆大小有沒有限制?
5二、堆大小經過什麼參數設置?
5三、JVM有哪三種垃圾回收器?
5四、吞吐量優先選擇什麼垃圾回收器?響應時間優先呢?
5五、如何進行JVM調優?有哪些方法?
5六、如何理解內存泄漏問題?有哪些狀況會致使內存泄露?如何解決?
5七、從分佈式系統部署角度考慮,分哪幾層?
5八、如何解決業務層的數據訪問問題?
5九、爲了解決數據庫服務器的負擔,如何作數據庫的分佈?
60、什麼是著名的拜占庭將軍問題?
6一、爲何說TCP/IP協議是不可靠的?
6二、講講CAP理念。
6三、怎麼理解強一致性、單調一致性和最終一致性?
6四、分佈式系統設計你會考慮哪些策略?
6五、最多見的數據分佈方式是什麼?
6六、談一談一致性哈希算法。
6七、paxos是什麼?
6八、什麼是Lease機制?
6九、如何理解選主算法?
70、OSI有哪七層模型?TCP/IP是哪四層模型。
【阿里巴巴面試題目含答案】
1,mysql的三大引擎是啥?
mysql經常使用的引擎有InnoDB,MyISAM,Memory,默認是InnoDB
InnoDB:磁盤表,支持事務,支持行級鎖,B+Tree索引
ps:優勢: 具備良好的ACID特性。適用於高併發,更新操做比較多的表。須要使用事務的表。對自動災難恢復有要求的表。
缺點:讀寫效率相對MYISAM比較差。佔用的磁盤空間比較大。
mysql的4大特性+4種隔離級別:
MyISAM:磁盤表,不支持事務,支持表級鎖,B+Tree索引
ps: 優勢:佔用空間小,處理速度快(相對InnoDB來講)
缺點:不支持事務的完整性和併發性
MEMORY(Heap):內存表,不支持事務,表級鎖,Hash索引,不支持Blob,Text大類型
ps: 優勢:速度要求快的,臨時數據
缺點:丟失之後,對項目總體沒有或者負面影響不大的時候。
2,redis的hash算法用的是啥?
redis應該是使用一致性hash算法—MurmurHash3 算法,具備低碰撞率優勢,google改進的版本cityhash也是redis中用到的哈希算法。
現有的主流的大數據系統都是用的 MurmurHash自己或者改進
3,nosql爲啥比sql快?
Nosql是非關係型數據庫,由於不須要知足關係數據庫數據一致性等複雜特性因此速度快;
sql是關係型數據庫,功能強大,可是效率上有瓶頸
4,什麼是索引爲啥nosql沒索引?nosql有索引滴
索引分爲聚簇索引和非聚簇索引兩種,聚簇索引是按照數據存放的物理位置爲順序的,而非聚簇索引就不同了;聚簇索引能提升多行檢索的速度,而非聚簇索引對於單行的檢索很快。
聚簇索引:有主鍵時,根據主鍵建立聚簇索引;沒有主鍵時,會用一個惟一且不爲空的索引列作爲主鍵,成爲此表的聚簇索引;若是以上兩個都不知足那innodb本身建立一個虛擬的彙集索引
非聚簇索引:非聚簇索引都是輔助索引,像複合索引、前綴索引、惟一索引
5,B+樹和B樹區別?
B樹的非葉子節點存儲實際記錄的指針,而B+樹的葉子節點存儲實際記錄的指針
B+樹的葉子節點經過指針連起來了, 適合掃描區間和順序查找。