在看面試題之前先看看幾組對(duì)話吧:
其實(shí)我收集了很多很多的內(nèi)容,但是篇幅的原因,我就不一一羅列了,我也經(jīng)??吹饺豪锱笥颜f(shuō)看完我一些文章之后拿到不錯(cuò)offer,說(shuō)真的我還有很多技術(shù)棧還沒(méi)寫,能拿offer主要還是靠大家,不過(guò)大家在我文章有所收獲我是很開(kāi)心的。
特別是很多讀者都是10k以內(nèi)到 14k -18k什么的,在我大廠同學(xué)眼里可能沒(méi)什么因?yàn)榇蠹覒?yīng)屆進(jìn)去就是很高的base了,但是我知道對(duì)很多朋友來(lái)說(shuō),太重要了,這樣的一次機(jī)會(huì)不亞于一次重生。
因?yàn)槲宜械臉I(yè)余時(shí)間基本上都是寫文章,寫稿子,拍視頻,剪視頻,所以大家給我私聊,我不一定都會(huì)回,但是我基本上都會(huì)去看一下,很多時(shí)候難免有所感慨,有很多讀者像寫信一樣的表達(dá)他的經(jīng)歷,表達(dá)他的感情。
有感動(dòng),有感慨,說(shuō)真的寫東西本身就是我的一個(gè)興趣愛(ài)好,我也沒(méi)想到能寫到今天這樣了,偶爾和身邊的朋友聊起都覺(jué)得很神奇,更沒(méi)想到的就是還真的能幫助到很多朋友,說(shuō)真的我其實(shí)沒(méi)想過(guò)能幫到這么多人,甚至現(xiàn)在這么多人認(rèn)識(shí)我,知道我。
讀者經(jīng)常說(shuō)拿著我的簡(jiǎn)歷模板去面試,結(jié)果被面試官問(wèn),這不是敖丙的簡(jiǎn)歷模板嘛?我覺(jué)得真的是哭笑不得,不過(guò)表現(xiàn)欲極強(qiáng)的我還是很開(kāi)心。
還有小伙伴在地鐵上看到別人看我的文章,看我的視頻,我也覺(jué)得誒好像有那么點(diǎn)意思哈,丙也算是出圈了。
最近時(shí)間也多了起來(lái),我會(huì)慢慢恢復(fù)技術(shù)文的更新的(畢竟大家年中跳槽的都在準(zhǔn)備了嘛哈哈),暖不暖吧?
下面呢就是一位讀者分享他幾次面試的面試題總結(jié),答案在我之前寫過(guò)的文章中基本上都能找到,一二面都是偏基礎(chǔ)的大家看看基本上就是這些東西,我都提到過(guò),三四面就很偏項(xiàng)目了,所以大家還是要好好準(zhǔn)備項(xiàng)目喲。
1、講一下GC的過(guò)程
2、什么樣的對(duì)象會(huì)被老年代回收
3、為什么要設(shè)置S0,S1區(qū)
4、什么樣的對(duì)象可以作為GC roots
5、多線程的異步調(diào)用怎么實(shí)現(xiàn)的
6、講講你最常用的單例模式 (我答的雙重檢測(cè))
7、雙重檢測(cè)的INSTACNE為什么要用voliate修飾
8、voliate怎么保證可見(jiàn)性的
9、Sychonized的作用是什么
10、Sychonized 和 lock的區(qū)別
11、排序算法以及時(shí)間復(fù)雜度
12、講講代理模式
13、網(wǎng)絡(luò)編程有了解嗎,講講TCP/UDP的區(qū)別
14、為什么UDP速率比TCP快
1、JVM調(diào)優(yōu)的工具和命令,jstat 查看狀態(tài)都有哪些
2、線程的狀態(tài)
3、wite 不需要時(shí)間嗎 sleep 和 wite 鎖的區(qū)別
4、線程池了解過(guò)嗎,7種參數(shù)
5、線程池的阻塞隊(duì)列用的最多的是什么
6、ArrayBlockingQuene 和 LinkdeBlockingQuene的區(qū)別是什么
7、ArrayList 和 LinkedList的區(qū)別是什么
8、ArrayList為什么查詢比較快,查詢是怎么查的
9、List的線程安全實(shí)現(xiàn)有哪些
10、CopyOnWriteList 的寫鎖是怎么加的鎖
11、項(xiàng)目中遇到挑戰(zhàn)在哪里
12、Oracle和 Mysql的隔離級(jí)別為什么不同
13、怎么查看Mysql的sql執(zhí)行情況
14、Explain sql 中參數(shù)
15、Redis中的zset和Three set有什么區(qū)別
16、Three set是怎么實(shí)現(xiàn)排序的
17、還知道哪些可以排序的樹(shù) 我說(shuō)的B+ 樹(shù)
18、B+樹(shù)的運(yùn)用場(chǎng)景,我說(shuō)的Mysql中的索引
19、是所有索引都用的B+ 樹(shù)嗎,哪些用了
20、一道算法題 寫一個(gè)數(shù)字反序的方法 我寫的沒(méi)有考慮溢出的情況
1、談一下項(xiàng)目
2、談一下對(duì)IOC和AOP的理解
3、Memchached 和 Redis 的區(qū)別
4、Redis的持久化實(shí)現(xiàn)
5、Redis的淘汰策略
6、定期刪除和惰性刪除的區(qū)別、優(yōu)缺點(diǎn)
7、IOC的原理是什么
8、Hashmap的底層實(shí)現(xiàn)和原理
9、手寫一個(gè),實(shí)現(xiàn)map的put方法
1、說(shuō)下spring事務(wù),@Transition 這個(gè)注解在哪些情況下不會(huì)生效
2、Synchronized 基本原理
3、Synchronized和ReentrantLock 都是可重入鎖,他們倆是怎么實(shí)現(xiàn)可重入的
4、線程池的工作原理和7個(gè)參數(shù)
5、Volatile的用處
6、JVM在什么情況下會(huì)發(fā)生YoungGC和FullGC
7、Redis的淘汰機(jī)制
8、類加載機(jī)制說(shuō)一下
9、快速排序的基本實(shí)現(xiàn)
10、Mysql優(yōu)化是怎么優(yōu)化的,索引失效的情況都有哪些
11、實(shí)現(xiàn)一個(gè)搶紅包的算法,怎么實(shí)現(xiàn)
12、讓你實(shí)現(xiàn)一個(gè)LRU算法,怎么實(shí)現(xiàn)
1、項(xiàng)目說(shuō)了很多
2、Spring是怎么管理Bean的
3、你們公司用AOP都做了什么
4、AOP的實(shí)現(xiàn)原理是什么
5、為什么JDK動(dòng)態(tài)代理要實(shí)現(xiàn)接口,CGLIB不用實(shí)現(xiàn)
6、CGLIB動(dòng)態(tài)代理的實(shí)現(xiàn)方式
7、如果讓你實(shí)現(xiàn)AOP,你會(huì)怎么實(shí)現(xiàn)
8、Redis的基本數(shù)據(jù)類型
9、Redis的hash是怎么實(shí)現(xiàn)的
10、Redis的事務(wù)是怎么實(shí)現(xiàn)的
11、Redis的淘汰機(jī)制
12、LRU是怎么實(shí)現(xiàn)的
13、HashMap的實(shí)現(xiàn)原理
14、HashMap中哪里用到了數(shù)組
15、HashMap的擴(kuò)容機(jī)制
16、你能想到別的方法進(jìn)行數(shù)組的擴(kuò)容嗎
17、為什么鏈表要轉(zhuǎn)換成紅黑樹(shù)
18、鏈表是怎么轉(zhuǎn)換成紅黑樹(shù)的
19、SpringBoot自動(dòng)裝配的原理
20、AutoConfigurationImportSelector這個(gè)類是怎么實(shí)現(xiàn)的
21、SpringApplication對(duì)象是怎么創(chuàng)建的
22、Spring循環(huán)依賴怎么解決的
1、JVM垃圾回收機(jī)制
2、怎么判斷當(dāng)前對(duì)象能否被回收
3、對(duì)象首次創(chuàng)建的話創(chuàng)建在哪個(gè)區(qū)(新生代還是老年代,新生代哪個(gè)區(qū))
4、解釋一下stop the world
5、Stop the world 過(guò)程中,如果有新的垃圾產(chǎn)生怎么辦
6、我說(shuō)我們項(xiàng)目用的是JDK1.6,面試官就問(wèn),1.8和1.6都有哪些區(qū)別
7、有了解過(guò)1.8的stream流嗎
8、HashMap1.8和1.8之前的區(qū)別,以及底層實(shí)現(xiàn)
9、HashMap為什么不是線程安全的
10、HashMap還會(huì)造成什么問(wèn)題(1.8之前頭插法會(huì)導(dǎo)致死循環(huán))
11、實(shí)現(xiàn)HashMap線程安全的有哪些(我答了三種)
12、CurrentHashMap的底層原理,以及1.8和之前的區(qū)別
13、詳細(xì)講講CAS的工作原理
14、CAS的ABA問(wèn)題怎么解決的
15、你常用的線程池有哪些
16、線程池的7個(gè)參數(shù)
17、SingleThreadExecutor和CachedThreadPool為什么不推薦使用,會(huì)出現(xiàn)哪些問(wèn)題
18、寫一個(gè)冒泡排序
19、寫一個(gè)算法,快樂(lè)數(shù)(LeetCode原題),我一開(kāi)始用遞歸寫,會(huì)出現(xiàn)死循環(huán)的狀態(tài),面試官超好提醒我,然后花了很長(zhǎng)時(shí)間修改算法,通過(guò)
20、Mybatis有了解它的插件嗎
21、MybatisTemplate 有了解嗎
22、Redis的五個(gè)參數(shù)
23、Redis的事務(wù),我Muliti事務(wù)開(kāi)始,然后寫了五個(gè)key,其中有一個(gè)失敗了,Redis怎么處理的,會(huì)回滾嗎
24、Redis事務(wù)和Mybatis事務(wù)有什么區(qū)別
25、Redis主從復(fù)制了解嗎
26、Redis主服務(wù)器是怎么給從服務(wù)器寫入數(shù)據(jù)的
27、看你還了解Docker,(簡(jiǎn)單說(shuō)了一下玩過(guò)一點(diǎn)點(diǎn))
1、聊了十多分鐘做的項(xiàng)目
2、你們公司自研的Spring和市面上流行的Spring有什么不一樣
3、Redis主要用來(lái)干嘛的
4、Redis的持久化方式
5、Redis的事務(wù)有了解嗎(我說(shuō)了使用的基本命令和mybatis、mysql的區(qū)別)
6、你對(duì)你們經(jīng)常使用的集合底層有了解嗎
7、HashMap的底層原理,1.8以及之前的,線程安全實(shí)現(xiàn)方式
8、Sychonized和ReentrantLock 的區(qū)別
9、Volatile的作用是什么
10、對(duì)JVM垃圾回收器有了解嗎
11、CMS垃圾回收器說(shuō)一下工作原理
12、堆和棧的區(qū)別
13、JVM的調(diào)優(yōu)
14、try{}catch{}finally{}中,如果finally{}中的返回值+1,返回的是多少,會(huì)改變返回結(jié)果嗎
15、線程池有了解嗎,它的工作原理
16、固定長(zhǎng)度的線程池有什么缺點(diǎn)
17、Mysql和Oracle你用的最大的區(qū)別是什么(我說(shuō)了兩者的事務(wù)隔離級(jí)別,以及mysql中的Explain和oracle當(dāng)中的Explain plan for的區(qū)別)
18、Mysql的聚簇索引和非聚簇索引有了解嗎
19、看你做過(guò)Sql優(yōu)化,講講你做了哪些優(yōu)化
20、Mysql回表知道是什么嗎
21、SpringMVC的工作流程是什么
22、一道簡(jiǎn)單的算法題,反轉(zhuǎn)鏈表,我說(shuō)這題我前段時(shí)間專門leetcode上練過(guò),我算法不好,這段時(shí)間主要是復(fù)習(xí)基礎(chǔ)了,面試官夸我基礎(chǔ)很扎實(shí),應(yīng)該二面穩(wěn)了,面試體檢極佳
1、是個(gè)小姐姐程序員,聊了聊項(xiàng)目
2、問(wèn)了下我們公司現(xiàn)在項(xiàng)目用到的技術(shù)棧
3、和一面一樣問(wèn)了下我們公司自研的Spring有哪些不一樣
4、同樣講了講oracle和mysql的區(qū)別
5、講講不可重復(fù)讀是什么
6、Jdk1.8有了解過(guò)CompletableFuture嗎(我沒(méi)有了解過(guò),流下來(lái)沒(méi)技術(shù)的眼淚)
7、那你知道Future嗎(好像是Callable的時(shí)候返回值會(huì)用到它,又流下了沒(méi)技術(shù)的眼淚)
8、寫一個(gè)算法題吧,牛客網(wǎng)的 密碼合格校驗(yàn),寫了十多分鐘,全是靠if else解決的
小姐姐也說(shuō),這個(gè)寫的沒(méi)問(wèn)題,但是需要更多的考慮更好的辦法,比如借助java自帶的工具類等等。
9、說(shuō)一些和技術(shù)無(wú)關(guān)的,你對(duì)你自己的技術(shù)發(fā)展有什么想法(我就說(shuō),平時(shí)會(huì)多看看技術(shù)公眾號(hào),看B站學(xué)習(xí)技術(shù),會(huì)關(guān)注很多新技術(shù)然后跟著學(xué)習(xí),想去更大的平臺(tái)通過(guò)實(shí)際場(chǎng)景的應(yīng)用豐富自己的閱歷)
1、String,StringBuild,StringBuff的區(qū)別
2、StringBuff為什么是線程安全的
3、ArrayList和LinkedList的區(qū)別是什么
4、以上二位是線程安全的嗎,怎么實(shí)現(xiàn)線程安全
5、Vector實(shí)現(xiàn)線程安全的原理是什么
6、多線程編程中你知道哪些都是保證線程安全的
7、Volatile的底層實(shí)現(xiàn)是什么
8、線程池了解嗎,說(shuō)說(shuō)工作原理
9、內(nèi)存溢出說(shuō)一下
10、棧溢出說(shuō)一下
11、要實(shí)現(xiàn)一個(gè)OOM和棧溢出,怎么實(shí)現(xiàn)
12、說(shuō)一下你常用的垃圾回收器
13、Stop the world 解釋一下
14、CMS的工作流程是什么
15、Spring中bean的作用域
16、Spring中bean的生命周期說(shuō)一下
17、說(shuō)一下你在項(xiàng)目中遇到的印象深刻的問(wèn)題是什么,有什么收貨
18、Redis的持久化怎么實(shí)現(xiàn)的
19、寫一道編程題,leetcode 第一道經(jīng)典題目--兩數(shù)之和
20、對(duì)美團(tuán)打車有什么想了解的嗎(問(wèn)了下美團(tuán)打車和滴滴高德打車的區(qū)別)
1、簡(jiǎn)單介紹了一下項(xiàng)目
2、HashMap介紹一下
3、為什么要用紅黑樹(shù)的結(jié)構(gòu)
4、紅黑樹(shù)一般都會(huì)用在哪些場(chǎng)景中
5、Oracle的索引了解嗎
6、Mysql的索引底層實(shí)現(xiàn)是什么
7、B+樹(shù)的實(shí)現(xiàn)原理了解嗎
8、Mysql事務(wù)特性了解嗎,具體說(shuō)一說(shuō)
9、Mysql的事務(wù)隔離級(jí)別了解嗎
10、Mysql的事務(wù)隔離級(jí)別是怎么實(shí)現(xiàn)的
11、算法題:[(5,7),(1,6),(15,50),(60,90),(35,37)] 合并二元數(shù)組 輸出[(1,7),(15,50),(60,90)]
12、算法題:分層打印二叉樹(shù)
13、算法題:反轉(zhuǎn)鏈表起網(wǎng)絡(luò)
答案在我過(guò)往文章都有,大家需要自行查閱喲,需要清晰一點(diǎn)的整理,去我的GitHub就可以了,上面基本上是我所有文章和資料的合集了。
聯(lián)系客服