2018年終鉅獻:阿里、騰訊最新Java面試題,你準備好進BAT了嗎?
Java基礎
1.程序和執行緒的區別;
2.Java的併發、多執行緒、執行緒模型;
3.什麼是執行緒池,如何使用?
4.資料一致性如何保證;Synchronized關鍵字,類鎖,方法鎖,重入鎖;
5.Java中實現多型的機制是什麼;
6.如何將一個Java物件序列化到檔案裡;
7.說說你對Java反射的理解;
8.同步的方法;多程序開發以及多程序應用場景;
9.在Java中wait和seelp方法的不同;
10.synchronized 和volatile 關鍵字的作用;
11.伺服器只提供資料接收介面,在多執行緒或多程序條件下,如何保證資料的有序到達;
12.抽象類與介面的區別;應用場景;抽象類是否可以沒有方法和屬性;
13.靜態屬性和靜態方法是否可以被繼承?是否可以被重寫?以及原因?
14.修改物件A的equals方法的簽名,那麼使用HashMap存放這個物件例項的時候,會呼叫哪個equals方法;
15.說說你對泛型的瞭解;
16.Java的異常體系;
17.如何控制某個方法允許併發訪問執行緒的個數;
18.動態代理的區別,什麼場景使用;
19.Dex載入過程和優化方式;
20.Jvm和Gc機制;
21常用的設計模式。
22.資料結構與演算法
23.堆和棧在記憶體中的區別是什麼(資料結構方面以及實際實現方面);
24.最快的排序演算法是哪個?給阿里2萬多名員工按年齡排序應該選擇哪個演算法?堆和樹的區別;寫出快排程式碼;連結串列逆序程式碼;
25.求1000以內的水仙花數以及40億以內的水仙花數;
26.子串包含問題(KMP 演算法)寫程式碼實現;
27.萬億級別的兩個URL檔案A和B,如何求出A和B的差集C,(Bit對映->hash分組->多檔案讀寫效率->磁碟定址以及應用層面對定址的優化)
28.蟻群演算法與蒙特卡洛演算法;
29.寫出你所知道的排序演算法及時空複雜度,穩定性;
30.自己集合實現一個佇列
31.自己實現執行緒安全類
32.快速排序和冒泡的排序,怎麼轉換一下。

Hibernate/Ibatis兩者的區別
Hibernate一級和二級快取
Hibernate實現叢集部署
Hibernate如何實現宣告式事務
簡述Hibernate常見優化策略
Spring bean的載入過程(推薦看Spring的原始碼)
Spring bean注入方式
Spring的事務管理(推薦看Spring的原始碼)
Spring事務的傳播特性
springmvc原理
springmvc用過哪些註解
Restful有幾種請求
Restful好處
Tomcat,Apache,JBoss的區別
memcached和redis的區別
有沒有遇到中文亂碼問題,如何解決的
如何理解分散式鎖
你知道的開源協議有哪些
json和xml區別

三、設計模式:
設計模式的六大原則
常用的設計模式
用一個設計模式寫一段程式碼或畫出一個設計模式的UML
如何理解MVC
高內聚,低耦合方面的理解

四、資料結構:
佇列、棧、連結串列、樹、堆、圖
編碼實現佇列、棧
作業系統:
作業系統什麼情況下會死鎖
產生死鎖的必要條件
死鎖預防
資料庫:
正規化
資料庫事務隔離級別
資料庫連線池的原理
樂觀鎖和悲觀鎖
如何實現不同資料庫的資料查詢分頁
SQL%E6%B3%A8%E5%85%A5/">SQL注入的原理,如何預防
資料庫索引的實現(B+樹介紹、和B樹、R樹區別)
SQL效能優化
資料庫索引的優缺點以及什麼時候資料庫索引失效
10.Redis的儲存結構
網路:
OSI七層模型以及TCP/IP四層模型
HTTP和HTTPS區別
HTTP報文內容
get提交和post提交的區別
get提交是否有位元組限制,如果有是在哪限制的
TCP的三次握手和四次揮手
session和cookie的區別
HTTP請求中Session實現原理
redirect與forward區別
安全:
如果客戶端不斷的傳送請求連線會怎樣
DDos攻擊
DDos預防
那怎麼知道連線是惡意的呢?可能是正常連線
其它:
說一個你參與的專案、其中作為什麼角色
遇到最困的問題是什麼,怎麼解決的
你認為自己有那些方面不足
平常如何學習的
如何評價自己
智力題:
給你50個紅球和50個黑球,有兩個一模一樣的桶,往桶裡放球,讓朋友去隨機抽,採用什麼策略可以讓朋友抽到紅球的概率更高?
從100個硬幣中找出最輕的那個假幣?
總結:
以上這些考察的知識點,在強大的網際網路上都可以搜尋到答案,有些答案可能不是很全,所以需要自己去總結,但是對於一些需要知道原理的知識點,還是推薦看原始碼或者對於的書,然後總結得到自己的東西,這樣既學到真東西,還不會很容易忘。Java基礎的知識點推薦《Java程式設計思想》,JVM的推薦《深入理解Java虛擬機器》,Spring原理的推薦《Spring原始碼深度解析》,對於網站架構的推薦《大型網站技術架構核心原理與案例分析》。
以上面試題答案和資料獲取方式,加群:952124565,進群即可獲取。