第四範式 Java 開發實習生面試

一面

  • 自我介紹
  • 介紹一下項目
  • Exception && Error
  • synchronized關鍵字static修飾和沒有static修飾
    • 比如synchronized修飾方法,讓循環輸出1-10,new兩個類,調用該線程
    • 作用域不同,static修飾指同步類,輸出兩次1-10
    • 非static修飾,是同步局部變量,不能確定結果
  • final修飾字段,方法,類
    • 字段不可變
    • 方法不可override
    • 類不能被繼承
  • String,StringBuilder,StringBuffer
    • String不可變,源碼是用final修飾的private數組,同時方法等沒改變數組的值
    • StringBuilder,StringBuffer都可變,StringBuffer線程安全
  • ArrayList和LinkedList
    • 同:實現List接口
    • 異:ArrayList查 O(1),增刪 O(n)
    • LinkedList查 O(n),增刪 O(1)
  • 知不知道Dequeue?
  • 實現最小棧GetMin()
    • leetcode原題 155.Min Stack

Q: Exception && Error

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-wRq1Vj0T-1588923946285)(http://p9fh1pach.bkt.clouddn.com/20160603151809323.jpeg)]

A: Error和Exception都繼承自Throwable

Exception:

RuntimeException 類及其子類表示“JVM 常用操作”引發的錯誤

  • 可以是可被控制(checked)或者不可控制(unchecked);
    • unchecked exception(非檢查異常): 運行時異常,比如常見的NullPointerException、IndexOutOfBoundsException。對於運行時異常,java編譯器不要求必須進行異常捕獲處理或者拋出聲明,由程序員自行決定。
    • checked exception(檢查異常,編譯異常): 非運行時異常,java編譯器強制程序員必須進行捕獲處理,比如常見的IOExeption和SQLException。對於非運行時異常如果不進行捕獲或者拋出聲明處理,編譯都不會通過。
  • 表示一個由程序員導致的錯誤;
  • 應該在應用程序級被處理;

Error:

大多數錯誤與代碼編寫者執行的操作無關,而表示代碼運行時 JVM(Java 虛擬機)出現的問題。

  • 總是不可控制的(unchecked);
  • 經常用來表示系統錯誤或者底層資源錯誤;
  • 如果可能的話,應該在系統級被捕捉;

二面

  • 自我介紹
  • 項目介紹比較詳細
  • 問了下熟悉的技術
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章