pb系统改java_「软帝学院」:2019一线互联网公司Java高级面试题总结
1、hashcode相等兩個(gè)類一定相等嗎?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)?寫一個(gè)例子唄?
8、volitile的工作原理?
9、cas知道嗎如何實(shí)現(xiàn)的?
10、請(qǐng)用至少四種寫法寫一個(gè)單例模式
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、講講類加載機(jī)制唄都有哪些類加載器,這些類加載器都加載哪些文件?
手寫一下類加載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ū)別?手寫一個(gè)jdk動(dòng)態(tài)代理唄?
數(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ù)鎖有哪些類型?如何實(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嗎?手寫一下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ù)類型都在哪些場(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 寫一下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、如果讓你寫一個(gè)消息隊(duì)列,該如何進(jìn)行架構(gòu)設(shè)計(jì)啊?說(shuō)一下你的思路
分布式搜索引擎
1、es的工作過(guò)程實(shí)現(xiàn)是如何的?如何實(shí)現(xiàn)分布式的啊
2、es在數(shù)據(jù)量很大的情況下( 數(shù)十億級(jí)別)如何提高查詢效率啊?
3、es的查詢是一個(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三次握手,四層分手的工作流程畫一下流程圖為什么不是四次五次或者二次啊?
4、畫一下https的工作流程?具體如何實(shí)現(xiàn)啊?如何防止被抓包啊??
算法
1、比較簡(jiǎn)單,我一個(gè)文件,有45億個(gè)阿拉伯?dāng)?shù)字,如何進(jìn)行去重啊如何找出最大的那個(gè)數(shù)啊?
數(shù)據(jù)結(jié)構(gòu)
1、二叉樹和紅黑樹等。
源碼中所用到的經(jīng)典設(shè)計(jì)思想及常用設(shè)計(jì)模式
最后,開(kāi)發(fā)這么多年我也總結(jié)了一套學(xué)習(xí)Java的資料,如果你在技術(shù)上面想提升自己的話,可以關(guān)注我,私信發(fā)送領(lǐng)取資料或者在評(píng)論區(qū)留下自己的聯(lián)系方式,有時(shí)間記得幫我點(diǎn)下轉(zhuǎn)發(fā)讓跟多的人看到哦。
總結(jié)
以上是生活随笔為你收集整理的pb系统改java_「软帝学院」:2019一线互联网公司Java高级面试题总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python数据输出_python数据输
- 下一篇: windows 代理软件_一款强大的远程