1. 程式人生 > 其它 >面試--Java高階高頻面試題

面試--Java高階高頻面試題

  1. 問題一(Linux常用服務類相關命令):
  2. 問題二(git分支相關命令和實際應用):

    1. 檢視分支:git branch -v
      新建分支:git branch 分支名
      合併分支:git chekout master(切換到主分支) +git merge 分支名
      切換分支:git checkou 分支名
      新建並切換分支:git checkout -b 分支名:
      刪除分支:git chckout master + git branch -D 分支名
  3. 問題三(Redis持久化):

    1. RDB

    2. AOF:

  4. MySQL什麼時候建立索引:

    1. 索引:幫助我們快速查詢資料的資料結構

    2. 索引的優缺點:

      1. 提高檢索速度,查詢速度快,減少IO的次數,

      2. 對索引欄位已經排好序,加快排序速度,減少cpu的消耗

    3. 索引的缺點:

      1. 對資料進行更新速度慢,因為門不僅需要維護資料表,還要 維護索引表

      2. 會佔有我們的磁碟空間

    4. 索引的應用場景:

      1. 主鍵會自動建立索引

      2. 頻繁作為條件查詢的欄位

      3. 外來鍵欄位

      4. 排序欄位

      5. 統計或分組欄位

      6. 符合索引的價效比高於單索引

    5. 不適合建立索引的情況:

      1. 表中資料特別少

      2. 條件查詢用不到的欄位

      3. 過濾性不好的欄位

      4. 經常增刪改的欄位

  5. JVM垃圾回收機制:

    1. 四種演算法:
    2. 預設的垃圾回收機制:

      1. jdk1.7 預設垃圾收集器Parallel Scavenge(新生代)+Parallel Old(老年代)

      2. jdk1.8 預設垃圾收集器Parallel Scavenge(新生代)+Parallel Old(老年代)

      3. jdk1.9 預設垃圾收集器G1

      4. -XX:+PrintCommandLineFlagsjvm引數可檢視預設設定收集器型別

      5. -XX:+PrintGCDetails亦可通過列印的GC日誌的新生代、老年代名稱判斷

    3.