2018最新螞蟻金服面試題:Docker+秒殺設計+RocketMQ+億級資料設計
一面:
1 自我介紹
2 講一下ArrayList和linkedlist的區別,ArrayList的擴容方式,擴容時機。
3 hashmap的實現,以及hashmap擴容底層實現。
4 NIO瞭解麼,講一下和BIO的區別,AIO呢。阻塞,非阻塞,非同步。具體。
5 你說了解分散式服務,那麼你怎麼理解分散式服務。
6 你說了解Tomcat的基本原理,瞭解的是哪一部分,基本架構,connector和container
7 你在專案中怎麼用到併發的。
8 docker和虛擬機器講一下。
9 高併發情況下,如何使用執行緒池
10 併發juc瞭解麼,有哪些執行緒安全的list。
二面
1 專案
2 說一下Spring原始碼把,它的架構,流程。
3 Spring的bean如果要在例項化過程中修改其某一個成員變數,應該怎麼做呢。不通過構造方法,並且AOP也並不能實現。
4 Tomcat的類載入器瞭解麼,回答不瞭解只瞭解Java的類載入器。
5 自定義類載入器怎麼實現,其中哪個方法走雙親委派模型,哪個不走,不走的話怎麼載入類(實現findclass方法,一般用defineclass載入外部類),如何才能不走雙親委派。(重寫loadclass方法)
6 布隆過濾器瞭解麼,講了ip地址過濾的布隆過濾器實現。
7 聽說你專案用過docker,講一下docker的實現原理,說了虛擬機器一般要對核心進行虛擬化,docker則用cgroup和namespace分別進行硬體和名稱空間的隔離。
8 dubbo的基本架構,幾個元件說一下
9 dubbo的負載均衡怎麼做,講一下具體程式碼實現。
10 參與專案的挑戰在哪裡,有哪些收穫。
三面
主要還是問中介軟體
1 阿里的dubbo,rocketmq的事務訊息的架構設計
2 mycat實現分表分庫方案實現
3 訊息佇列kafka和rabbitmq等
4 分庫分表,分片規則hash和取餘數。
5 資料庫萬級變成億級,怎麼處理
6 雙11秒殺的設計思路
以上就是最新螞蟻金服中介軟體團隊面試題,以下是總結的阿里等java必考題範圍和答案。
阿里技術面試回顧:
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+樹的葉子節點通過指標連起來了, 適合掃描區間和順序查詢。
瞭解最新的學習動態;瞭解最新的阿里、京東招聘資訊;獲取更多的面試資料以及阿里架構師精講資料及視訊資源,歡迎加入Java進階之路:878249276。