阿里面試問題(轉牛客網上分享的題目)

2021-08-13 06:51:15 字數 1186 閱讀 8362

【阿里】

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

詳細見: 

6,hadoop2.0跟1.0相比有啥區別?

1、hadoop2.0的namenode有熱備份,1.0沒有熱備份,namenode掛掉整個系統就癱瘓了

阿里面試問題

1.雜湊map,衝突解決方法,鍊錶法,擴容法 loadfactor,capacity 為什麼擴容會降低衝突,舉例,雜湊函式為取模法,這樣擴容的話,雜湊值就會不同 2.tcp ip協議的三次握手 3.資料庫的索引原理,提高資料庫效能的優化方法 4.鎖。樂觀鎖,悲觀鎖 5.高併發。執行緒池的執行機制,當...

牛客網上,華為迷宮問題

定義乙個二維陣列n m 其中2 n 10 2 m 10 如5 5陣列下所示 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從左上角到右下角的最短路線。入口點為 0,0 既第一空格是可以走的路。input 乙個n m的二...

牛客面試 車站建造問題

牛客面試 車站建造問題 有108個村莊排在一條公路上,依次編號為0 108 1,相鄰村莊距離為1,其中有n個村莊居住著牛牛,居住著牛牛的村莊從小到大依次為a0 an 1,其中保證a0 0.現在需要建設車站,有兩個要求必須被滿足 1 每個有牛牛居住的村莊必須修建車站。2 相鄰車站的距離必須為1或為某個...