一、Java基礎(chǔ)
1梯捕、Arrays.sort實(shí)現(xiàn)原理和Collections.sort實(shí)現(xiàn)原理
答:Collections.sort方法底層會(huì)調(diào)用Arrays.sort方法,底層實(shí)現(xiàn)都是TimeSort實(shí)現(xiàn)的华蜒。TimSort算法就是找到已經(jīng)排好序數(shù)據(jù)的子序列官册,然后對(duì)剩余部分排序,然后合并起來(lái).
2瓷马、foreach和while的區(qū)別(編譯之后) 線程池的種類拴还,區(qū)別和使用場(chǎng)景
3、分析線程池的實(shí)現(xiàn)原理和線程的調(diào)度過(guò)程
4欧聘、線程池如何調(diào)優(yōu)
5片林、線程池的最大線程數(shù)目根據(jù)什么確定
6、動(dòng)態(tài)代理的幾種方式
7怀骤、HashMap的并發(fā)問(wèn)題
8费封、了解LinkedHashMap的應(yīng)用嗎
9、反射的原理晒喷,反射創(chuàng)建類實(shí)例的三種方式是什么孝偎?
10、cloneable接口實(shí)現(xiàn)原理凉敲,淺拷貝or深拷貝
11衣盾、Java NIO使用
12、hashtable和hashmap的區(qū)別及實(shí)現(xiàn)原理爷抓,hashmap會(huì)問(wèn)到數(shù)組索引势决,hash碰撞怎么解決
13、arraylist和linkedlist區(qū)別及實(shí)現(xiàn)原理
14蓝撇、反射中果复,Class.forName和ClassLoader區(qū)別
15、String渤昌,Stringbuffer虽抄,StringBuilder的區(qū)別走搁?
16、有沒(méi)有可能2個(gè)不相等的對(duì)象有相同的hashcode
17迈窟、簡(jiǎn)述NIO的最佳實(shí)踐私植,比如netty,mina
18车酣、TreeMap的實(shí)現(xiàn)原理
二曲稼、JVM相關(guān)
1府寒、類的實(shí)例化順序向臀,比如父類靜態(tài)數(shù)據(jù)豌注,構(gòu)造函數(shù)勇垛,字段捌刮,子類靜態(tài)數(shù)據(jù)瓷叫,構(gòu)造函數(shù)玩徊,字段谍失,他們的執(zhí)行順序
2晰筛、JVM內(nèi)存分代
3嫡丙、Java 8的內(nèi)存分代改進(jìn)
4、JVM垃圾回收機(jī)制读第,何時(shí)觸發(fā)MinorGC等操作
5曙博、jvm中一次完整的GC流程(從ygc到fgc)是怎樣的,重點(diǎn)講講對(duì)象如何晉升到老年代怜瞒,幾種主要的jvm參數(shù)等
6父泳、你知道哪幾種垃圾收集器,各自的優(yōu)缺點(diǎn)吴汪,重點(diǎn)講下cms惠窄,g1
7、新生代和老生代的內(nèi)存回收策略
8漾橙、Eden和Survivor的比例分配等
9杆融、深入分析了Classloader,雙親委派機(jī)制
10霜运、JVM的編譯優(yōu)化
11脾歇、對(duì)Java內(nèi)存模型的理解,以及其在并發(fā)中的應(yīng)用
12淘捡、指令重排序藕各,內(nèi)存柵欄等
13、OOM錯(cuò)誤焦除,stackoverflow錯(cuò)誤激况,permgen space錯(cuò)誤
14、JVM常用參數(shù)
15、tomcat結(jié)構(gòu)乌逐,類加載器流程
16竭讳、volatile的語(yǔ)義,它修飾的變量一定線程安全嗎
17黔帕、g1和cms區(qū)別,吞吐量?jī)?yōu)先和響應(yīng)優(yōu)先的垃圾收集器選擇
18代咸、說(shuō)一說(shuō)你對(duì)環(huán)境變量classpath的理解蹈丸?如果一個(gè)類不在classpath下成黄,為什么會(huì)拋出ClassNotFoundException異常,如果在不改變這個(gè)類路徑的前期下逻杖,怎樣才能正確加載這個(gè)類奋岁?
19、說(shuō)一下強(qiáng)引用荸百、軟引用闻伶、弱引用、虛引用以及他們之間和gc的關(guān)系
20够话、常見Java面試題大綜合,非常值得一看畜份,面試必備P滥帷1ⅰ!
三愕鼓、JUC/并發(fā)相關(guān)
1钙态、ThreadLocal用過(guò)么,原理是什么菇晃,用的時(shí)候要注意什么
2册倒、Synchronized和Lock的區(qū)別
3驻子、synchronized 的原理册着,什么是自旋鎖拴孤,偏向鎖,輕量級(jí)鎖甲捏,什么叫可重入鎖演熟,什么叫公平鎖和非公平鎖
4、concurrenthashmap具體實(shí)現(xiàn)及其原理,jdk8下的改版
5兄纺、用過(guò)哪些原子類,他們的參數(shù)以及原理是什么
6化漆、cas是什么估脆,他會(huì)產(chǎn)生什么問(wèn)題(ABA問(wèn)題的解決,如加入修改次數(shù)座云、版本號(hào))
7疙赠、如果讓你實(shí)現(xiàn)一個(gè)并發(fā)安全的鏈表,你會(huì)怎么做
8朦拖、簡(jiǎn)述ConcurrentLinkedQueue和LinkedBlockingQueue的用處和不同之處
9圃阳、簡(jiǎn)述AQS的實(shí)現(xiàn)原理
10、countdowlatch和cyclicbarrier的用法璧帝,以及相互之間的差別?
11捍岳、concurrent包中使用過(guò)哪些類?分別說(shuō)說(shuō)使用在什么場(chǎng)景睬隶?為什么要使用锣夹?
12、LockSupport工具
13苏潜、Condition接口及其實(shí)現(xiàn)原理
14银萍、Fork/Join框架的理解
15、jdk8的parallelStream的理解
16砖顷、分段鎖的原理,鎖力度減小的思考
17赃梧、常見Java面試題大綜合滤蝠,非常值得一看,面試必備J卩帧N锟取!
四蹄皱、Spring
1、Spring AOP與IOC的實(shí)現(xiàn)原理
2、Spring的beanFactory和factoryBean的區(qū)別
3类咧、為什么CGlib方式可以對(duì)接口實(shí)現(xiàn)代理珊随?
4叶洞、RMI與代理模式
5、Spring的事務(wù)隔離級(jí)別禀崖,實(shí)現(xiàn)原理
6掸屡、對(duì)Spring的理解封寞,非單例注入的原理?它的生命周期仅财?循環(huán)注入的原理狈究,aop的實(shí)現(xiàn)原理,說(shuō)說(shuō)aop中的幾個(gè)術(shù)語(yǔ)盏求,它們是怎么相互工作的抖锥?
7、Mybatis的底層實(shí)現(xiàn)原理
8碎罚、MVC框架原理磅废,他們都是怎么做url路由的
9、spring boot特性荆烈,優(yōu)勢(shì)拯勉,適用場(chǎng)景等
10、quartz和timer對(duì)比
11、spring的controller是單例還是多例谜喊,怎么保證并發(fā)的安全
五潭兽、分布式相關(guān)
1、Dubbo的底層實(shí)現(xiàn)原理和機(jī)制
2斗遏、描述一個(gè)服務(wù)從發(fā)布到被消費(fèi)的詳細(xì)過(guò)程
3山卦、分布式系統(tǒng)怎么做服務(wù)治理
4、接口的冪等性的概念
5诵次、消息中間件如何解決消息丟失問(wèn)題
6账蓉、Dubbo的服務(wù)請(qǐng)求失敗怎么處理
7、重連機(jī)制會(huì)不會(huì)造成錯(cuò)誤
8逾一、對(duì)分布式事務(wù)的理解
9铸本、如何實(shí)現(xiàn)負(fù)載均衡,有哪些算法可以實(shí)現(xiàn)遵堵?
10箱玷、Zookeeper的用途,選舉的原理是什么陌宿?
11锡足、數(shù)據(jù)的垂直拆分水平拆分。
12壳坪、zookeeper原理和適用場(chǎng)景
13舶得、zookeeper watch機(jī)制
14、redis/zk節(jié)點(diǎn)宕機(jī)如何處理
15爽蝴、分布式集群下如何做到唯一序列號(hào)
16沐批、如何做一個(gè)分布式鎖
17、用過(guò)哪些MQ蝎亚,怎么用的九孩,和其他mq比較有什么優(yōu)缺點(diǎn),MQ的連接是線程安全的嗎
18颖对、MQ系統(tǒng)的數(shù)據(jù)如何保證不丟失
19捻撑、列舉出你能想到的數(shù)據(jù)庫(kù)分庫(kù)分表策略;分庫(kù)分表后缤底,如何解決全表查詢的問(wèn)題顾患。
20、算法&數(shù)據(jù)結(jié)構(gòu)&設(shè)計(jì)模式
21个唧、海量url去重類問(wèn)題(布隆過(guò)濾器)
22江解、數(shù)組和鏈表數(shù)據(jù)結(jié)構(gòu)描述,各自的時(shí)間復(fù)雜度
23徙歼、二叉樹遍歷
24犁河、快速排序
六鳖枕、BTree相關(guān)的操作
1、在工作中遇到過(guò)哪些設(shè)計(jì)模式桨螺,是如何應(yīng)用的
2宾符、hash算法的有哪幾種,優(yōu)缺點(diǎn)灭翔,使用場(chǎng)景
3魏烫、什么是一致性hash
4、paxos算法
5肝箱、在裝飾器模式和代理模式之間哄褒,你如何抉擇,請(qǐng)結(jié)合自身實(shí)際情況聊聊
6煌张、代碼重構(gòu)的步驟和原因呐赡,如果理解重構(gòu)到模式?
7骏融、數(shù)據(jù)庫(kù)
8链嘀、MySQL InnoDB存儲(chǔ)的文件結(jié)構(gòu)
9、索引樹是如何維護(hù)的绎谦?
10管闷、數(shù)據(jù)庫(kù)自增主鍵可能的問(wèn)題
11、MySQL的幾種優(yōu)化
12窃肠、mysql索引為什么使用B+樹
13、數(shù)據(jù)庫(kù)鎖表的相關(guān)處理
14刷允、索引失效場(chǎng)景
15冤留、高并發(fā)下如何做到安全的修改同一行數(shù)據(jù),樂(lè)觀鎖和悲觀鎖是什么树灶,INNODB的行級(jí)鎖有哪2種纤怒,解釋其含義
16、數(shù)據(jù)庫(kù)會(huì)死鎖嗎天通,舉一個(gè)死鎖的例子泊窘,mysql怎么解決死鎖
七、Redis緩存相關(guān)
1像寒、Redis的并發(fā)競(jìng)爭(zhēng)問(wèn)題如何解決了解Redis事務(wù)的CAS操作嗎
2烘豹、緩存機(jī)器增刪如何對(duì)系統(tǒng)影響最小,一致性哈希的實(shí)現(xiàn)
3诺祸、Redis持久化的幾種方式携悯,優(yōu)缺點(diǎn)是什么,怎么實(shí)現(xiàn)的
4筷笨、Redis的緩存失效策略
5憔鬼、緩存穿透的解決辦法
6龟劲、redis集群,高可用轴或,原理
7昌跌、mySQL里有2000w數(shù)據(jù),redis中只存20w的數(shù)據(jù)照雁,如何保證redis中的數(shù)據(jù)都是熱點(diǎn)數(shù)據(jù)
8蚕愤、用Redis和任意語(yǔ)言實(shí)現(xiàn)一段惡意登錄保護(hù)的代碼,限制1小時(shí)內(nèi)每用戶Id最多只能登錄5次
9囊榜、redis的數(shù)據(jù)淘汰策略
八审胸、網(wǎng)絡(luò)相關(guān)
1、http1.0和http1.1有什么區(qū)別
2卸勺、TCP/IP協(xié)議
3砂沛、TCP三次握手和四次揮手的流程,為什么斷開連接要4次,如果握手只有兩次曙求,會(huì)出現(xiàn)什么
4碍庵、TIME_WAIT和CLOSE_WAIT的區(qū)別
5、說(shuō)說(shuō)你知道的幾種HTTP響應(yīng)碼
6悟狱、當(dāng)你用瀏覽器打開一個(gè)鏈接的時(shí)候静浴,計(jì)算機(jī)做了哪些工作步驟
7、TCP/IP如何保證可靠性挤渐,數(shù)據(jù)包有哪些數(shù)據(jù)組成
8苹享、長(zhǎng)連接與短連接
9、Http請(qǐng)求get和post的區(qū)別以及數(shù)據(jù)包格式
10浴麻、簡(jiǎn)述tcp建立連接3次握手得问,和斷開連接4次握手的過(guò)程;關(guān)閉連接時(shí)软免,出現(xiàn)TIMEWAIT過(guò)多是由什么原因引起宫纬,是出現(xiàn)在主動(dòng)斷開方還是被動(dòng)斷開方。
九膏萧、其他
1漓骚、maven解決依賴沖突,快照版和發(fā)行版的區(qū)別
2、Linux下IO模型有幾種榛泛,各自的含義是什么
3蝌蹂、實(shí)際場(chǎng)景問(wèn)題,海量登錄日志如何排序和處理SQL操作挟鸠,主要是索引和聚合函數(shù)的應(yīng)用
4叉信、實(shí)際場(chǎng)景問(wèn)題解決,典型的TOP K問(wèn)題
5艘希、線上bug處理流程
6硼身、如何從線上日志發(fā)現(xiàn)問(wèn)題
7硅急、linux利用哪些命令,查找哪里出了問(wèn)題(例如io密集任務(wù)佳遂,cpu過(guò)度)
8营袜、場(chǎng)景問(wèn)題,有一個(gè)第三方接口丑罪,有很多個(gè)線程去調(diào)用獲取數(shù)據(jù)荚板,現(xiàn)在規(guī)定每秒鐘最多有10個(gè)線程同時(shí)調(diào)用它,如何做到吩屹。
9跪另、用三個(gè)線程按順序循環(huán)打印abc三個(gè)字母,比如abcabcabc煤搜。
10免绿、常見的緩存策略有哪些,你們項(xiàng)目中用到了什么緩存系統(tǒng)擦盾,如何設(shè)計(jì)的
11嘲驾、設(shè)計(jì)一個(gè)秒殺系統(tǒng),30分鐘沒(méi)付款就自動(dòng)關(guān)閉交易(并發(fā)會(huì)很高)
12迹卢、請(qǐng)列出你所了解的性能測(cè)試工具
13辽故、后臺(tái)系統(tǒng)怎么防止請(qǐng)求重復(fù)提交?
14腐碱、有多個(gè)相同的接口誊垢,我想客戶端同時(shí)請(qǐng)求,然后只需要在第一個(gè)請(qǐng)求返回結(jié)果的時(shí)候返回給客戶端症见。
要是有不會(huì)的 沒(méi)關(guān)系 在這里給大家提供一個(gè)學(xué)習(xí)交流的平臺(tái) 點(diǎn)擊鏈接免費(fèi)體驗(yàn)大牛帶你實(shí)操:
https://ke.qq.com/course/260263?flowToken=1006944
具有1-5工作經(jīng)驗(yàn)的彤枢,面對(duì)目前流行的技術(shù)不知從何下手,在公司待久了筒饰,過(guò)得很安逸,但跳槽時(shí)面試碰壁壁晒。