1. 程式人生 > >2018最新淘寶面試出爐:分散式鎖+叢集+一致Hash演算法+底層技術原理

2018最新淘寶面試出爐:分散式鎖+叢集+一致Hash演算法+底層技術原理

是需要掌握牢固,重點會問HashMap等集合類,以及多執行緒、執行緒池等。

3600_7_62zvvEWyeQmOO8Hn

 

原文連結:https://blog.csdn.net/SpringJavaMyBatis/article/details/83415696

 

3624_7_1FgCG6krk2RKcr

 

3649_7_626gFTyGetW17g5j

 

3671_7_8B9cAhsTcOqnOt

阿里技術面試回顧:

1.Java基礎還是需要掌握牢固,重點會問HashMap等集合類,以及多執行緒、執行緒池等。

2.Java AIO BIO NIO等

3.Redis的使用以及最常問的一致hash演算法,以及訊息佇列的非同步場景等。

4.各種平時經常使用的開源框架Spring等,從原理到技術細節。

5.高併發場景的技術方案。

6.以及微服務等架構設計。

這些技術範圍的面試題目還是需要平時多學習和積累,提前準備充分,面試通過率就會高很多,最後總結了部分阿里Java必考題目用於參考~

【阿里巴巴面試題目含答案】

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+樹的葉子節點通過指標連起來了, 適合掃描區間和順序查詢。

BATJ面試題目

以下列舉22個視訊資料。

作為一個開發者,有一個學習的氛圍跟一個交流圈子特別重要這是一個我的QQ群架構華山論劍:836442475,不管你是小白還是大牛歡迎入駐 ,分享BAT,阿里面試題、面試經驗,討論技術, 大家一起交流學習成長!

1,應該怎麼封裝簡歷才有BATJ面試機會?

2,HashMap底層執行原理,

3,hashtable和ConcurrentHashMap如何實現執行緒安全?

4,jvm的記憶體佈局,垃圾回收機制

5,類載入機制裡的,雙親委派模型

6,闡述事務的隔離級別和傳播屬性

7,高併發下,如何做到安全的修改同一行資料?

8,A服務呼叫B服務多介面,響應時間最短方案;

9,A系統給B系統轉100塊錢,如何實現?

10,動態代理的幾種實現方式及優缺點

11,多執行緒下讀概率遠遠大於寫概率,如何解決併發問題?

12,按執行緒池內部機制,當提交新任務時,有哪些異常要考慮?

13,@Transaction註解一般寫在什麼位置?如何控制其回滾?

14,說說Spring的IOC容器初始化流程?

15,說說springboot啟動機制

16,Redis高效能的原因大概可以講一些?

17,你是怎麼控制快取的更新?(被動方式/主動方式/增量/全量)?

18,淺析Http和https的三次握手有什麼區別。

19,談談Session/cookie機制,如何實現會話跟蹤?

20,什麼是一致性hash?

21,MQ有可能發生重複消費,如何避免,如何做到冪等?

22,如何做限流策略,令牌桶和漏斗演算法的使用場景?