前言
在看面試題之前先看看幾組對(duì)話吧:
其實(shí)我收集了很多很多的內(nèi)容狱杰,但是篇幅的原因,我就不一一羅列了厅须,我也經(jīng)撤禄看到群里朋友說看完我一些文章之后拿到不錯(cuò)offer,說真的我還有很多技術(shù)棧還沒寫朗和,能拿offer主要還是靠大家错沽,不過大家在我文章有所收獲我是很開心的。
特別是很多讀者都是10k以內(nèi)到 14k -18k什么的眶拉,在我大廠同學(xué)眼里可能沒什么因?yàn)榇蠹覒?yīng)屆進(jìn)去就是很高的base了千埃,但是我知道對(duì)很多朋友來說,太重要了忆植,這樣的一次機(jī)會(huì)不亞于一次重生放可。
因?yàn)槲宜械臉I(yè)余時(shí)間基本上都是寫文章,寫稿子朝刊,拍視頻耀里,剪視頻,所以大家給我私聊拾氓,我不一定都會(huì)回备韧,但是我基本上都會(huì)去看一下,很多時(shí)候難免有所感慨痪枫,有很多讀者像寫信一樣的表達(dá)他的經(jīng)歷织堂,表達(dá)他的感情。
有感動(dòng)奶陈,有感慨易阳,說真的寫東西本身就是我的一個(gè)興趣愛好,我也沒想到能寫到今天這樣了吃粒,偶爾和身邊的朋友聊起都覺得很神奇潦俺,更沒想到的就是還真的能幫助到很多朋友,說真的我其實(shí)沒想過能幫到這么多人徐勃,甚至現(xiàn)在這么多人認(rèn)識(shí)我事示,知道我。
讀者經(jīng)常說拿著我的簡(jiǎn)歷模板去面試僻肖,結(jié)果被面試官問肖爵,這不是敖丙的簡(jiǎn)歷模板嘛?我覺得真的是哭笑不得臀脏,不過表現(xiàn)欲極強(qiáng)的我還是很開心劝堪。
還有小伙伴在地鐵上看到別人看我的文章冀自,看我的視頻,我也覺得誒好像有那么點(diǎn)意思哈秒啦,丙也算是出圈了熬粗。
最近時(shí)間也多了起來,我會(huì)慢慢恢復(fù)技術(shù)文的更新的(畢竟大家年中跳槽的都在準(zhǔn)備了嘛哈哈)余境,暖不暖吧驻呐?
下面呢就是一位讀者分享他幾次面試的面試題總結(jié),答案在我之前寫過的文章中基本上都能找到芳来,一二面都是偏基礎(chǔ)的大家看看基本上就是這些東西含末,我都提到過,三四面就很偏項(xiàng)目了绣张,所以大家還是要好好準(zhǔn)備項(xiàng)目喲。
大廠面試題
域起網(wǎng)絡(luò) ----- 一家游戲公司30分鐘 電話面試
1关带、講一下GC的過程
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怎么保證可見性的
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的隔離級(jí)別為什么不同
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)用場(chǎng)景,我說的Mysql中的索引
19摹闽、是所有索引都用的B+ 樹嗎蹄咖,哪些用了
20、一道算法題 寫一個(gè)數(shù)字反序的方法 我寫的沒有考慮溢出的情況
快手 -- 視頻面試30分鐘
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方法
學(xué)堂在線 -- 視頻面試20分鐘
1耘成、說下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ī)制說一下
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動(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)換成紅黑樹
18涩澡、鏈表是怎么轉(zhuǎn)換成紅黑樹的
19、SpringBoot自動(dòng)裝配的原理
20坠敷、AutoConfigurationImportSelector這個(gè)類是怎么實(shí)現(xiàn)的
21妙同、SpringApplication對(duì)象是怎么創(chuàng)建的
22、Spring循環(huán)依賴怎么解決的
搜狐一面 -- 視頻面試 50分鐘
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 過程中卖漫,如果有新的垃圾產(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還會(huì)造成什么問題(1.8之前頭插法會(huì)導(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為什么不推薦使用酸舍,會(huì)出現(xiàn)哪些問題
18、寫一個(gè)冒泡排序
19里初、寫一個(gè)算法啃勉,快樂數(shù)(LeetCode原題),我一開始用遞歸寫双妨,會(huì)出現(xiàn)死循環(huán)的狀態(tài)淮阐,面試官超好提醒我,然后花了很長時(shí)間修改算法刁品,通過
20泣特、Mybatis有了解它的插件嗎
21、MybatisTemplate 有了解嗎
22挑随、Redis的五個(gè)參數(shù)
23状您、Redis的事務(wù),我Muliti事務(wù)開始兜挨,然后寫了五個(gè)key膏孟,其中有一個(gè)失敗了,Redis怎么處理的拌汇,會(huì)回滾嗎
24柒桑、Redis事務(wù)和Mybatis事務(wù)有什么區(qū)別
25、Redis主從復(fù)制了解嗎
26噪舀、Redis主服務(wù)器是怎么給從服務(wù)器寫入數(shù)據(jù)的
27魁淳、看你還了解Docker,(簡(jiǎn)單說了一下玩過一點(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、你對(duì)你們經(jīng)常使用的集合底層有了解嗎
7该溯、HashMap的底層原理岛抄,1.8以及之前的,線程安全實(shí)現(xiàn)方式
8狈茉、Sychonized和ReentrantLock 的區(qū)別
9夫椭、Volatile的作用是什么
10、對(duì)JVM垃圾回收器有了解嗎
11氯庆、CMS垃圾回收器說一下工作原理
12蹭秋、堆和棧的區(qū)別
13、JVM的調(diào)優(yōu)
14堤撵、try{}catch{}finally{}中仁讨,如果finally{}中的返回值+1,返回的是多少实昨,會(huì)改變返回結(jié)果嗎
15洞豁、線程池有了解嗎,它的工作原理
16荒给、固定長度的線程池有什么缺點(diǎn)
17丈挟、Mysql和Oracle你用的最大的區(qū)別是什么(我說了兩者的事務(wù)隔離級(jí)別,以及mysql中的Explain和oracle當(dāng)中的Explain plan for的區(qū)別)
18志电、Mysql的聚簇索引和非聚簇索引有了解嗎
19曙咽、看你做過Sql優(yōu)化,講講你做了哪些優(yōu)化
20挑辆、Mysql回表知道是什么嗎
21例朱、SpringMVC的工作流程是什么
22、一道簡(jiǎn)單的算法題之拨,反轉(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í)候返回值會(huì)用到它姆打,又流下了沒技術(shù)的眼淚)
8、寫一個(gè)算法題吧肠虽,裴O罚客網(wǎng)的 密碼合格校驗(yàn),寫了十多分鐘税课,全是靠if else解決的
小姐姐也說闲延,這個(gè)寫的沒問題,但是需要更多的考慮更好的辦法韩玩,比如借助java自帶的工具類等等垒玲。
9、說一些和技術(shù)無關(guān)的找颓,你對(duì)你自己的技術(shù)發(fā)展有什么想法(我就說侍匙,平時(shí)會(huì)多看看技術(shù)公眾號(hào),看B站學(xué)習(xí)技術(shù)叮雳,會(huì)關(guān)注很多新技術(shù)然后跟著學(xué)習(xí)想暗,想去更大的平臺(tái)通過實(shí)際場(chǎng)景的應(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减俏、對(duì)美團(tuán)打車有什么想了解的嗎(問了下美團(tuán)打車和滴滴高德打車的區(qū)別)
字節(jié)跳動(dòng) 視頻面試 -- 30分鐘
1召烂、簡(jiǎn)單介紹了一下項(xiàng)目
2、HashMap介紹一下
3娃承、為什么要用紅黑樹的結(jié)構(gòu)
4奏夫、紅黑樹一般都會(huì)用在哪些場(chǎng)景中
5、Oracle的索引了解嗎
6历筝、Mysql的索引底層實(shí)現(xiàn)是什么
7酗昼、B+樹的實(shí)現(xiàn)原理了解嗎
8、Mysql事務(wù)特性了解嗎梳猪,具體說一說
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呛哟、算法題:分層打印二叉樹
13、算法題:反轉(zhuǎn)鏈表起網(wǎng)絡(luò)
總結(jié)
答案在我過往文章都有匿沛,大家需要自行查閱喲扫责,需要清晰一點(diǎn)的整理,去我的GitHub就可以了逃呼,上面基本上是我所有文章和資料的合集了鳖孤。
另外,敖丙把自己的面試文章整理成了一本電子書抡笼,共 1630頁苏揣!目錄如下
過往文章和資料:https://github.com/AobingJava/JavaFamily 面試資料公號(hào)回復(fù)【資料】即可 或者百度云直接下載 面試資料鏈接:http://pan.baidu.com/s/1i3vmGfV 密碼:moy8
希望大家都能找到心儀的工作,都有跟開頭讀者一樣跟我分享喜悅的一天推姻,如果你覺得堅(jiān)持不下去的時(shí)候平匈,想想你進(jìn)去之后能拿到的薪資待遇,我想你會(huì)堅(jiān)持住的拾碌,還是那句話吐葱,不是一番梅徹骨街望,怎得梅花撲鼻香校翔。
我是敖丙,你知道的越多灾前,你不知道的越多防症,我們下期見!
人才們的 【三連】 就是敖丙創(chuàng)作的最大動(dòng)力,如果本篇博客有任何錯(cuò)誤和建議蔫敲,歡迎人才們留言饲嗽!
文章持續(xù)更新,可以微信搜索「 三太子敖丙 」第一時(shí)間閱讀奈嘿,回復(fù)【資料】有我準(zhǔn)備的一線大廠面試資料和簡(jiǎn)歷模板貌虾,本文 GitHub https://github.com/JavaFamily 已經(jīng)收錄,有大廠面試完整考點(diǎn)裙犹,歡迎Star尽狠。