前言
在看面試題之前先看看幾組對話吧:







其實(shí)我收集了很多很多的內(nèi)容,但是篇幅的原因,我就不一一羅列了,我也經(jīng)常看到群里朋友說看完我一些文章之后拿到不錯(cuò)offer,說真的我還有很多技術(shù)棧還沒寫,能拿offer主要還是靠大家,不過大家在我文章有所收獲我是很開心的。
特別是很多讀者都是10k以內(nèi)到 14k -18k什么的,在我大廠同學(xué)眼里可能沒什么因?yàn)榇蠹覒?yīng)屆進(jìn)去就是很高的base了,但是我知道對很多朋友來說,太重要了,這樣的一次機(jī)會不亞于一次重生。
因?yàn)槲宜械臉I(yè)余時(shí)間基本上都是寫文章,寫稿子,拍視頻,剪視頻,所以大家給我私聊,我不一定都會回,但是我基本上都會去看一下,很多時(shí)候難免有所感慨,有很多讀者像寫信一樣的表達(dá)他的經(jīng)歷,表達(dá)他的感情。
有感動,有感慨,說真的寫東西本身就是我的一個(gè)興趣愛好,我也沒想到能寫到今天這樣了,偶爾和身邊的朋友聊起都覺得很神奇,更沒想到的就是還真的能幫助到很多朋友,說真的我其實(shí)沒想過能幫到這么多人,甚至現(xiàn)在這么多人認(rèn)識我,知道我。
讀者經(jīng)常說拿著我的簡歷模板去面試,結(jié)果被面試官問,這不是敖丙的簡歷模板嘛?我覺得真的是哭笑不得,不過表現(xiàn)欲極強(qiáng)的我還是很開心。
還有小伙伴在地鐵上看到別人看我的文章,看我的視頻,我也覺得誒好像有那么點(diǎn)意思哈,丙也算是出圈了。

