5年Java開發,面試4大廠(阿里、拼多多、位元組、美團)後,我總結出大廠高頻面試真題及解析

2020-10-19 10:00:23

畢業轉行做開發5年以來, 學到了很多, 加上自己的興趣愛好, 個人認為已經成為了一個合格的程式設計師.

與剛開始找工作面試相同的是都會問一些相同的問題, 不同的是現在面試官會更注重為什麼, 也就是說注重深度而非廣度. 3年, 5年, 10年分別是個人從事技術方面職業規劃中的一個坎, 3年大部分時間應對了業務邏輯, 培養良好的規範和思想, 基礎知識還是欠缺.

找工作時, 除了薪資符合個人職業規劃也是相當重要的.廢話少說, 以下是我前兩天面試總結的面試題.

  • 集合
  • hashmap結構及原理
  • 擴容因子, 如何擴容, 資料結構圖….
  • ArrayList, LinkedList 原理及區別(畫出資料結構)
  • 集合四要素: 是否可重複, 是否允許空值, 是否有序, 是否執行緒安全…
  • 執行緒安全集合,map 為什麼是執行緒安全的, 哪些操作關係到執行緒安全
  • 演演算法
  • 說幾個常見的排序演演算法, 實現原理, 對應的時間空間複雜度, 穩定性
  • 手撕一個演演算法(書寫): 可以選擇冒泡
  • 遞迴演演算法
  • 物件導向
  • 多型的表現
  • 物件導向特徵
  • static的用法
  • String StringBuilder區別, 什麼情況下用’+’. 最好答出javap編譯後’+’實現原理
  • 多執行緒
  • 執行緒的實現方式
  • 執行緒的狀態
  • 常見執行緒池及使用
  • 一個執行緒結束開始另外一個執行緒的實現方式
  • 執行緒原理(ThreadLocal)
  • start與run的區別
  • 悲觀鎖樂觀鎖
  • IO流
  • 寫一個讀寫檔案
  • 事務相關
  • 事務機制
  • AB分別是一個事務, C裡面有A, B, 如果C裡A或B失敗回滾C是什麼狀態
  • 什麼是事務及使用場景
  • 框架相關
  • Spring , MVC, MyBatis
  • 介紹下Spring以及其常用的註解, Spring IOC實現原理, AOP實現原理及使用場景, 依賴注入原理
  • Spring事務傳播與隔離級別
  • MyBatis對映原理
  • 分散式相關架構
  • 系統架構介紹, 架構設計圖以及什麼場景使用了什麼架構
  • Dubbo機制, Zookeeper機制以及他們的關係
  • Redis資料型別以及使用場景, 重新整理時間間隔
  • Kafka介紹及使用場景承擔的角色
  • 講述一下Storm
  • 資料庫
  • MySQl
  • mysql資料庫儲存型別及其優缺點
  • 分散式分片分庫設計, 主從結構
  • sql優化
  • 索引建立原則(手寫一個SQL)
  • SQL集中DDL, DMl==
  • 建表的規則或者注意事項
  • 資料庫隔離級別及原因
  • 設計模式
  • 介紹下常見的設計模式以及使用場景
  • 寫一個單例模式實現

 

  • HTTP相關介紹,
  • GET, POST的區別
  • JVM相關
  • Java垃圾回收機制
  • Java記憶體結構(與回收機制有關)

 

由於篇幅限制,沒能把答案展示出來。不過我已經把面試題及答案整理成了面試專題檔案,有需要獲取的朋友幫忙點贊後,私信我【面試】就可以了(一定要記得關注我,不然沒辦法回覆陌生人私信)。