java面試

一面基礎(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和MyBatis

  • JUnit

  • 異常
    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

架構(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ì)問的)。


image.png
  • 自我介紹
  • 項(xiàng)目介紹
  • 團(tuán)隊(duì)作用(領(lǐng)導(dǎo)力)
  • 對新公司的認(rèn)識 項(xiàng)目看法 團(tuán)隊(duì)看法等
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容