社群面試真題系列之1: 完美世界校招面試題


文章很長,而且持續更新,建議收藏起來,慢慢讀!瘋狂創客圈總目錄 博客園版 為您奉上珍貴的學習資源 :

免費贈送 :《尼恩Java面試寶典》 持續更新+ 史上最全 + 面試必備 2000頁+ 面試必備 + 大廠必備 +漲薪必備
免費贈送 經典圖書:《Java高並發核心編程(卷1)加強版》 面試必備 + 大廠必備 +漲薪必備 加尼恩免費領
免費贈送 經典圖書:《Java高並發核心編程(卷2)加強版》 面試必備 + 大廠必備 +漲薪必備 加尼恩免費領
免費贈送 經典圖書:《Java高並發核心編程(卷3)加強版》 面試必備 + 大廠必備 +漲薪必備 加尼恩免費領
免費贈送 經典圖書:尼恩Java面試寶典 最新版 面試必備 + 大廠必備 +漲薪必備 加尼恩免費領
免費贈送 資源寶庫: Java 必備 百度網盤資源大合集 價值>10000元 加尼恩領取


以下面試題,來自於 瘋狂創客圈的卷王群, 是小伙伴們碰到面試整體,收集起來,供大家一齊來學習參考
本系列博客的具體內容,請參見 Java 高並發 發燒友社群:瘋狂創客圈

  • 類加載機制(雙親委派+類加載細節)

  • jvm內存模型

    • 對象創建在什么區域
    • 元空間里放什么
      • jdk8引入原空間有什么用
    • 堆棧的區別
    • jvm收集器、收集器的執行過程
  • 反射

  • String 是不可變的怎么看 , 怎么實現的

    • 我想應該會問final修飾的特點
    • 手寫string 轉int
  • final 、 finally 、 finalize的區別

    • 對finalize的理解
  • 接口和抽象類的區別

  • java中的異常體系

    • ClassNotFindException和NoClassDefError的區別
    • 把你知道的異常說出來
    • RunTimeException和Exception
    • error和Exception的區別
  • gc

    • gc roots 有哪些
    • 怎么判斷一個對象是否可回收
    • CMS和G1的回收過程、區別、幾次STW
    • 擔保機制
    • 會使用到哪些函數
  • java中集合的繼承體系

    • 講一下list set map

    • arrayList和LinkedList的區別 舉例說明?

    • concurrentHashMap是怎么保證線程安全的

    • jdk 1.8 的stream流對集合怎么操作

    • hashMap和紅黑樹的區別

    • TreeMap、LinkedHashMap 、 HashMap底層數據結構

    • HashMap put流程

    • 讓你設計一個HashMap防止死鎖,要怎么設計,使用volatile關鍵字

  • 紅黑樹

    • 數據結構
    • 為什么比鏈表快
  • 線程

    • 創建線程的方式
    • 阻塞線程的方式
    • java中並發創建對象
    • 進程線程、協程的區別
    • volatile
      • 底層原理
    • 線程從running 狀態轉換到blocking狀態
    • synchronized和RentrentLock的區別
    • 線程池的參數以及含義
    • 如果corePoolSize = 0 會怎么樣
    • 產生死鎖的條件
    • reentrantLock介紹、notify源碼
    • 為什么分為用戶態、內核態
    • 什么程序在用戶態執行、什么程序在內核態執行
    • 鎖升級的過程
    • threadLocal的底層實現原理、源碼
    • 信號量
    • 如何保證操作的原子性、不使用同步
    • cas如果一直失敗的解決辦法
    • 鎖、可重入鎖、AQS
    • 並發容器類
    • 線程的狀態
    • sleep和wait的區別
  • mysql、

    • 三大范式
    • 索引在哪些場景下會失效
    • 怎么查看一個sql使用到的索引
    • mysql的持久性是怎么保證的
    • 什么是幻讀
    • mysql是怎么解決幻讀的
    • 索引分類
    • 聚簇索引的葉子節點、非葉子節點都保存什么
    • 命中索引的過程
    • 什么時候不命中索引
    • update語句的執行歷程
    • 覆蓋索引
    • 什么是回表
    • union的使用場景
    • 存儲引擎
  • Spring

    • ioc的好處
    • bean的生命周期
    • 創建bean的方式
    • AOP的切點、切面和通知
    • bean的三級緩存
    • 循環引用問題
    • boot相比於ssm的優點
    • springcloud的各個組件
    • MVC的工作原理
  • MQ

    • 有什么用
    • kafka
      • 消費順序、消費丟失、消費重復
  • mybatis

    • ${}和#{}的區別
  • Http2.0的新特性

  • IO

    • 多路復用
    • 如何確認是一個webSocket的連接
    • NIO
    • 哪個類可以byte轉String
  • 設計模式

    • 單例模式
  • Redis

    • 數據類型
    • 緩存穿透和緩存擊穿
    • 內存淘汰(定期+惰性+策略)
    • 事務與mysql事務比較
    • 持久化機制(用到了哪些)
    • 清除過期數據的幾種策略
      • 具體都是怎么實現的
    • 是單線程的,為什么
    • 快的原因
    • 部署方式
  • TCP

    • 三握四分 (越詳細越好)
    • 滑動窗口協議
    • 輸入一個網頁、返回結果的流程
    • ipv4地址不夠用、解決方案
    • 如何避免中間人攻擊
    • 粘包拆包如何處理
    • 數據量過大如何解決S
  • 算法

    • 二叉樹的層次遍歷
    • 二叉樹的最大深度
    • 完全二叉樹的概念
  • 手撕

    • socket編程、手寫實現客戶端echo
    • 百萬量級的隨機數去判斷1的個數,怎么提高效率;空間足夠
      • 高速緩存
    • 封裝起來,允許空間換時間,設計緩存


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM