經(jīng)常面試一些候選人,整理了下我面試使用的題目惜索,陸陸續(xù)續(xù)整理出來的題目很多,所以每次會抽一部分來問剃浇。答案會在后面的文章中逐漸發(fā)布出來门扇。
基礎(chǔ)題目
1、Java線程的狀態(tài)
2偿渡、進(jìn)程和線程的區(qū)別臼寄,進(jìn)程間如何通訊,線程間如何通訊
3溜宽、HashMap的數(shù)據(jù)結(jié)構(gòu)是什么吉拳?如何實(shí)現(xiàn)的。和HashTable适揉,ConcurrentHashMap的區(qū)別
4留攒、Cookie和Session的區(qū)別
5、索引有什么用嫉嘀?如何建索引炼邀?
6、ArrayList是如何實(shí)現(xiàn)的剪侮,ArrayList和LinkedList的區(qū)別拭宁?ArrayList如何實(shí)現(xiàn)擴(kuò)容。
7瓣俯、equals方法實(shí)現(xiàn)
8杰标、面向?qū)ο?/p>
9、線程狀態(tài)彩匕,BLOCKED和WAITING有什么區(qū)別
10腔剂、JVM如何加載字節(jié)碼文件
11、JVM GC驼仪,GC算法掸犬。
12袜漩、什么情況會出現(xiàn)Full GC,什么情況會出現(xiàn)yong GC湾碎。
13噪服、JVM內(nèi)存模型
14、Java運(yùn)行時(shí)數(shù)據(jù)區(qū)
15胜茧、事務(wù)的實(shí)現(xiàn)原理
技術(shù)深度
1、有沒有看過JDK源碼仇味,看過的類實(shí)現(xiàn)原理是什么呻顽。
2、HTTP協(xié)議
3丹墨、TCP協(xié)議
4廊遍、一致性Hash算法
5、JVM如何加載字節(jié)碼文件
6贩挣、類加載器如何卸載字節(jié)碼
7喉前、IO和NIO的區(qū)別,NIO優(yōu)點(diǎn)
8王财、Java線程池的實(shí)現(xiàn)原理卵迂,keepAliveTime等參數(shù)的作用。
9绒净、HTTP連接池實(shí)現(xiàn)原理
10见咒、數(shù)據(jù)庫連接池實(shí)現(xiàn)原理
11、數(shù)據(jù)庫的實(shí)現(xiàn)原理
技術(shù)框架
1挂疆、看過哪些開源框架的源碼
2改览、為什么要用Redis,Redis有哪些優(yōu)缺點(diǎn)缤言?Redis如何實(shí)現(xiàn)擴(kuò)容宝当?
3、Netty是如何使用線程池的胆萧,為什么這么使用
4庆揩、為什么要使用Spring,Spring的優(yōu)缺點(diǎn)有哪些
5跌穗、Spring的IOC容器初始化流程
6盾鳞、Spring的IOC容器實(shí)現(xiàn)原理,為什么可以通過byName和ByType找到Bean
7瞻离、Spring AOP實(shí)現(xiàn)原理
8腾仅、消息中間件是如何實(shí)現(xiàn)的,技術(shù)難點(diǎn)有哪些
系統(tǒng)架構(gòu)
1套利、如何搭建一個高可用系統(tǒng)
2推励、哪些設(shè)計(jì)模式可以增加系統(tǒng)的可擴(kuò)展性
3鹤耍、介紹設(shè)計(jì)模式,如模板模式验辞,命令模式稿黄,策略模式,適配器模式跌造、橋接模式杆怕、裝飾模式,觀察者模式壳贪,狀態(tài)模式陵珍,訪問者模式。
4违施、抽象能力互纯,怎么提高研發(fā)效率。
5磕蒲、什么是高內(nèi)聚低耦合留潦,請舉例子如何實(shí)現(xiàn)
6、什么情況用接口辣往,什么情況用消息
7兔院、如果AB兩個系統(tǒng)互相依賴,如何解除依賴
8站削、如何寫一篇設(shè)計(jì)文檔秆乳,目錄是什么
9、什么場景應(yīng)該拆分系統(tǒng)钻哩,什么場景應(yīng)該合并系統(tǒng)
10屹堰、系統(tǒng)和模塊的區(qū)別,分別在什么場景下使用
分布式系統(tǒng)
1街氢、分布式事務(wù)扯键,兩階段提交。
2珊肃、如何實(shí)現(xiàn)分布式鎖
3荣刑、如何實(shí)現(xiàn)分布式Session
4、如何保證消息的一致性
5伦乔、負(fù)載均衡
6厉亏、正向代理(客戶端代理)和反向代理(服務(wù)器端代理)
7、CDN實(shí)現(xiàn)原理
8烈和、怎么提升系統(tǒng)的QPS和吞吐量
實(shí)戰(zhàn)能力
1爱只、有沒有處理過線上問題?出現(xiàn)內(nèi)存泄露招刹,CPU利用率標(biāo)高恬试,應(yīng)用無響應(yīng)時(shí)如何處理的窝趣。
2、開發(fā)中有沒有遇到什么技術(shù)問題训柴?如何解決的
3哑舒、如果有幾十億的白名單,每天白天需要高并發(fā)查詢幻馁,晚上需要更新一次洗鸵,如何設(shè)計(jì)這個功能。
4仗嗦、新浪微博是如何實(shí)現(xiàn)把微博推給訂閱者
5膘滨、Google是如何在一秒內(nèi)把搜索結(jié)果返回給用戶的。
6儒将、12306網(wǎng)站的訂票系統(tǒng)如何實(shí)現(xiàn),如何保證不會票不被超賣对蒲。
7钩蚊、如何實(shí)現(xiàn)一個秒殺系統(tǒng),保證只有幾位用戶能買到某件商品蹈矮。
軟能力
1砰逻、如何學(xué)習(xí)一項(xiàng)新技術(shù),比如如何學(xué)習(xí)Java的泛鸟,重點(diǎn)學(xué)習(xí)什么
2蝠咆、有關(guān)注哪些新的技術(shù)
3、工作任務(wù)非常多非常雜時(shí)如何處理
4北滥、項(xiàng)目出現(xiàn)延遲如何處理
5刚操、和同事的設(shè)計(jì)思路不一樣怎么處理
6、如何保證開發(fā)質(zhì)量
7再芋、職業(yè)規(guī)劃是什么菊霜?短期,長期目標(biāo)是什么
8济赎、團(tuán)隊(duì)的規(guī)劃是什么
9鉴逞、能介紹下從工作到現(xiàn)在自己的成長在那里