Java基礎(chǔ)
1.進(jìn)程和線程的區(qū)別;
2.Java的并發(fā)、多線程、線程模型;
3.什么是線程池,如何使用?
4.數(shù)據(jù)一致性如何保證;Synchronized關(guān)鍵字,類鎖,方法鎖,重入鎖;
5.Java中實(shí)現(xiàn)多態(tài)的機(jī)制是什么;
6.如何將一個(gè)Java對(duì)象序列化到文件里;
7.說說你對(duì)Java反射的理解;
8.同步的方法;多進(jìn)程開發(fā)以及多進(jìn)程應(yīng)用場(chǎng)景;
9.在Java中wait和seelp方法的不同;
10.synchronized 和volatile 關(guān)鍵字的作用;
11.服務(wù)器只提供數(shù)據(jù)接收接口,在多線程或多進(jìn)程條件下,如何保證數(shù)據(jù)的有序到達(dá);
12.抽象類與接口的區(qū)別;應(yīng)用場(chǎng)景;抽象類是否可以沒有方法和屬性;
13.靜態(tài)屬性和靜態(tài)方法是否可以被繼承?是否可以被重寫?以及原因?
14.修改對(duì)象A的equals方法的簽名,那么使用HashMap存放這個(gè)對(duì)象實(shí)例的時(shí)候,會(huì)調(diào)用哪個(gè)equals方法;
15.說說你對(duì)泛型的了解;
16.Java的異常體系;
17.如何控制某個(gè)方法允許并發(fā)訪問線程的個(gè)數(shù);
18.動(dòng)態(tài)代理的區(qū)別,什么場(chǎng)景使用;
19.Dex加載過程和優(yōu)化方式;
20.Jvm和Gc機(jī)制;
21常用的設(shè)計(jì)模式。
22.數(shù)據(jù)結(jié)構(gòu)與算法
23.堆和棧在內(nèi)存中的區(qū)別是什么(數(shù)據(jù)結(jié)構(gòu)方面以及實(shí)際實(shí)現(xiàn)方面);
24.最快的排序算法是哪個(gè)?給阿里2萬多名員工按年齡排序應(yīng)該選擇哪個(gè)算法?堆和樹的區(qū)別;寫出快排代碼;鏈表逆序代碼;
25.求1000以內(nèi)的水仙花數(shù)以及40億以內(nèi)的水仙花數(shù);
26.子串包含問題(KMP 算法)寫代碼實(shí)現(xiàn);
27.萬億級(jí)別的兩個(gè)URL文件A和B,如何求出A和B的差集C,(Bit映射->hash分組->多文件讀寫效率->磁盤尋址以及應(yīng)用層面對(duì)尋址的優(yōu)化)
28.蟻群算法與蒙特卡洛算法;
29.寫出你所知道的排序算法及時(shí)空復(fù)雜度,穩(wěn)定性;
30.自己集合實(shí)現(xiàn)一個(gè)隊(duì)列
31.自己實(shí)現(xiàn)線程安全類
32.快速排序和冒泡的排序,怎么轉(zhuǎn)換一下。
二、Spring mvc與Struts區(qū)別
Hibernate/Ibatis兩者的區(qū)別
Hibernate一級(jí)和二級(jí)緩存
Hibernate實(shí)現(xiàn)集群部署
Hibernate如何實(shí)現(xiàn)聲明式事務(wù)
簡(jiǎn)述Hibernate常見優(yōu)化策略
Spring bean的加載過程(推薦看Spring的源碼)
Spring如何實(shí)現(xiàn)AOP和IOC
Spring bean注入方式
Spring的事務(wù)管理(推薦看Spring的源碼)
Spring事務(wù)的傳播特性
springmvc原理
springmvc用過哪些注解
Restful有幾種請(qǐng)求
Restful好處
Tomcat,Apache,JBoss的區(qū)別
memcached和redis的區(qū)別
有沒有遇到中文亂碼問題,如何解決的
如何理解分布式鎖
你知道的開源協(xié)議有哪些
json和xml區(qū)別
三、設(shè)計(jì)模式:
設(shè)計(jì)模式的六大原則
常用的設(shè)計(jì)模式
用一個(gè)設(shè)計(jì)模式寫一段代碼或畫出一個(gè)設(shè)計(jì)模式的UML
如何理解MVC
高內(nèi)聚,低耦合方面的理解
四、數(shù)據(jù)結(jié)構(gòu):
隊(duì)列、棧、鏈表、樹、堆、圖
編碼實(shí)現(xiàn)隊(duì)列、棧
操作系統(tǒng):
操作系統(tǒng)什么情況下會(huì)死鎖
產(chǎn)生死鎖的必要條件
死鎖預(yù)防
數(shù)據(jù)庫(kù):
范式
數(shù)據(jù)庫(kù)事務(wù)隔離級(jí)別
數(shù)據(jù)庫(kù)連接池的原理
樂觀鎖和悲觀鎖
如何實(shí)現(xiàn)不同數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢分頁(yè)
SQL注入的原理,如何預(yù)防
數(shù)據(jù)庫(kù)索引的實(shí)現(xiàn)(B+樹介紹、和B樹、R樹區(qū)別)
SQL性能優(yōu)化
數(shù)據(jù)庫(kù)索引的優(yōu)缺點(diǎn)以及什么時(shí)候數(shù)據(jù)庫(kù)索引失效
10.Redis的存儲(chǔ)結(jié)構(gòu)
網(wǎng)絡(luò):
OSI七層模型以及TCP/IP四層模型
HTTP和HTTPS區(qū)別
HTTP報(bào)文內(nèi)容
get提交和post提交的區(qū)別
get提交是否有字節(jié)限制,如果有是在哪限制的
TCP的三次握手和四次揮手
session和cookie的區(qū)別
HTTP請(qǐng)求中Session實(shí)現(xiàn)原理
redirect與forward區(qū)別
安全:
如果客戶端不斷的發(fā)送請(qǐng)求連接會(huì)怎樣
DDos攻擊
DDos預(yù)防
那怎么知道連接是惡意的呢?可能是正常連接
其它:
說一個(gè)你參與的項(xiàng)目、其中作為什么角色
遇到最困的問題是什么,怎么解決的
你認(rèn)為自己有那些方面不足
平常如何學(xué)習(xí)的
如何評(píng)價(jià)自己
智力題:
給你50個(gè)紅球和50個(gè)黑球,有兩個(gè)一模一樣的桶,往桶里放球,讓朋友去隨機(jī)抽,采用什么策略可以讓朋友抽到紅球的概率更高?
從100個(gè)硬幣中找出最輕的那個(gè)假幣?
總結(jié):
以上這些考察的知識(shí)點(diǎn),在強(qiáng)大的互聯(lián)網(wǎng)上都可以搜索到答案,有些答案可能不是很全,所以需要自己去總結(jié),但是對(duì)于一些需要知道原理的知識(shí)點(diǎn),還是推薦看源代碼或者對(duì)于的書,然后總結(jié)得到自己的東西,這樣既學(xué)到真東西,還不會(huì)很容易忘。Java基礎(chǔ)的知識(shí)點(diǎn)推薦《Java編程思想》,JVM的推薦《深入理解Java虛擬機(jī)》,Spring原理的推薦《Spring源碼深度解析》,對(duì)于網(wǎng)站架構(gòu)的推薦《大型網(wǎng)站技術(shù)架構(gòu)核心原理與案例分析》。
以上面試題答案和資料獲取方式,加群:277763288,進(jìn)群即可獲取。