前段時間遇到剛畢業沒多久的實習生,已經在阿里實習中經受苦難50多天了🤣,向他請教了一些他的面試經歷,在這分享給大家
以下正文
情況介紹:
本科階段:人在雙非,問就是混
當前寧波某軟院渣碩,去年7月份開始Java的學習,道阻且長
當前面試情況:騰訊(一面掛)、美團(二面掛)、網易嚴選(成功)、杭州位元組lark(口頭offer)、阿里新零售業務平臺(成功)、滴滴交易平臺(HR面)
面筋總結:
因為并不是每家都有做錄音,忘了一些面試問題,就貼一下面過比較普適性的問題,
此外, 只是做一點些關鍵詞的提示,具體達到面試要求需要自己去詳細的理解和掌握
文章所有面試題和答案小編都為大家整理了:戳這里免費領取,暗號:CSDN,還有更多大廠面試專題資料哦
JVM:
1. 【高頻】Java記憶體區域 :
{ 程式計數器 , 虛擬機堆疊 ,本地方法堆疊 , 堆 ,方法區 ,元空間 } // 每個區域要能介紹一下
2. Minor GC 觸發條件 : eden區剩余記憶體是否足夠 兩種情況分開分析
FULL GC 觸發條件 : Minor GC 平均晉升空間大小 > 老年代連續剩余空間,則觸發FULL GC
3. 【高頻】 判斷物件死亡的方法 : { 參考計數法 , 可達分析演算法 }
深入一些,:GC root物件有哪些?為什么選擇他們做GC root物件
4. 垃圾收集演算法 : { 標記清除演算法 、標記整理演算法 、 復制演算法 、 分代收集演算法 }
深入一些: 各個演算法的優點和適用場景
5. 垃圾收集器 : { serial 、 parallel 、 CMS 、 G1 }
CMS 、G1 重點 , 介紹作業流程和優缺點
6. 記憶體泄漏
例子: { 單例 , 容器 等等}
原因 : 長生命周期持有短生命周期參考
7. 參考型別 ; { 強參考、 軟參考、 弱參考 、 虛參考 }
8. 【高頻】 類加載程序 : { 加載 , 連接 , 初始化 }
有哪些類加載器 , 能否自定義 Java.Object.String 的類加載器 ?
9. 【高頻】 雙親委派機制 介紹 & 作用
Java :
1. ArrayList 和 LinkedList 的區別
2. HashMap & ConcurrentHashMap 的比較 : 執行緒安全問題等等
深入一些 : HashMap 為什么執行緒不安全? 能否舉例 = { 并發resize()觸發倍訓結構 ,覆寫put操作 }
3. 【高頻】 HashMap 的 相關問題 // HashMap系列需要通過關鍵原始碼理解,比較重要
為什么 HashMap的size 為 2的冪次方 ?
HashMap resize()程序能否介紹 ?
HashMap效率受什么影響 (負載因子、hash陣列size)?
HashMap中擾動函式的作用 ?
4. Hashtable 和 HashMap的區別 : { 底層資料結構 (JDK1.8后不同)、父類不同 、擴容方法不同 、 執行緒上鎖范圍不同(重點) }
5. equals 和 == 區別
5. 為啥重寫equals要重寫hashCode()
hash值相等,而兩個物件不一定equals
6 . 【高頻】 String StringBuffer StringBuilder 區別 和各自使用場景
深入一些 : String 是如何實作它不可變的? 為什么要設定String為不可變物件 ? (位元組一面這個問題給我問懵了)
7. 介面和抽象類區別
8. 重寫和多載的區別
9. 深拷貝和淺拷貝區別
10. Java三大特性
11. Object的方法 : { finalize 、 clone、 getClass 、 equals 、 hashCode }
12. 【高頻】 設計模式 : { 單例模式 、 工廠模式 、 裝飾者模式 、 代理模式 、 策略模式 等等} (此處我的掌握也不是很好)
13. 深入一些 : 單例模式為什么采用雙檢測機制 ? 單例為什么用Volatile修飾? 裝飾模式和代理模式區別?
并發 :
1. 執行緒的狀態 : { new ,runnalbe , wait , time-wait , block , terminated }
2. 行程 、 執行緒 、 協程 的含義和區別 // 個人理解 是一組漸進提出的概念
3. 行程間通信方式 : { 管道 、FIFO 、 信號量 、 共享記憶體 、 訊息佇列 、 Socket }
4. 如何避免死鎖 ? 死鎖的四個必要條件
5. Sleep和wait的區別
6. 【高頻】Sychronized 和 lock 的區別 ?
7. Sychronized的底層優化 : { 無鎖、偏向鎖、輕量級鎖 、重量級鎖 }
8. volatile的作用 : { 指令重拍 、 保證變數的可見性(設計JMM)}
9. ThreadLocal 底層原理
10. 【高頻】 執行緒池
11. 執行緒池構造器涉及哪些引數 : { corePoolSize , maximumPoolSzie , timeout , timeUnit , RejectHandler , 等待佇列 , 執行緒工廠 }
12. 介紹執行緒池作業程序?
13. 執行緒池拒絕策略那些?
14. 適用Executor創建執行緒池的弊端?
15. AQS 框架原理和 原始碼理解
計網 :
1. TCP/IP 模型 & OSI模型
2. 應用層、傳輸層、網路層常見協議 : { DNS 、 HTTP 、FTP、 STMP 、SSL、 TCP、 UDP、 ARP、 IP }
3. 【高頻】 TCP 三次握手 、 TCP四次揮手
深入一些 : 為什么三次握手,能否兩次?
四次揮手中什么是 time_wait 狀態 ? close-wait 狀態?
time_wait狀態什么場景下過多 , 會造成什么問題?
4. TCP可靠性 : { ARQ 、 流量控制 、 擁塞控制 、 校驗和 }
5. 【高頻】輸入URL顯示主頁的程序 // 個人僅遇過一次,但是看面經感覺問的挺多
6. HTTPS 和HTTP 區別 // 位元組專屬問題
深入一些 : HTTPS 加密程序介紹 ?
7. Cookie和Session的區別
8. Http1.0 和HTTP1.1 和 Http2.x 的區別
9. get和post的區別
10. 常見的狀態碼
作業系統(相對較少):
1. 用戶態和內核態的區別
2. fork()作用
3. Select poll epoll的區別
4. 虛擬記憶體作用? 記憶體分頁的作用?
5. 缺頁例外的介紹
6 . OOM問題和 StackOverFlow的區別
MySQL:(對redis 需要學習 , 個人理解不深不多介紹) // MySQL比較重要
1. 【高頻】MyISAM 和 InnoDB的區別 : {是否支持行鎖 、 是否支持十五 、 是否支持 MVCC 、 底層索引結構不同 }
2. 事務特性ACID
深入一些 : 為什么要有一致性 ? AID不是已經保證了一致性了嗎 ?
3. 并發事務帶來的問題 : { 臟讀 、 修改丟失 、 不可重復讀 、 幻影讀 }
4. 【高頻】事務的隔離級別
5, 【高頻】 MVCC機制
6 . 【高頻】索引
為什么索引使用B+樹結構,而不是B樹
為什么索引使用B+樹結構,而不是紅黑樹 : { 磁盤預讀取 、紅黑樹高度 }
7. 聚簇索引和非聚簇索引區別? 主鍵索引和二級索引了解嗎?
8 . 為什么不對每個列創建索引呢?
9. 【高頻】SQL陳述句優化 ,SQL題目(位元組要求擼代碼)
10. explain中 rows type key extra欄位的含義?
11. count(1) count(*) count(列值)的區別
其他:
需要了解linux的指令和 git指令 ,
對一些大資料場景題需要了解, 例如 1億資料取top10 , 1億資料取出現頻率top10,1億URL取出重復URL
64匹馬,8個跑道,最少比賽幾次選出前八?等智力題(位元組常考)
此外,專案相關的知識體系需要準備, 例如專案涉及Netty和Zookeeper,則會去準備相應的問題,此處因人而異,
以上的面試問題及答案小編都為大家準備好啦,戳這里免費領取,暗號:CSDN就可以免費領取啦,還為大家準備了更多其他學習資料哦



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