這部份內容,參考了《面試官的七種武器》一文。 電面與face2face的面試仍是有區別的,不少考察方式沒法使用。html
從簡歷聊起,逐漸進入正題。java
Java語法ios
重載與重寫的區別?面試
java如何實現多態?算法
StringBuilder StringBuffer區別? 數據庫
Nested Class相關概念?設計模式
Inner Class, Static Nested Class的使用?安全
如何在outer world中new一個nested class?性能優化
1 public class Outer { 2 3 public class Inner { 4 5 } 6 } 7 8 9 public class Tester { 10 public static void main() { 11 Outer outer = new Outer(); 12 Inner inner = outer.new Inner(); 13 } 14 }
final finally finalized關鍵字的區別?服務器
static關鍵字都有哪些使用場景(static方法必須,說出static block及格,說出import static會加分)。
初始化塊?
lib
jdk中常見的framework,好比IO
Collection:
HashMap
juc併發框架:
ConcurrentHashMap的實現原理
volatile\sychronized關鍵字的使用
你經常使用的併發容器? BlockingQueue的實現ABQ和LBQ的區別?
顯式鎖與內置鎖的區別?
AQS?
原子操做?
對於Spring來講,要重點掌握IOC和AOP的實現原理,其中AOP要知道動態Proxy和CGLIB兩種實現方式。
對於ORM框架,要重點掌握MyBatis和Hibernate的實現原理和不一樣點。
JVM
JVM的運行時內存區域如何劃分?
JVM內存模型
GC機制: GC: hotspot系列虛擬機有哪些經常使用的GC算法?
JVM的性能調優
類加載機制 雙親委派機制
JIT技術,爲何Oracle的Java虛擬機叫作HotSpot?
手寫代碼
二分查找,快排的思想、時間複雜度分析等等
單鏈表的反轉、判斷單鏈表是否相交
反轉二叉樹、二叉樹的層級遍歷 如何使用隊列來模擬棧的操做?
手寫生產者消費者原型,手寫單例模式
設計模式
單例(線程安全的單例?在Java中雙重檢查加鎖爲何會失效?)
你使用過的設計模式有哪些? 什麼是策略模式?
Java開發中的其餘環節
常見的Web服務器有哪些?
Nignx與Apache的原理及不一樣
瞭解過哪些開源框架?
myBatis 與Hibernate相比,主要優點是?
Spring框架的主要特性是?(AOP和IOC)。
Redis持久化有哪些方式?
什麼是一致性Hash?
什麼是數據庫事務,如何實現數據庫事務? 如何實現分佈式事務?
SQL性能優化方法:select * from table1; 若是有上百萬條記錄,如何優化? 覆蓋索引。
作沒作過運維? ps iostat netstat vmstat之類的命令如何使用,等。JVM監控主要是如何得到java core和heap dump,以及如何分析他們,另一些簡單監控命令如jstack和jmap jhat等也要了解。
系統架構設計
如何設計電商秒殺系統?描述如何從各個環節,減小服務器的壓力?
其餘
項目中最大的挑戰? 如何解決的?
非技術
薪資?加班? 職業規劃?
參考文獻:
http://www.cnblogs.com/lanxuezaipiao/p/3371224.html