面試大概九十分鐘,問的東西很全面,需要做充足準備,就是除了概念以外問的有點懵逼了(嗚嗚嗚~),回來之后把這些題目做了一個分類并整理出答案(強迫癥的我~狂補知識~)分為MySQL+Java+Redis+演算法+網路+Linux等六類,接下來分享一下我的這次阿里一面面經++一些我的學習筆記,
01 MySQL相關
1.1 面試問題
- MySQL有哪些鎖?
- 解釋一下ACID都是什么
- Innodb中索引的實作
- B+樹
- AUTO_INCREMENT原理(考察并發情況)
- 資料庫的索引有哪幾種?為什么要用B+樹來做索引?組合索引和幾個單個的索引有什么區別?資料庫的大表查詢優化了解嗎?MVCC機制了解不?MVCC機制有什么問題?怎么去解決這個問題?mysql慢陳述句調優做過嗎?說說你是怎么做的?
1.2 我的MySQL學習筆記
(1)20個高頻MySQL面試知識點
- 事務四大特性(ACID)原子性、一致性、隔離性、持久性?
- 事務的并發?事務隔離級別,每個級別會引發什么問題,MySQL默認是哪個級別?
- MySQL常見的三種存盤引擎(InnoDB、MyISAM、MEMORY)的區別?
- MySQL的MyISAM與InnoDB兩種存盤引擎在,事務、鎖級別,各自的適用場景?
- 查詢陳述句不同元素(where、jion、limit、group by、having等等)執行先后順序?
- 什么是臨時表,臨時表什么時候洗掉?
- MySQL B+Tree索引和Hash索引的區別?
- sql查詢陳述句確定創建哪種型別的索引?如何優化查詢?
- 聚集索引和非聚集索引區別?
- 有哪些鎖(樂觀鎖悲觀鎖),select 時怎么加排它鎖?
- 非關系型資料庫和關系型資料庫區別,優勢比較?
- 資料庫三范式,根據某個場景設計資料表?
- 資料庫的讀寫分離、主從復制,主從復制分析的 7 個問題?
- 使用explain優化sql和索引?
- MySQL慢查詢怎么解決?
- 什么是 內連接、外連接、交叉連接、笛卡爾積等?
- mysql都有什么鎖,死鎖判定原理和具體場景,死鎖怎么解決?
- varchar和char的使用場景?
- mysql 高并發環境解決方案?
- 資料庫崩潰時事務的恢復機制(REDO日志和UNDO日志)?

(2)MySQL學習思維腦圖(xmind)

注意注意:需要小編整理的MySQL+Java+Redis+演算法+網路+Linux等六類面試答案、學習筆記、思維腦圖(xmind)的朋友:點贊關注后,私信我【學習資料】即可(一定要記得關注我,不然沒辦法回復陌生人私信)
02 Java相關
2.1 面試問題
- JVM記憶體模型
- GC垃圾回收演算法
- 講解新生代 老年代
- java的基本型別有哪幾個?String是不是java的基本型別?String為什么要是final型別的?
- 說一下JVM的執行緒模型?這些區域都分別是干啥用的?java執行緒模型和jvm執行緒模型注意區分
2.2 我的JAVA學習筆記
(1)JAVA面試寶典

(2)JAVA并發體系學習思維腦圖(xmind)

(3)多執行緒并發編程學習思維腦圖(xmind)

03 Redis相關
3.1 面試問題
- redis了解嗎?你說說怎么用redis實作分布式鎖?
- Redis常用資料結構及底層資料結構實作
- 如何解決 Redis 的并發競爭 Key 問題
- 如何保證快取與資料庫雙寫時的資料一致性?
3.2 我的Redis學習筆記
(1)14個高頻Redis知識點
- redis 簡介
- 為什么要用 redis /為什么要用快取(高性能、高并發)
- 為什么要用 redis 而不用 map/guava 做快取?
- redis 和 memcached 的區別
- redis 常見資料結構以及使用場景分析(String、Hash、List、Set、Sorted Set)
- redis 設定過期時間
- redis 記憶體淘汰機制(MySQL里有2000w資料,Redis中只存20w的資料,如何保證Redis中的資料都是熱點資料?)
- redis 持久化機制(怎么保證 redis 掛掉之后再重啟資料可以進行恢復)
- redis 事務
- Redis 常見例外及解決方案(快取穿透、快取雪崩、快取預熱、快取降級)
- 分布式環境下常見的應用場景(分布式鎖、分布式自增 ID)
- Redis 集群模式(主從模式、哨兵模式、Cluster 集群模式)
- 如何解決 Redis 的并發競爭 Key 問題
- 如何保證快取與資料庫雙寫時的資料一致性?

(2)Redis學習思維腦圖(xmind)

04 思維/演算法
4.1 面試問題
- 使用O(N)復雜度完成GBDT分裂
- 找出無序陣列中相隔距離最長的逆序對
- 給出一個rand5(),實作一個分布均勻的rand7()生成器
- 有一個點,向北走5公里、東走10km、向南走5公里,回到原點,這樣的點有幾個,證明,
- 有一個n克的物體、一個天平和若干砝碼,這個天平沒有刻度,試問最少用多少個什么樣的砝碼可以將這個物體的質量稱出,砝碼的質量和個數自行指定,
4.2 演算法刷題
- 編程技巧
- 線性表
- 字串
- 堆疊和佇列
- 樹
- 排序
- 查找
- 暴力列舉法
- 廣度優先搜索
- 深度優先搜索
- 分治法
- 貪心法
- 動態規劃
- 圖
- 細節實作題

05 網路相關
5.1 面試問題
- OSI七層模型都是什么
- 舉例網路協議,都在哪個層
- TCP UDP區別
- TCP如何實作可靠連接
- Time_Wait中2*msl 為什么
- 如果TCP突然接收方故障 會發生什么
- HTTP狀態碼 含義,503 504,200
- GET POST區別
- 一個url從輸入到訪問經過了哪些程序
- 說一說TCP三次握手和四次揮手
5.2 JAVA核心知識整理
(JVM,JAVA集合,網路,JAVA多執行緒并發,JAVA基礎,Spring原理,微服務,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,設計模式,負載均衡,資料庫,一致性哈希,JAVA演算法,資料結構,加密演算法,分布式快取)

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/165761.html
標籤:其他
