我給出的一份Java服務器端面試題-適合電話面試

這部份內容,參考了《面試官的七種武器》一文。 電面與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

相關文章
相關標籤/搜索