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.快速排序和冒泡的排序,怎麼轉換一下。
二、Spring mvc與Struts區別
Hibernate/Ibatis兩者的區別
Hibernate一級和二級緩存
Hibernate實現集群部署
Hibernate如何實現聲明式事務
簡述Hibernate常見優化策略
Spring bean的加載過程(推薦看Spring的源碼)
Spring如何實現AOP和IOC
Spring bean注入方式
Spring的事務管理(推薦看Spring的源碼)
Spring事務的傳播特性
springmvc原理
springmvc用過哪些註解
Restful有幾種請求
Restful好處
Tomcat,Apache,JBoss的區別
memcached和redis的區別
有沒有遇到中文亂碼問題,如何解決的
如何理解分佈式鎖
你知道的開源協議有哪些
json和xml區別
三、設計模式:
設計模式的六大原則
常用的設計模式
用一個設計模式寫一段代碼或畫出一個設計模式的UML
如何理解MVC
高內聚,低耦合方面的理解
四、數據結構:
隊列、棧、鏈表、樹、堆、圖
編碼實現隊列、棧
操作系統:
操作系統什麼情況下會死鎖
產生死鎖的必要條件
死鎖預防
數據庫:
範式
數據庫事務隔離級別
數據庫連接池的原理
樂觀鎖和悲觀鎖
如何實現不同數據庫的數據查詢分頁
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源碼深度解析》,對於網站架構的推薦《大型網站技術架構核心原理與案例分析》。
以上面試題答案和資料獲取方式
關注+轉發後,私信關鍵詞 【bat】即可獲取!
重要的事情講兩遍,轉發、轉發、轉發後再發私信,才可以拿到哦!