JVM
1盏求、請(qǐng)介紹一下JVM內(nèi)存模型??用過(guò)什么垃圾回收器都說(shuō)說(shuō)唄
2仙畦、線上發(fā)送頻繁full gc如何處理? CPU 使用率過(guò)高怎么辦?
如何定位問(wèn)題?如何解決說(shuō)一下解決思路和處理方法
3、知道字節(jié)碼嗎?字節(jié)碼都有哪些?Integer x =5,int y =5,比較x =y 都經(jīng)過(guò)哪些步驟?
4、講講類(lèi)加載機(jī)制唄都有哪些類(lèi)加載器眨猎,這些類(lèi)加載器都加載哪些文件?
手寫(xiě)一下類(lèi)加載Demo
5、知道osgi嗎? 他是如何實(shí)現(xiàn)的???
6强经、請(qǐng)問(wèn)你做過(guò)哪些JVM優(yōu)化?使用什么方法達(dá)到什么效果???
7睡陪、classforName("java.lang.String")和String classgetClassLoader() LoadClass("java.lang.String") 什么區(qū)別啊??
Spring
1、spring都有哪些機(jī)制啊AOP底層如何實(shí)現(xiàn)的啊IOC呢??
2、cgLib知道嗎?他和jdk動(dòng)態(tài)代理什么區(qū)別?手寫(xiě)一個(gè)jdk動(dòng)態(tài)代理唄?
多線程
1兰迫、hashcode相等兩個(gè)類(lèi)一定相等嗎?equals呢?相反呢?
2信殊、介紹一下集合框架?
3、hashmap hastable 底層實(shí)現(xiàn)什么區(qū)別?hashtable和concurrenthashtable呢?
4汁果、hashmap和treemap什么區(qū)別?低層數(shù)據(jù)結(jié)構(gòu)是什么?
5涡拘、線程池用過(guò)嗎都有什么參數(shù)?底層如何實(shí)現(xiàn)的?
6、sychnized和Lock什么區(qū)別?sychnize 什么情況情況是對(duì)象鎖? 什么時(shí)候是全局鎖為什么?
7据德、ThreadLocal 是什么底層如何實(shí)現(xiàn)?寫(xiě)一個(gè)例子唄?
8鳄乏、volitile的工作原理?
9、cas知道嗎如何實(shí)現(xiàn)的?
10棘利、請(qǐng)用至少四種寫(xiě)法寫(xiě)一個(gè)單例模式?
數(shù)據(jù)庫(kù)
1橱野、使用mysq1索引都有哪些原則? ?索引什么數(shù)據(jù)結(jié)構(gòu)? 3+tree 和B tree 什么區(qū)別?
2、mysq1有哪些存儲(chǔ)引擎啊?都有啥區(qū)別? 要詳細(xì)!
3赡译、設(shè)計(jì)高并發(fā)系統(tǒng)數(shù)據(jù)庫(kù)層面該怎么設(shè)計(jì)??數(shù)據(jù)庫(kù)鎖有哪些類(lèi)型?如何實(shí)現(xiàn)呀?
4仲吏、數(shù)據(jù)庫(kù)事務(wù)有哪些?
分庫(kù)分表
1、如何設(shè)計(jì)可以動(dòng)態(tài)擴(kuò)容縮容的分庫(kù)分表方案?
2蝌焚、用過(guò)哪些分庫(kù)分表中間件,有啥優(yōu)點(diǎn)和缺點(diǎn)?講一下你了解的分庫(kù)分表中間件的底層實(shí)現(xiàn)原理?
3誓斥、我現(xiàn)在有一個(gè)未分庫(kù)分表的系統(tǒng)只洒,以后系統(tǒng)需分庫(kù)分表,如何設(shè)計(jì)劳坑,讓未分庫(kù)分表的系統(tǒng)動(dòng)態(tài)切換到分庫(kù)分表的系統(tǒng)上???TCC? 那若出現(xiàn)網(wǎng)絡(luò)原因毕谴,網(wǎng)絡(luò)連不通怎么辦啊???
4、分布式事務(wù)知道嗎? 你們?cè)趺唇鉀Q的?
5距芬、為什么要分庫(kù)分表啊???
6涝开、分布式尋址方式都有哪些算法知道一致性hash嗎?手寫(xiě)一下java實(shí)現(xiàn)代碼??你若userId取摸分片,那我要查一段連續(xù)時(shí)間里的數(shù)據(jù)怎么辦???
7框仔、如何解決分庫(kù)分表主鍵問(wèn)題有什么實(shí)現(xiàn)方案??
分布式緩存
1舀武、redis和memcheched 什么區(qū)別為什么單線程的redis比多線程的memched效率要高啊?
2、redis有什么數(shù)據(jù)類(lèi)型都在哪些場(chǎng)景下使用啊?
3离斩、reids的主從復(fù)制是怎么實(shí)現(xiàn)的redis的集群模式是如何實(shí)現(xiàn)的呢redis的key是如何尋址的啊?
4银舱、使用redis如何設(shè)計(jì)分布式鎖?使用zk可以嗎?如何實(shí)現(xiàn)啊這兩種哪個(gè)效率更高啊??
5、知道redis的持久化嗎都有什么缺點(diǎn)優(yōu)點(diǎn)啊? ?具體底層實(shí)現(xiàn)呢?
6跛梗、redis過(guò)期策略都有哪些LRU 寫(xiě)一下java版本的代碼吧??
分布式服務(wù)框架
1寻馏、說(shuō)一下dubbo的實(shí)現(xiàn)過(guò)程注冊(cè)中心掛了可以繼續(xù)通信嗎??
2、zk原理知道嗎zk都可以干什么Paxos算法知道嗎?說(shuō)一下原理和實(shí)現(xiàn)??
3核偿、dubbo支持哪些序列化協(xié)議?hessian 說(shuō)一下hessian的數(shù)據(jù)結(jié)構(gòu)PB知道嗎為啥PB效率是最高的啊??
4诚欠、知道netty嗎'netty可以干嘛呀NIO,BIO,AIO 都是什么啊有什么區(qū)別啊?
5、dubbo復(fù)制均衡策略和高可用策略都有哪些啊動(dòng)態(tài)代理策略呢?
6、為什么要進(jìn)行系統(tǒng)拆分啊拆分不用dubbo可以嗎'dubbo和thrift什么區(qū)別啊?
分布式消息隊(duì)列
1轰绵、為什么使用消息隊(duì)列啊消息隊(duì)列有什么優(yōu)點(diǎn)和缺點(diǎn)啊?
2粉寞、如何保證消息隊(duì)列的高可用啊如何保證消息不被重復(fù)消費(fèi)啊
3、kafka 藏澳,activemq,rabbitmq 仁锯,rocketmq都有什么優(yōu)點(diǎn),缺點(diǎn)啊???
4翔悠、如果讓你寫(xiě)一個(gè)消息隊(duì)列业崖,該如何進(jìn)行架構(gòu)設(shè)計(jì)啊?說(shuō)一下你的思路
分布式搜索引擎
1、es的工作過(guò)程實(shí)現(xiàn)是如何的?如何實(shí)現(xiàn)分布式的啊
2蓄愁、es在數(shù)據(jù)量很大的情況下( 數(shù)十億級(jí)別)如何提高查詢(xún)效率啊?
3双炕、es的查詢(xún)是一個(gè)怎么的工作過(guò)程?底層的lucence介紹一下唄倒排索引知道嗎?es和mongdb什么區(qū)別啊都在什么場(chǎng)景下使用啊?
高并發(fā)高可用架構(gòu)設(shè)計(jì)
1、如何設(shè)計(jì)一個(gè)高并發(fā)高可用系統(tǒng)
2撮抓、如何限流?工程中怎么做的妇斤,說(shuō)一下具體實(shí)現(xiàn)
3、緩存如何使用的緩存使用不當(dāng)會(huì)造成什么后果?
4丹拯、如何熔斷啊?熔斷框架都有哪些?具體實(shí)現(xiàn)原理知道嗎?
5站超、如何降級(jí)如何進(jìn)行系統(tǒng)拆分,如何數(shù)據(jù)庫(kù)拆分????
通信協(xié)議
1乖酬、說(shuō)一下TCP 'IP四層?
2死相、http的工作流程?? ?http1.0 http1.1http2.0 具體哪些區(qū)別啊?
3、TCP三次握手咬像,四層分手的工作流程畫(huà)一下流程圖為什么不是四次五次或者二次啊?
4算撮、畫(huà)一下https的工作流程?具體如何實(shí)現(xiàn)啊?如何防止被抓包啊??
算法
1、比較簡(jiǎn)單县昂,我一個(gè)文件肮柜,有45億個(gè)阿拉伯?dāng)?shù)字,如何進(jìn)行去重啊如何找出最大的那個(gè)數(shù)啊?
數(shù)據(jù)結(jié)構(gòu)
1倒彰、二叉樹(shù)和紅黑樹(shù)等审洞。
源碼中所用到的經(jīng)典設(shè)計(jì)思想及常用設(shè)計(jì)模式
福利
這里給大家提供一個(gè)學(xué)習(xí)交流的平臺(tái),Java架構(gòu)師群:650385180狸驳,面試答案在群的共享區(qū)预明。
1、具有1-5工作經(jīng)驗(yàn)的耙箍,面對(duì)目前流行的技術(shù)不知從何下手撰糠,需要突破技術(shù)瓶頸的可以加群。
2辩昆、在公司待久了阅酪,過(guò)得很安逸,但跳槽時(shí)面試碰壁。需要在短時(shí)間內(nèi)進(jìn)修术辐、跳槽拿高薪的可以加群砚尽。
3、如果沒(méi)有工作經(jīng)驗(yàn)辉词,但基礎(chǔ)非常扎實(shí)必孤,對(duì)java工作機(jī)制,常用設(shè)計(jì)思想瑞躺,常用java開(kāi)發(fā)框架掌握熟練的可以加群敷搪。