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

- 自我介紹
- 項目介紹
- 團隊作用(領導力)
- 對新公司的認識 項目看法 團隊看法等