前言
眼看著馬上又要秋招了酌伊,所以打算總結(jié)一下自己的收獲,順便給大伙輸出一些東西,希望對(duì)還沒(méi)上岸的兄弟在秋招取得一個(gè)好的結(jié)果有一些幫助居砖。不敢說(shuō)多權(quán)威虹脯,只是權(quán)當(dāng)給大家一個(gè)參考。
本文大概分為面試指導(dǎo)思想以及面試經(jīng)驗(yàn)奏候,最后我會(huì)放一下我在字節(jié)跟騰訊的面試過(guò)程循集,給大家參考一下。現(xiàn)在我已經(jīng)上岸了蔗草,可以無(wú)償分享給大家咒彤,在首頁(yè)找獲取方式即可,祝大家都能早日拿到自己心儀的offer咒精。
Java基礎(chǔ)知識(shí)總結(jié)
2021金三銀四Java崗面試真題總結(jié)
一線互聯(lián)網(wǎng)公司Java面試核心知識(shí)點(diǎn)
春招結(jié)果
收到 Offer 國(guó)內(nèi): 騰訊镶柱、阿里、百度模叙、字節(jié)歇拆、美團(tuán)、依圖 外企: 微軟范咨、....查吊、.... (還有幾個(gè)容易被定位,就不寫(xiě)了)
簡(jiǎn)歷/筆試被掛 Airbnb湖蜕、米哈游
還有幾個(gè)在等結(jié)果
總共參與了 37場(chǎng)次 的面試
投遞崗位全部為后端開(kāi)發(fā)暑期實(shí)習(xí)
指導(dǎo)思想
以下這些東西逻卖,或許聽(tīng)起來(lái)很“虛“,但我認(rèn)為它們又是確實(shí)是有用的昭抒。
招聘到底是什么评也?企業(yè)(買(mǎi)家)在人力市場(chǎng)上,向我們(賣(mài)家)購(gòu)買(mǎi)勞動(dòng)力這種商品灭返。實(shí)質(zhì)是一類交易盗迟。
面試到底是什么?買(mǎi)家用各種方法“黑盒檢測(cè)”賣(mài)家手里商品的各種質(zhì)量參數(shù)熙含,買(mǎi)家探測(cè)/質(zhì)疑/挑刺賣(mài)家罚缕,賣(mài)家回應(yīng)買(mǎi)家,雙方交換怎静、討價(jià)還價(jià)邮弹,最終雙方敲定是否成交(一般來(lái)說(shuō)主動(dòng)權(quán)在買(mǎi)方)、一個(gè)有明顯固定套路的過(guò)程蚓聘。
=> 和你爸媽去菜市場(chǎng)挑菜腌乡、買(mǎi)菜、討價(jià)還價(jià)的過(guò)程夜牡,本質(zhì)上完全一樣与纽。但要把自己代入小販的角色。
=> 可以把你知道的、見(jiàn)到過(guò)的急迂,所有相關(guān)知識(shí)都遷移到應(yīng)聘這件事情上來(lái)影所。沒(méi)吃過(guò)豬總見(jiàn)過(guò)豬跑。
=> 商品本身的質(zhì)量 = 硬技能 = 簡(jiǎn)歷履歷僚碎、CS知識(shí)猴娩、八股文、代碼能力听盖、做算法題能力 展示 & 推銷(xiāo)商品的技巧 = 軟技能 = 怎么在討價(jià)還價(jià)的過(guò)程中,成功地展示自己裂七,最終把自己推銷(xiāo)出去皆看、賣(mài)掉。
=> 根據(jù)整個(gè)面試流程的特征(比如檢測(cè)商品質(zhì)量的方法是黑盒檢測(cè))背零,根據(jù)預(yù)期準(zhǔn)備時(shí)長(zhǎng)和自身基礎(chǔ)決定策略腰吟,以最大化單位時(shí)間效率作為目標(biāo),對(duì)兩種技能分別準(zhǔn)備徙瓶。最終目標(biāo)就是把自己“賣(mài)掉“毛雇。
到底應(yīng)該從誰(shuí)的角度出發(fā)來(lái)思考?
例如侦镇,我們參加實(shí)習(xí)面試當(dāng)然還有其他目的灵疮,比如感受公司氛圍、學(xué)技術(shù)或者刷簡(jiǎn)歷等 但是壳繁,這些意義僅是站在我們的角度才make sense的. 對(duì)于大多數(shù)普通賣(mài)家(我們)來(lái)說(shuō)x震捣,主動(dòng)權(quán)仍是在公司(買(mǎi)家)手里的,所以我們從誰(shuí)的角度出發(fā)來(lái)思考闹炉,也不言而喻了蒿赢。
具體工作
硬技能
簡(jiǎn)歷履歷
最重要的指標(biāo)例如學(xué)歷/論文/獲獎(jiǎng),在開(kāi)始準(zhǔn)備面試時(shí)渣触,基本已經(jīng)定死了羡棵。
我們能主觀上改變的地方在哪里呢?考慮一下面試過(guò)程的特點(diǎn)嗅钻,幾乎所有面試官都會(huì)或多或少根據(jù)簡(jiǎn)歷上的點(diǎn)來(lái)針對(duì)性的問(wèn)你皂冰。根據(jù)這個(gè)特點(diǎn)進(jìn)行寫(xiě)簡(jiǎn)歷/準(zhǔn)備面試,就行了养篓。我想到的就這些灼擂。
八股文
有3種策略【踔粒【不要一看到“s死記硬背“就覺(jué)得是最差方法剔应,而是要根據(jù)對(duì)應(yīng)八股的出現(xiàn)頻次來(lái)靈活采用不同策略】,要不斷提醒自己,【目標(biāo)函數(shù)是峻贮,在有限的時(shí)間限制下和自身基礎(chǔ)限制下席怪,最大化時(shí)間效率】。
具體策略
低頻八股: 短時(shí)間理解不了纤控,直接死記硬背挂捻。若時(shí)間緊張,果斷跳過(guò)船万。
中高頻八股: 把中學(xué)時(shí)候那套背誦技巧拿出來(lái)刻撒,比如編各種口訣輔助記憶」⒌迹或者適度花時(shí)間去適度理解声怔。 例子:待補(bǔ)。
高頻八股: 花較多時(shí)間舱呻、精力深入理解醋火,理解體會(huì)背后的設(shè)計(jì)思想、邏輯 + 反復(fù)背箱吕。
很多問(wèn)題在英文搜索引擎上會(huì)有更優(yōu)質(zhì)芥驳、更能幫助你理解的解答。
個(gè)人準(zhǔn)備時(shí)長(zhǎng):半個(gè)寒假
算法題
市面上有統(tǒng)計(jì)各公司面試算法題出現(xiàn)頻率的網(wǎng)站茬高,按從高頻到低頻的順序進(jìn)行準(zhǔn)備兆旬。
個(gè)人準(zhǔn)備時(shí)長(zhǎng) Leetcode: 斷斷續(xù)續(xù)做了有四個(gè)多月,共300+題怎栽。
做完后爵憎,對(duì)于高頻的一百題不到,去看了題解區(qū)的題解婚瓜,然后根據(jù)自己的實(shí)際情況宝鼓,逐一寫(xiě)了自己的題解筆記(思考路徑、易錯(cuò)點(diǎn)等)
項(xiàng)目
隨便找了個(gè)以前寫(xiě)的網(wǎng)站項(xiàng)目巴刻。如果你找不到項(xiàng)目寫(xiě)愚铡,可以看看我之前寫(xiě)得這篇GitHub收藏最高的10個(gè)Java練手項(xiàng)目推薦。私信“秋招”就可以領(lǐng)取了胡陪。
然后多看面經(jīng)沥寥,把常見(jiàn)的項(xiàng)目相關(guān)的問(wèn)題整理出來(lái),預(yù)先想好怎么回答柠座。面試的過(guò)程中不斷增補(bǔ)即可邑雅。
軟技能
首先還是要明確觀念
面試主要的內(nèi)容就是買(mǎi)家不斷通過(guò)交互式的試探"商品"質(zhì)量。
注意妈经,這是一個(gè)動(dòng)態(tài)的淮野、交互的過(guò)程y捧书, 而不是一個(gè)靜態(tài)的過(guò)程,并不是等同于做一張題目都打印好了的固定“試卷“骤星。
個(gè)人通過(guò)大量面試發(fā)現(xiàn)经瓷,基本所有面試官面試,都或多或少存在【騎驢找馬】的現(xiàn)象洞难。也就是說(shuō)舆吮,面試題并非像一張打印好的考試卷一樣,是完全靜態(tài)的队贱、固定的x色冀,而是動(dòng)態(tài)的、交互式的。面試官(或多或少)會(huì)看著簡(jiǎn)歷,或根據(jù)談話內(nèi)容淋昭,來(lái)選擇下一步的面試問(wèn)題。如果你能提供給他提問(wèn)的方向伶氢,面試官也樂(lè)于省得動(dòng)腦子找問(wèn)題來(lái)問(wèn)你趟径。
這就給了我們交互引導(dǎo)的空間瘪吏。要讓話題往利于你“推銷(xiāo)賣(mài)掉”自己的方向、展示出自己好的一面的方向走蜗巧。
面試官問(wèn)了一個(gè)你不會(huì)的東西掌眠,不要直接說(shuō)不會(huì),而是把你知道的能扯上關(guān)系的東西幕屹,主動(dòng)地給面試官講蓝丙。最差的應(yīng)對(duì)措施就是直接說(shuō)“不會(huì)”了事。
對(duì)于你自信的望拖、想讓他問(wèn)的東西渺尘,想辦法在談話中往那邊引,讓面試官往那個(gè)方向問(wèn)说敏。 有時(shí)會(huì)碰到鸥跟,面試官直接問(wèn)你,“你覺(jué)得自己有什么擅長(zhǎng)的知識(shí)領(lǐng)域“盔沫,能就更省事了医咨。
有時(shí)會(huì)碰到,面試官問(wèn)你架诞,“你對(duì)XXS方面的知識(shí)熟悉嗎”拟淮,如果熟悉,當(dāng)然作肯定回答Y谴忧。如果不熟悉很泊,不要只說(shuō)自己不熟悉就完事了角虫。你完全可以趁機(jī)會(huì)說(shuō)出你熟悉的領(lǐng)域,完成提問(wèn)方向的引導(dǎo)撑蚌。
總而言之上遥,要充分發(fā)揮我們的主觀能動(dòng)性,而不是被動(dòng)地争涌、等著面試官像出試卷題目一樣粉楚,一條一條地問(wèn)你
讀者可以自行舉一反三
面試之外的技能 和 HR 溝通?:
同樣要明確觀念,不要當(dāng)一個(gè)單純的被動(dòng)執(zhí)行者亮垫。在面試時(shí)間模软、整個(gè)應(yīng)聘流程時(shí)長(zhǎng)、甚至 Offer 本身上饮潦,其實(shí)都有可能通過(guò)各類溝通改變燃异。談與不談,可能就嘴皮子上下翻兩下继蜡,卻可以幫助你節(jié)省幾周的苦苦等待時(shí)間回俐。總之稀并,想方設(shè)法充分發(fā)揮自身主觀能動(dòng)性仅颇。
復(fù)盤(pán)。記錄每次面試全過(guò)程碘举,事后復(fù)盤(pán)總結(jié)
多用已有 Offer 進(jìn)行 argue忘瓦,包括對(duì)面試官 & HR。能省的可能不只是等待時(shí)間引颈。
字節(jié)面試過(guò)程
一面(65mins)
自我介紹
項(xiàng)目中怎么用的這些開(kāi)源算法
項(xiàng)目中的場(chǎng)地檢測(cè)和自動(dòng)取彈算法
問(wèn):會(huì)不會(huì)數(shù)據(jù)庫(kù)耕皮,問(wèn)個(gè)簡(jiǎn)單的問(wèn)題,在數(shù)據(jù)庫(kù)操作數(shù)據(jù)的時(shí)候,什么時(shí)候可以利用索引?
問(wèn)一下計(jì)算機(jī)網(wǎng)絡(luò)蝙场,TCP的連接過(guò)程(詳細(xì)聊了三次握手和四次揮手)
為什么有time_wait凌停,沒(méi)有會(huì)怎么樣
說(shuō)一下TCP的擁塞控制
剛才說(shuō)到了TCP是保序的,是靠ack還是seq
https是比較主流的因特網(wǎng)協(xié)議售滤,聊一下https的加密過(guò)程(只說(shuō)了一下https的加密特點(diǎn)罚拟,答得不好)
了解http2.0嗎,和http1.1有什么區(qū)別(只聊了http1.1的特點(diǎn)趴泌,http2.0說(shuō)的不好)
再聊一下操作系統(tǒng)舟舒,說(shuō)一下死鎖的必要條件
聊一下死鎖的避免(銀行家算法)
操作系統(tǒng)中你了解那些鎖呢?(介紹了一下信號(hào)量機(jī)制嗜憔,互斥信號(hào)量同步信號(hào)量秃励,然后具體的讀寫(xiě)鎖互斥鎖自旋鎖答得不好)
了解linux嗎,用什么命令查看當(dāng)前系統(tǒng)進(jìn)程(答平時(shí)只是使用linux寫(xiě)一些代碼吉捶,沒(méi)有深入了解過(guò))
做道題(L474零和一夺鲜,二維01背包)秒了
二面(55mins)
一分鐘介紹一下自己
你是怎么使用開(kāi)源庫(kù)的皆尔,你所說(shuō)的對(duì)開(kāi)源庫(kù)的優(yōu)化能說(shuō)一個(gè)具體的例子嗎?
說(shuō)一下進(jìn)程和線程的區(qū)別
知道協(xié)程嗎
進(jìn)程間的通信方式有哪些
http的狀態(tài)碼了解嗎币励,說(shuō)一說(shuō)3開(kāi)頭的狀態(tài)碼慷蠕,300,301食呻,302的區(qū)別流炕,304詳細(xì)說(shuō)一下
http請(qǐng)求方法GET和POST的區(qū)別
剛才說(shuō)到冪等性,了解PUT和DELETE嗎仅胞,他們是冪等的嗎
數(shù)據(jù)庫(kù)了解嗎每辟?redis了解嗎?(答在學(xué)干旧,問(wèn)會(huì)多少渠欺,答一道題都還沒(méi)做過(guò))
聊一下overload和override
智能指針了解嗎,說(shuō)一說(shuō)
指針和引用的區(qū)別了解嗎椎眯?說(shuō)一說(shuō)
了解哪些設(shè)計(jì)模式(沒(méi)有專門(mén)了解過(guò)挠将,略了解一些單例模式)
單例模式是把構(gòu)造函數(shù)作為私有函數(shù),那么如何沒(méi)有對(duì)象就調(diào)用類的函數(shù)呢(static)
還了解其他的設(shè)計(jì)模式嗎(真的不會(huì)了...)
了解LRU和LFU嗎编整,LRU用軟件實(shí)現(xiàn)如何設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)
算法題
找到第K小的數(shù)劍指 Offer 40. 最小的k個(gè)數(shù)舔稀,秒
無(wú)重復(fù)的最長(zhǎng)字串,秒
如何評(píng)價(jià)自己
反問(wèn)
如何評(píng)價(jià)我
想要適應(yīng)崗位需要提高哪方面能力
其實(shí)面試官中間問(wèn)了很多其他的問(wèn)題闹击,***了解嗎镶蹋,因?yàn)槲覜](méi)有聽(tīng)說(shuō)過(guò)成艘,所以面試完就回憶不起來(lái)了赏半。
三面(45mins)
自我介紹一下
項(xiàng)目相關(guān),問(wèn)了某個(gè)項(xiàng)目的核心內(nèi)容淆两,具體實(shí)現(xiàn)
設(shè)計(jì)一個(gè)排行榜的數(shù)據(jù)結(jié)構(gòu)断箫,能夠快速給玩家加分加分并且更新前100的玩家
10G的url黑名單,url是64字節(jié)秋冰,現(xiàn)在給你一個(gè)url仲义,如何快速判斷在不在黑名單里?
追問(wèn):你知道布隆濾波器嗎剑勾?
問(wèn)了個(gè)數(shù)據(jù)庫(kù)分表相關(guān)的設(shè)計(jì)題埃撵,我沒(méi)有學(xué)過(guò)數(shù)據(jù)結(jié)構(gòu),感覺(jué)回答的不對(duì)
最后做道題吧虽另,一道滑動(dòng)窗口題暂刘,注意回滾
反問(wèn)
HR面(22mins)
這個(gè)沒(méi)什么可說(shuō)了,因?yàn)榈竭@里意味著基本已經(jīng)穩(wěn)了捂刺,剩下的無(wú)非就是待遇的問(wèn)題谣拣,隨便聊就行了募寨,當(dāng)然,別把天聊死了森缠。
騰訊面試過(guò)程
一面(1.5h)
自我介紹
項(xiàng)目
java hashmap源碼
java 常用集合和部分源碼
spring源碼分析怎么解決三級(jí)緩存
springboot啟動(dòng)原理
java垃圾回收
jvm內(nèi)存結(jié)構(gòu)
tcp三次握手拔鹰,四次揮手,超級(jí)詳細(xì)贵涵,尤其是第四次揮手
tcp和udp列肢,詳細(xì)介紹udp,報(bào)文大小多少宾茂,為啥例书。http 數(shù)據(jù)包大小,為啥刻炒。
http常用狀態(tài)嗎决采,502是啥
https加密的詳細(xì)過(guò)程
操作系統(tǒng)調(diào)度算法和饑餓問(wèn)題
操作系統(tǒng)虛擬內(nèi)存,虛擬地址坟奥。
redis數(shù)據(jù)結(jié)構(gòu)树瞭,底層數(shù)據(jù)結(jié)構(gòu)
mysql索引相關(guān)的
linux常用命令
算法,尋找數(shù)組中重復(fù)的數(shù)字
反問(wèn)
二面(1h10m)
自我介紹
詳細(xì)介紹項(xiàng)目爱谁,項(xiàng)目一些問(wèn)題會(huì)深挖晒喷,然后問(wèn)一些解決方案
tcp四次揮手深問(wèn)
32位操作系統(tǒng)里進(jìn)程可以分配內(nèi)存大小,為什么访敌。
epoll底層數(shù)據(jù)結(jié)構(gòu)凉敲,原理
生產(chǎn)遇到問(wèn)題及解決方案
操作系統(tǒng)虛擬內(nèi)存,虛擬地址深問(wèn)
算法寺旺,1面算法的變種
反問(wèn)
三面
我記得是騰訊三面面試官約我面試時(shí)間爷抓,但是我當(dāng)時(shí)在面試另一家,一直沒(méi)接到電話阻塑,我回打很多次一直占線蓝撇,過(guò)了半小時(shí)發(fā)感謝信了...不過(guò)也只能怪自己
總結(jié)
其實(shí)面試了那么多家公司之后,發(fā)現(xiàn)這些大廠的要求都差不太多陈莽,拋開(kāi)其它的經(jīng)驗(yàn)?zāi)芰Φ鹊炔巢瑔渭儚募夹g(shù),或者說(shuō)知識(shí)上來(lái)講走搁,可以發(fā)現(xiàn)一些共通的地方独柑。
Java基礎(chǔ)
計(jì)算機(jī)基礎(chǔ)
數(shù)據(jù)庫(kù)
常用開(kāi)源框架
分布式/微服務(wù)
中間件,緩存私植、消息中間件
只要把這些都大致掌握忌栅,然后針對(duì)你要面的崗位做一些側(cè)重復(fù)習(xí),拿到手的offer都不會(huì)太少和太差的兵琳。
然后騰訊特別喜歡操作系統(tǒng)和網(wǎng)絡(luò)狂秘,字節(jié)和蝦皮喜歡算法骇径,網(wǎng)易喜歡問(wèn)框架。面試完沒(méi)有整理者春,很多都忘了破衔,把自己記得的寫(xiě)了下來(lái)
就寫(xiě)到這吧,后面有機(jī)會(huì)再跟大家分享面試的一些趣事和經(jīng)驗(yàn)钱烟。