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


這部分內容,參考了《面試官的七種武器》一文。 電面與face2face的面試還是有區別的,很多考察方式無法使用。

 

從簡歷聊起,逐漸進入正題。

Java語法

 

重載與重寫的區別?

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM