金九銀十,不知不覺又到了面試找工作的高峰期,作為剛出爐的程式猿。經驗不足的硬傷,如果面試能深得面試官的心也完全能彌補的。小編為你們準備了關於Java常見的面試題,面試前充充電吧~
1、作業系統中 heap 和 stack 的區別
堆:堆空間一般由程式設計師來分配,可以由垃圾回收機制來回收。一般用來存放new建立的物件和陣列。
棧:棧是“後進先出”的儲存空間,一般用來儲存基本型別的資料和物件的引用。
2、什麼是基於註解的切面實現
用註解的方式實現的面向切面程式設計(AOP),可以在某個方法的執行前或者執行後插入一些程式碼(例如日誌功能的程式碼)
3、 什麼是 物件/關係 對映整合模組
物件/關係對映(ORM):是指將程式中的物件自動持久化到關係型資料庫中
4、 什麼是 Java 的反射機制
反射機制:是指程式可以在執行時 訪問 或 修改 它本身狀態和方法的這種能力。
5、 什麼是 ACID
A:atom 原子性
C:consistency 一致性
I:isolation 隔離性
D:durability 永續性
6、BS與CS的聯絡與區別
C/S(Client/Server):是指需要安裝的客戶端應用程式。
B/S(Brower/Server):是指可以用瀏覽器直接訪問的應用程式。
7、Cookie 和 Session 的區別
Cookie:是把資料儲存在瀏覽器本地,並隨著每一次請求傳送到伺服器。
Session:是把使用者資料儲存在伺服器端。
8、fail-fast 與 fail-safe 機制有什麼區別
fail-fast(快速失敗):快速失敗機制在遍歷一個集合時,如果集合內容被修改,會丟擲ConcurrentModificationException異常。
fail-safe(安全失敗):安全失敗機制對集合的任何修改都會在一個複製的集合上進行,因此不會丟擲異常。
9、get 和 post請求的區別
get:
1、請求的引數會附加在URL之後,多個引數用 & 連線。
2、因為URL的長度限制,get 方式傳輸的資料大小有所限制。
3、安全性低,因為傳輸的資料會顯示在請求的URL中。
post:
1、將請求引數放置在 HTTP 資料包,傳送給伺服器。
2、傳送的資料量比較大
3、安全性較高
10、Interface 與 abstract 類的區別
1、介面(Interface)需要被實現,抽象類(abstract類)需要被繼承。
2、一個類可以實現多個介面,但一個類只能繼承一個抽象類。
3、接口裡面的方法全部是抽象的,抽象類裡面可以有非抽象的方法。
以上就是Java面試中經常被問的概念,要熟記並且要構成自己的知識體系架構,這樣哪怕是面試官再往深處問也能對答如流了。