最近時(shí)間也多了起來,我會慢慢恢復(fù)技術(shù)文的更新的(畢竟大家年中跳槽的都在準(zhǔn)備了嘛哈哈),暖不暖吧?
下面呢就是一位讀者分享他幾次面試的面試題總結(jié),答案在我之前寫過的文章中基本上都能找到,一二面都是偏基礎(chǔ)的大家看看基本上就是這些東西,我都提到過,三四面就很偏項(xiàng)目了,所以大家還是要好好準(zhǔn)備項(xiàng)目喲。
大廠面試題
域起網(wǎng)絡(luò) ----- 一家游戲公司30分鐘 電話面試
1、講一下GC的過程
2、什么樣的對象會被老年代回收
3、為什么要設(shè)置S0,S1區(qū)
4、什么樣的對象可以作為GC roots
5、多線程的異步調(diào)用怎么實(shí)現(xiàn)的
6、講講你最常用的單例模式 (我答的雙重檢測)
7、雙重檢測的INSTACNE為什么要用voliate修飾
8、voliate怎么保證可見性的
9、Sychonized的作用是什么
10、Sychonized 和 lock的區(qū)別
11、排序算法以及時(shí)間復(fù)雜度
12、講講代理模式
13、網(wǎng)絡(luò)編程有了解嗎,講講TCP/UDP的區(qū)別
14、為什么UDP速率比TCP快
跟誰學(xué)(文思海輝)-- 視頻面試 44分鐘
1、JVM調(diào)優(yōu)的工具和命令,jstat 查看狀態(tài)都有哪些
2、線程的狀態(tài)
3、wite 不需要時(shí)間嗎 sleep 和 wite 鎖的區(qū)別
4、線程池了解過嗎,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的隔離級別為什么不同
13、怎么查看Mysql的sql執(zhí)行情況
14、Explain sql 中參數(shù)
15、Redis中的zset和Three set有什么區(qū)別
16、Three set是怎么實(shí)現(xiàn)排序的
17、還知道哪些可以排序的樹 我說的B+ 樹
18、B+樹的運(yùn)用場景,我說的Mysql中的索引
19、是所有索引都用的B+ 樹嗎,哪些用了
20、一道算法題 寫一個(gè)數(shù)字反序的方法 我寫的沒有考慮溢出的情況
快手 -- 視頻面試30分鐘
1、談一下項(xiàng)目
2、談一下對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方法
學(xué)堂在線 -- 視頻面試20分鐘
1、說下spring事務(wù),@Transition 這個(gè)注解在哪些情況下不會生效
2、Synchronized 基本原理
3、Synchronized和ReentrantLock 都是可重入鎖,他們倆是怎么實(shí)現(xiàn)可重入的
4、線程池的工作原理和7個(gè)參數(shù)
5、Volatile的用處
6、JVM在什么情況下會發(fā)生YoungGC和FullGC
7、Redis的淘汰機(jī)制
8、類加載機(jī)制說一下
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)
銷售易 -- 視頻面試 30分鐘
1、項(xiàng)目說了很多
2、Spring是怎么管理Bean的
3、你們公司用AOP都做了什么
4、AOP的實(shí)現(xiàn)原理是什么
5、為什么JDK動態(tài)代理要實(shí)現(xiàn)接口,CGLIB不用實(shí)現(xiàn)
6、CGLIB動態(tài)代理的實(shí)現(xiàn)方式
7、如果讓你實(shí)現(xiàn)AOP,你會怎么實(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)換成紅黑樹
18、鏈表是怎么轉(zhuǎn)換成紅黑樹的
19、SpringBoot自動裝配的原理
20、AutoConfigurationImportSelector這個(gè)類是怎么實(shí)現(xiàn)的
21、SpringApplication對象是怎么創(chuàng)建的
22、Spring循環(huán)依賴怎么解決的
搜狐一面 -- 視頻面試 50分鐘
1、JVM垃圾回收機(jī)制
2、怎么判斷當(dāng)前對象能否被回收
3、對象首次創(chuàng)建的話創(chuàng)建在哪個(gè)區(qū)(新生代還是老年代,新生代哪個(gè)區(qū))
4、解釋一下stop the world
5、Stop the world 過程中,如果有新的垃圾產(chǎn)生怎么辦
6、我說我們項(xiàng)目用的是JDK1.6,面試官就問,1.8和1.6都有哪些區(qū)別
7、有了解過1.8的stream流嗎
8、HashMap1.8和1.8之前的區(qū)別,以及底層實(shí)現(xiàn)
9、HashMap為什么不是線程安全的
10、HashMap還會造成什么問題(1.8之前頭插法會導(dǎo)致死循環(huán))
11、實(shí)現(xiàn)HashMap線程安全的有哪些(我答了三種)
12、CurrentHashMap的底層原理,以及1.8和之前的區(qū)別
13、詳細(xì)講講CAS的工作原理
14、CAS的ABA問題怎么解決的
15、你常用的線程池有哪些
16、線程池的7個(gè)參數(shù)
17、SingleThreadExecutor和CachedThreadPool為什么不推薦使用,會出現(xiàn)哪些問題
18、寫一個(gè)冒泡排序
19、寫一個(gè)算法,快樂數(shù)(LeetCode原題),我一開始用遞歸寫,會出現(xiàn)死循環(huán)的狀態(tài),面試官超好提醒我,然后花了很長時(shí)間修改算法,通過
20、Mybatis有了解它的插件嗎
21、MybatisTemplate 有了解嗎
22、Redis的五個(gè)參數(shù)
23、Redis的事務(wù),我Muliti事務(wù)開始,然后寫了五個(gè)key,其中有一個(gè)失敗了,Redis怎么處理的,會回滾嗎
24、Redis事務(wù)和Mybatis事務(wù)有什么區(qū)別
25、Redis主從復(fù)制了解嗎
26、Redis主服務(wù)器是怎么給從服務(wù)器寫入數(shù)據(jù)的
27、看你還了解Docker,(簡單說了一下玩過一點(diǎn)點(diǎn))
美團(tuán)(美團(tuán)地圖)一面 -- 視頻面試 50分鐘
1、聊了十多分鐘做的項(xiàng)目
2、你們公司自研的Spring和市面上流行的Spring有什么不一樣
3、Redis主要用來干嘛的
4、Redis的持久化方式
5、Redis的事務(wù)有了解嗎(我說了使用的基本命令和mybatis、mysql的區(qū)別)
6、你對你們經(jīng)常使用的集合底層有了解嗎
7、HashMap的底層原理,1.8以及之前的,線程安全實(shí)現(xiàn)方式
8、Sychonized和ReentrantLock 的區(qū)別
9、Volatile的作用是什么
10、對JVM垃圾回收器有了解嗎
11、CMS垃圾回收器說一下工作原理
12、堆和棧的區(qū)別
13、JVM的調(diào)優(yōu)
14、try{}catch{}finally{}中,如果finally{}中的返回值+1,返回的是多少,會改變返回結(jié)果嗎
15、線程池有了解嗎,它的工作原理
16、固定長度的線程池有什么缺點(diǎn)
17、Mysql和Oracle你用的最大的區(qū)別是什么(我說了兩者的事務(wù)隔離級別,以及mysql中的Explain和oracle當(dāng)中的Explain plan for的區(qū)別)
18、Mysql的聚簇索引和非聚簇索引有了解嗎
19、看你做過Sql優(yōu)化,講講你做了哪些優(yōu)化
20、Mysql回表知道是什么嗎
21、SpringMVC的工作流程是什么
22、一道簡單的算法題,反轉(zhuǎn)鏈表,我說這題我前段時(shí)間專門leetcode上練過,我算法不好,這段時(shí)間主要是復(fù)習(xí)基礎(chǔ)了,面試官夸我基礎(chǔ)很扎實(shí),應(yīng)該二面穩(wěn)了,面試體檢極佳
美團(tuán)(美團(tuán)地圖)二面 -- 視頻面試 40分鐘
1、是個(gè)小姐姐程序員,聊了聊項(xiàng)目
2、問了下我們公司現(xiàn)在項(xiàng)目用到的技術(shù)棧
3、和一面一樣問了下我們公司自研的Spring有哪些不一樣
4、同樣講了講oracle和mysql的區(qū)別
5、講講不可重復(fù)讀是什么
6、Jdk1.8有了解過CompletableFuture嗎(我沒有了解過,流下來沒技術(shù)的眼淚)
7、那你知道Future嗎(好像是Callable的時(shí)候返回值會用到它,又流下了沒技術(shù)的眼淚)
8、寫一個(gè)算法題吧,??途W(wǎng)的 密碼合格校驗(yàn),寫了十多分鐘,全是靠if else解決的
小姐姐也說,這個(gè)寫的沒問題,但是需要更多的考慮更好的辦法,比如借助java自帶的工具類等等。
9、說一些和技術(shù)無關(guān)的,你對你自己的技術(shù)發(fā)展有什么想法(我就說,平時(shí)會多看看技術(shù)公眾號,看B站學(xué)習(xí)技術(shù),會關(guān)注很多新技術(shù)然后跟著學(xué)習(xí),想去更大的平臺通過實(shí)際場景的應(yīng)用豐富自己的閱歷)
美團(tuán)(美團(tuán)打車)一面 -- 視頻面試 40分鐘
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、線程池了解嗎,說說工作原理
9、內(nèi)存溢出說一下
10、棧溢出說一下
11、要實(shí)現(xiàn)一個(gè)OOM和棧溢出,怎么實(shí)現(xiàn)
12、說一下你常用的垃圾回收器
13、Stop the world 解釋一下
14、CMS的工作流程是什么
15、Spring中bean的作用域
16、Spring中bean的生命周期說一下
17、說一下你在項(xiàng)目中遇到的印象深刻的問題是什么,有什么收貨
18、Redis的持久化怎么實(shí)現(xiàn)的
19、寫一道編程題,leetcode 第一道經(jīng)典題目--兩數(shù)之和
20、對美團(tuán)打車有什么想了解的嗎(問了下美團(tuán)打車和滴滴高德打車的區(qū)別)
字節(jié)跳動 視頻面試 -- 30分鐘
1、簡單介紹了一下項(xiàng)目
2、HashMap介紹一下
3、為什么要用紅黑樹的結(jié)構(gòu)
4、紅黑樹一般都會用在哪些場景中
5、Oracle的索引了解嗎
6、Mysql的索引底層實(shí)現(xiàn)是什么
7、B+樹的實(shí)現(xiàn)原理了解嗎
8、Mysql事務(wù)特性了解嗎,具體說一說
9、Mysql的事務(wù)隔離級別了解嗎
10、Mysql的事務(wù)隔離級別是怎么實(shí)現(xiàn)的
11、算法題:[(5,7),(1,6),(15,50),(60,90),(35,37)] 合并二元數(shù)組 輸出[(1,7),(15,50),(60,90)]
12、算法題:分層打印二叉樹
13、算法題:反轉(zhuǎn)鏈表起網(wǎng)絡(luò)
總結(jié)
答案在我過往文章都有,大家需要自行查閱喲,需要清晰一點(diǎn)的整理,去我的GitHub就可以了,上面基本上是我所有文章和資料的合集了。
另外,敖丙把自己的面試文章整理成了一本電子書,共 1630頁!目錄如下


過往文章和資料:https://github.com/AobingJava/JavaFamily 面試資料公號回復(fù)【資料】即可 或者百度云直接下載 面試資料鏈接:http://pan.baidu.com/s/1i3vmGfV 密碼:moy8
希望大家都能找到心儀的工作,都有跟開頭讀者一樣跟我分享喜悅的一天,如果你覺得堅(jiān)持不下去的時(shí)候,想想你進(jìn)去之后能拿到的薪資待遇,我想你會堅(jiān)持住的,還是那句話,不是一番梅徹骨,怎得梅花撲鼻香。

我是敖丙,你知道的越多,你不知道的越多,我們下期見!
人才們的 【三連】 就是敖丙創(chuàng)作的最大動力,如果本篇博客有任何錯(cuò)誤和建議,歡迎人才們留言!
文章持續(xù)更新,可以微信搜索「 三太子敖丙 」第一時(shí)間閱讀,回復(fù)【資料】有我準(zhǔn)備的一線大廠面試資料和簡歷模板,本文 GitHub https://github.com/JavaFamily 已經(jīng)收錄,有大廠面試完整考點(diǎn),歡迎Star。