一面基礎(chǔ),二面項(xiàng)目經(jīng)驗(yàn),三面為人
一 基礎(chǔ)
Java基礎(chǔ)
https://zhuanlan.zhihu.com/p/37430187
java和C++ php等語言的區(qū)別
對象OOP思想
抽象類與接口
覆蓋和重載
拆箱裝箱
傳值方式 http://ifeve.com/java-pass-value/集合:
集合有那幾種?
list和set的區(qū)別?
hashmap的實(shí)現(xiàn),沖突,初始容量和加載因子?怎么擴(kuò)容?
如何取出hashmap中的value存入list中?
hashmap擴(kuò)容過程
currentHashMap和HashMap的區(qū)別
解決hash沖突的方法有哪些?
HashMap中如何解決hash沖突
談?wù)刪ashmap原理
heap和stack的區(qū)別是什么?泛型
注解
Java IO 與 NIO
JDBC
JDBC是單例還是多例
JDBC和MyBatisJUnit
異常
Java中的異常分類XML
網(wǎng)絡(luò)編程
Socket講講。編程規(guī)范 https://zhuanlan.zhihu.com/p/37360620
高并發(fā)編程(JUC 包)
https://zhuanlan.zhihu.com/p/37430315
進(jìn)程之間如何通信
進(jìn)程和線程的區(qū)別
線程有哪些狀態(tài)
如何創(chuàng)建線程
wait和sleep的區(qū)別
ThreadLocal
Atomic https://blog.csdn.net/zhangerqing/article/details/43057799
如何避免線程死鎖
談一下悲觀鎖和樂觀鎖的原理和應(yīng)用場景
一個(gè)庫存變量,多個(gè)線程需要操作,如何保證正確性?
創(chuàng)建100個(gè)線程,如何使得這100個(gè)線程幾乎同時(shí)啟動(dòng)?
多線程包c(diǎn)oncurrent
說說volatile底層原理
JVM
https://zhuanlan.zhihu.com/p/37430400
內(nèi)存調(diào)優(yōu)工具
內(nèi)存泄露和內(nèi)存溢出
OOM異常的發(fā)生原因是什么?
JVM內(nèi)存模型及調(diào)優(yōu)
垃圾回收(GC)
JVM內(nèi)存管理和回收機(jī)制
Java版本特征5 6 7 8
https://zhuanlan.zhihu.com/p/37430472
https://zhuanlan.zhihu.com/p/37430948
網(wǎng)絡(luò)協(xié)議
TCP協(xié)議中的三次握手和四次揮手(圖解)
tcp和udp的區(qū)別
Htttp協(xié)議
socket
websocket
restful
SOAP
數(shù)據(jù)庫
https://zhuanlan.zhihu.com/p/37501500
數(shù)據(jù)庫的范式
- 數(shù)據(jù)庫引擎
- Mysql優(yōu)化
- Redis
- MongoDb
- 數(shù)據(jù)庫的鎖有哪幾種?語句怎么實(shí)現(xiàn)
數(shù)據(jù)庫分頁查詢
數(shù)據(jù)庫的搜索引擎
說說事務(wù)吧,事務(wù)的四大特性,四大隔離級別
having的用法,和where的區(qū)別
mysql和sqlserver的區(qū)別有哪些
limit的使用相關(guān)
死鎖的四個(gè)必要條件
具體案例,如何避免死鎖?某個(gè)線程只有獲得A鎖和B鎖才能對某資源進(jìn)行操作,在多線程條件下,如何避免死鎖?
對MySQL的了解,和oracle的區(qū)別
設(shè)計(jì)模式
https://blog.csdn.net/qq_25827845/article/details/52932234
控制反轉(zhuǎn)
手寫模式
對設(shè)計(jì)模式的看法和認(rèn)知
有哪些設(shè)計(jì)模式
模板模式
數(shù)據(jù)結(jié)構(gòu)與算法
https://www.lintcode.com/zh-cn/tag/lintcode-copyright/
https://www.jiuzhang.com/solution/
- 快速排序怎么實(shí)現(xiàn)的?
- 數(shù)據(jù)庫索引為什么用B樹?原理
大量數(shù)據(jù)去重:Bitmap和布隆過濾器(Bloom Filter) - Java 中的數(shù)據(jù)結(jié)構(gòu)和算法 set的底層數(shù)據(jù)結(jié)構(gòu)是什么?
寫個(gè)排序算法吧
什么因素會(huì)影響到你選擇不同種類的排序算法
KMP算法
合并有序鏈表
單鏈表反轉(zhuǎn)
單鏈表有環(huán)推導(dǎo)公式
LRU算法,最近被使用算法,使用鏈表實(shí)現(xiàn)一個(gè)
自己實(shí)現(xiàn)一個(gè)String2Int的算法。
找出一個(gè)數(shù)組中的多數(shù)元素?追問,時(shí)間復(fù)雜度可以再小嗎?
二 項(xiàng)目實(shí)戰(zhàn)
https://zhuanlan.zhihu.com/p/23517856
Linux
Linux中如何查看線程狀態(tài)?指定一個(gè)線程怎么查看?
awk模塊化的好處
瀏覽器的緩存機(jī)制
Web應(yīng)用程序的工作原理(訪問www.xxx.com過程)
Servlet
Tomcat/JBoss
Mybatis https://zhuanlan.zhihu.com/p/37359895
mybatis中#和$的區(qū)別?危險(xiǎn)注入問題Spring:Ioc+AOP https://zhuanlan.zhihu.com/p/37195663
AOP的兩種實(shí)現(xiàn):動(dòng)態(tài)代理和靜態(tài)代理的區(qū)別
介紹spring任意一個(gè)模塊的實(shí)現(xiàn)領(lǐng)域建模 OOA/D UML
OOA/D的過程:定義用例、定義領(lǐng)域模型、定義交互圖、字義設(shè)計(jì)類圖
SOLID (單一功能、開閉原則、里氏替換、接口隔離以及依賴反轉(zhuǎn))設(shè)計(jì)原則
https://www.cnblogs.com/rgbw/archive/2009/09/01/1557843.html
http://www.cnblogs.com/AngelLee2009/p/3601879.htmlSpring MVC https://zhuanlan.zhihu.com/p/37359818
Spring boot https://zhuanlan.zhihu.com/p/37430067
Maven maven的打包命令
Git
git完全撤銷
git用過是吧?讓你設(shè)計(jì)實(shí)現(xiàn)一個(gè)git diff的算法,你會(huì)怎么實(shí)現(xiàn)?
架構(gòu)
- 高并發(fā)
- 消息隊(duì)列
消息隊(duì)列設(shè)計(jì)精要 美團(tuán)技術(shù)團(tuán)隊(duì)! - 負(fù)載均衡
- 微服務(wù)
- Docker
- 大數(shù)據(jù)(Spark+Hadoop)
spark streaming計(jì)算原理和過程 - 緩存 redis等 如何實(shí)現(xiàn)分布式緩存
- kafka分區(qū)
- 分布式
三 面試技巧
題庫
2017 暑期實(shí)習(xí)校園招聘(Java后臺開發(fā)方向)面經(jīng)分享
簡歷
http://tieba.baidu.com/p/5152132217
簡歷應(yīng)該突出表現(xiàn)自己優(yōu)秀的地方,所以我將個(gè)人技術(shù)博客和 github 地址放到了相對靠前的位置,使面試官或者 HR 可以一眼看到。
給大家一個(gè)小提示,那就是必須對簡歷上所寫的知識點(diǎn)有一定了解,不懂的就不要寫上去了,因?yàn)槟銜?huì)被問的很慘(即使一面面試官不問,三面面試官也會(huì)問的)。

- 自我介紹
- 項(xiàng)目介紹
- 團(tuán)隊(duì)作用(領(lǐng)導(dǎo)力)
- 對新公司的認(rèn)識 項(xiàng)目看法 團(tuán)隊(duì)看法等