前言
lz大四,大概11月初開(kāi)始面字節(jié)原献,第一次面三面后掛了馏慨,然后又被hr撈起來(lái)又面了一次埂淮,這次四面過(guò)了,掛了之后我就跑去B站實(shí)習(xí)了写隶,后來(lái)字節(jié)的HR又打電話(huà)來(lái)?yè)屏宋揖笞玻赡苁亲止?jié)現(xiàn)在真的確認(rèn)吧(小聲bb:不會(huì)是因?yàn)槲疫@張英俊的帥臉吧......)
我這里準(zhǔn)備了一線(xiàn)大廠(chǎng)面試資料和我原創(chuàng)的超硬核PDF技術(shù)文檔,以及我為大家精心準(zhǔn)備的多套簡(jiǎn)歷模板(不斷更新中)慕趴,希望大家都能找到心儀的工作痪蝇!有需要的朋友點(diǎn)擊這里備注簡(jiǎn)書(shū)自行下載即可,希望對(duì)你們有幫助冕房!
一面:
我這輩子第一次面試躏啰,特別緊張,設(shè)備沒(méi)有調(diào)試好耙册,面試官那邊聽(tīng)不到我聲音给僵,所以就推遲面試了,耽誤了面試官的時(shí)間详拙。
第二次上來(lái)問(wèn)了:
- 項(xiàng)目
- TCP握手揮手
- 面試官看我沒(méi)啥經(jīng)驗(yàn)帝际,項(xiàng)目做的也不怎么樣,于是說(shuō)“做兩道題吧”
- 判斷平衡二叉樹(shù)饶辙。我確認(rèn)了以下定義開(kāi)始寫(xiě)蹲诀,因?yàn)樘o張把java的語(yǔ)法都寫(xiě)錯(cuò)了hhh面試官跟我說(shuō)不用緊張
- 請(qǐng)寫(xiě)出一個(gè)高效的在m*n矩陣中判斷目標(biāo)值是否存在的算法,矩陣具有如下特征:
- 每一行的數(shù)字都從左到右排序
- 每一行的第一個(gè)數(shù)字都比上一行最后一個(gè)數(shù)字大
- 二分畸悬,面試官說(shuō)我邏輯寫(xiě)復(fù)雜了
然后第一次面試就結(jié)束了侧甫,全程基本就是在做題,沒(méi)有問(wèn)操作系統(tǒng)蹋宦∨冢可能公司面對(duì)沒(méi)有開(kāi)發(fā)經(jīng)驗(yàn)的候選人就會(huì)讓他做題吧。
二面:
二面面試官看起開(kāi)不太開(kāi)心冷冗,上來(lái)問(wèn)了我點(diǎn)Java相關(guān)的守屉,我答得不好,我跟他說(shuō)我平時(shí)用Java只是刷leetcode蒿辙,他說(shuō)那咱們做兩道題吧拇泛。。思灌。
二叉樹(shù)的最大路徑和俺叭,Leetcode hard原題,還好我前幾天刷過(guò)一遍泰偿,我感覺(jué)這個(gè)面試官不懷好意熄守,上來(lái)就一道hard,說(shuō)好的循序漸進(jìn)呢
給定一個(gè)字符串m(只含有26個(gè)小寫(xiě)字符,假設(shè)m的總長(zhǎng)度不大于1000)裕照,要求在字符串中找到最長(zhǎng)的一個(gè)連續(xù)回文子串k攒发,返回其長(zhǎng)度。其中連續(xù)回文子串 k 需滿(mǎn)足以下條件:
- 整個(gè)字符串是回文串(從前往后和從后往前看字符串是一樣的)
- 該字符串中的任意相鄰字符在ASCII 碼表中也是相鄰的
- 字符串中字母序必須是且只能是先升序后降序晋南,且字母序只能改變一次
我拿到題很開(kāi)心心想這不就是最長(zhǎng)回文子串嗎惠猿,這個(gè)我會(huì)!然后就要DP负间。面試官說(shuō)停停偶妖,你再看看這題需要DP嗎?我一看唉擂,噢餐屎,原來(lái)一遍遍歷就行,然后就開(kāi)始寫(xiě)玩祟,期間寫(xiě)了很多bug腹缩,都被面試官挑出來(lái)了
做完兩道題才開(kāi)始問(wèn)八股文
- 數(shù)據(jù)庫(kù)的隔離級(jí)別
- 解決幻讀需要什么隔離級(jí)別
- 外存排序,歸并
Top K問(wèn)題空扎,快排+剪枝藏鹊。如果數(shù)據(jù)量很大沒(méi)法快排呢?維持一個(gè)堆转锈。因?yàn)槟嵌螘r(shí)間我Java用的比較多盘寡,心里想的是代碼,上來(lái)就說(shuō)PriorityQueue撮慨,面試官?zèng)]聽(tīng)懂我要干啥竿痰,問(wèn)我學(xué)過(guò)數(shù)據(jù)結(jié)構(gòu)沒(méi),我說(shuō)哦哦哦用堆砌溺,他說(shuō)你早說(shuō)用堆不就完了
然后第二次面試就結(jié)束了影涉,還是做題,做題规伐,做題
三面
上來(lái)先讓我自我介紹蟹倾,我就把學(xué)過(guò)的課程說(shuō)了說(shuō)
聊到語(yǔ)言,又說(shuō)到了Java猖闪,我說(shuō)我這個(gè)就是刷題用的鲜棠,暗示他別問(wèn)了,他說(shuō)刷題為啥不用c++培慌,我說(shuō)好久沒(méi)用忘了
可他還是要問(wèn)Java(╯▔皿▔)╯
Equals和HashCode方法豁陆,自定義數(shù)據(jù)結(jié)構(gòu)放在HashMap里需要重寫(xiě)哪個(gè)。我學(xué)Java的時(shí)候記得吵护,后來(lái)忘了盒音。竖配。
HashMap擴(kuò)容策略,我說(shuō)鏈表轉(zhuǎn)紅黑樹(shù)里逆,他說(shuō)如果紅黑樹(shù)變得很大呢,我說(shuō)我真不知道別問(wèn)了
他說(shuō)好好好不問(wèn)了用爪,咱做題吧原押。
最大子序和,leetcode經(jīng)典中的經(jīng)典偎血,直接背出來(lái)诸衔。他說(shuō)如果我不僅想要最大的和,還想要區(qū)間范圍呢颇玷,我就又改了改笨农。他說(shuō)行,下一題吧帖渠。
一個(gè)先升序后降序的數(shù)組谒亦,找出某個(gè)值在不在這個(gè)數(shù)組內(nèi)。二分魔改過(guò)了空郊,期間他一直引領(lǐng)我份招,我說(shuō)您說(shuō)的我沒(méi)太聽(tīng)懂,我按照我的思路寫(xiě)可以嗎狞甚,他說(shuō)好的好的锁摔,不打擾你了,然后我就給他邊寫(xiě)邊講我的思路哼审,他說(shuō)也行
做完了題問(wèn)我打不打ACM谐腰,把我樂(lè)的夠嗆,說(shuō)我刷題才倆月涩盾,哈哈
問(wèn)我用過(guò)Linux嗎十气?答曰學(xué)計(jì)組和OS的時(shí)候會(huì)用ubuntu,但命令行不太熟
會(huì)git嗎旁赊?不會(huì)
用得慣蘋(píng)果系統(tǒng)嗎桦踊?我說(shuō)我倆電腦一個(gè)win一個(gè)mac,會(huì)的
然后結(jié)束了愉快的面試终畅,第二天收到了拒信
后來(lái)我就去B站先實(shí)習(xí)了籍胯,那邊用的也是Go
過(guò)了兩周,又被hr拉去面另外一個(gè)組离福,說(shuō)缺人杖狼,我一開(kāi)始是不想去的,但還是同意了面試
一面
聊天聊到了我現(xiàn)在的實(shí)習(xí)妖爷,于是問(wèn)了我點(diǎn)Go相關(guān)的
在公司都寫(xiě)什么東西了
ConcurrentHashMap如何保持一致性蝶涩。我說(shuō)全局大鎖理朋,他說(shuō)注意性能問(wèn)題。然后我說(shuō)能給點(diǎn)提示嗎绿聘?他說(shuō)如果這個(gè)HashMap數(shù)組特別長(zhǎng)呢嗽上?我問(wèn)那可不可以分段加鎖?他說(shuō)可以熄攘。后來(lái)我回去查了查老版本的Java真的是用的分段加鎖兽愤,我可真機(jī)智
slice了解嗎,我說(shuō)暫時(shí)沒(méi)用到過(guò)挪圾。被“嘲諷”了浅萧,他說(shuō)在字節(jié)的節(jié)奏會(huì)快很多,你過(guò)來(lái)學(xué)兩三天就要干活了哲思。
Goroutine為啥輕量
進(jìn)程線(xiàn)程相關(guān)的洼畅,問(wèn)的比較深入。他說(shuō):你剛才提到了Goroutine對(duì)于操作系統(tǒng)是透明的是吧棚赔,那么操作系統(tǒng)如何向某個(gè)Goroutine發(fā)送時(shí)鐘中斷呢帝簇?如果不能發(fā)送如果有某個(gè)Goroutine一直執(zhí)行怎么辦?這個(gè)我不太會(huì)忆嗜,他說(shuō)沒(méi)事己儒,回去查查
HTTPS握手,我說(shuō)不了解握手捆毫,簡(jiǎn)單地說(shuō)了對(duì)稱(chēng)加密算法和非對(duì)稱(chēng)加密算法
ARP協(xié)議是什么闪湾,我說(shuō)還沒(méi)學(xué)到IP層,不知道
然后就開(kāi)始做題了绩卤。感覺(jué)這個(gè)組面的基礎(chǔ)知識(shí)比較多途样,而面的算法都很簡(jiǎn)單
兩個(gè)排好序的鏈表排序并去重,我一邊講思路一遍寫(xiě)濒憋。tips:寫(xiě)題的時(shí)候一定要和面試官說(shuō)明自己的思路何暇,不然面試官不知道你在干什么
就這一道題
我問(wèn)了他們組是做什么的
二面
這時(shí)我經(jīng)歷過(guò)的最難受的一次面試,面的東西我基本全沒(méi)答出來(lái)
而且面的時(shí)候我的電腦死機(jī)了凛驮,趕緊借室友的電腦面的裆站,耽誤了五分鐘黔夭,回去發(fā)現(xiàn)面試官還在等我
HTTPS怎么握手,我說(shuō)不知道本姥,他說(shuō)以前不是問(wèn)過(guò)你嗎?我才知道他們有記錄的婚惫,就說(shuō)忘了去查了(后來(lái)面完去查了
ARP解析魂爪,我恰好下午看書(shū)看到那,就回答出來(lái)了滓侍,他說(shuō)你是回去看了嗎?我說(shuō)我只是恰好學(xué)到這牲芋。。
Cookie了解嗎街图。我把Cookie和session記反了,說(shuō)cookie是存在服務(wù)器端的懒构,他說(shuō)你確定餐济?我說(shuō)emmmm...(后來(lái)回去一查這么簡(jiǎn)單的問(wèn)題都沒(méi)答對(duì)他居然放我過(guò)了。胆剧。
他說(shuō)之前問(wèn)過(guò)你的絮姆,你有沒(méi)有回去查過(guò)哪些?我就答上次的那個(gè)Goroutine相關(guān)的問(wèn)題秩霍,說(shuō)Goroutine之間是協(xié)作式調(diào)度篙悯,如果某一個(gè)Goroutine一直在占用CPU而不阻塞那么他是不會(huì)讓出去的(這是舊版本的特性),他說(shuō)那這樣的情況就一直占著铃绒?不能強(qiáng)行執(zhí)行調(diào)度嗎鸽照?我說(shuō)好像是的。后來(lái)我回去看了看最新版本的特性颠悬,發(fā)現(xiàn)可以搶占式調(diào)度了矮燎。。
Go如何利用多核性能赔癌?不知道诞外。(也是回去查,學(xué)到了GMP模型灾票,一開(kāi)始會(huì)分配GOMAXPROCS個(gè)Processor
設(shè)計(jì)一個(gè)秒殺系統(tǒng)峡谊?不會(huì)不會(huì)不會(huì)
做題吧
荷蘭國(guó)旗問(wèn)題。這個(gè)我做過(guò)刊苍,但時(shí)間久遠(yuǎn)既们,現(xiàn)場(chǎng)做的時(shí)候還是做了挺久的,邊做邊想肯定去不了自己了班缰,在B站實(shí)習(xí)也挺好的/(ㄒoㄒ)/~~
他說(shuō)你等十分鐘三面吧贤壁,我Σ(っ °Д °;)っ,居然還有三面
三面
HashMap擴(kuò)容埠忘。所以我發(fā)現(xiàn)他們真的很愛(ài)問(wèn)之前你沒(méi)答上來(lái)的東西脾拆。我說(shuō)不會(huì)馒索。。他說(shuō)沒(méi)事你自己設(shè)計(jì)一個(gè)名船,然后我就自己設(shè)計(jì)了一個(gè)绰上,他指出了不足,我就又接著改渠驼,改了好幾個(gè)版本他說(shuō)行
設(shè)計(jì)一個(gè)調(diào)度系統(tǒng)蜈块。我用的多級(jí)動(dòng)態(tài)優(yōu)先級(jí)隊(duì)列+堆,操作系統(tǒng)課剛講過(guò)的
他似乎問(wèn)了不止兩個(gè)問(wèn)題迷扇,但我有些記不得了
算法:
最大子序和百揭。我說(shuō)之前問(wèn)過(guò)了,換一個(gè)吧(當(dāng)時(shí)我好呆啊蜓席,萬(wàn)一換一個(gè)我不會(huì)咋辦(╯‵□′)╯︵┻━┻
矩陣內(nèi)的最短路徑器一,只能向下或向右走。這個(gè)比較簡(jiǎn)單厨内,一個(gè)DP搞定
三面結(jié)束
HR面
(不是和我對(duì)接的HR)
HR來(lái)勢(shì)洶洶,語(yǔ)速很快雏胃,期間跟我聊了項(xiàng)目,性格等等好多東西方仿,勸我如果想工作的話(huà)盡早脫離學(xué)校的環(huán)境等等兼丰。唆缴。然后說(shuō)你沒(méi)有工程開(kāi)發(fā)的經(jīng)驗(yàn),我們北京這邊北航和北郵的學(xué)生來(lái)的時(shí)候都有相關(guān)開(kāi)發(fā)經(jīng)驗(yàn)的艳丛,他們上手會(huì)很快氮双。我一聽(tīng)這不是要把我給拒了嗎霎匈,趕緊說(shuō)我在B站實(shí)習(xí)了hhh因?yàn)锽站的技術(shù)棧和字節(jié)的技術(shù)棧很像(都是Go)我上手也會(huì)很快的blabla,她聽(tīng)了很開(kāi)心暖释,說(shuō)你等通知吧!但其實(shí)我上手會(huì)很慢(●'?'●)
寫(xiě)在最后
最后提供免費(fèi)的Java架構(gòu)學(xué)習(xí)資料纹磺,學(xué)習(xí)技術(shù)內(nèi)容包含有:Spring橄杨,Dubbo照卦,MyBatis, RPC, 源碼分析,高并發(fā)衷佃、高性能、分布式,性能優(yōu)化锄列,微服務(wù) 高級(jí)架構(gòu)開(kāi)發(fā)等等。
還有Java核心知識(shí)點(diǎn)+全套架構(gòu)師學(xué)習(xí)資料和視頻+一線(xiàn)大廠(chǎng)面試寶典+面試簡(jiǎn)歷模板可以領(lǐng)取+阿里美團(tuán)網(wǎng)易騰訊小米愛(ài)奇藝快手嗶哩嗶哩面試題+Spring源碼合集+Java架構(gòu)實(shí)戰(zhàn)電子書(shū)。
有需要的朋友點(diǎn)擊這里備注簡(jiǎn)書(shū)自行下載即可筒严,誠(chéng)意滿(mǎn)滿(mǎn)等你來(lái)拿,希望對(duì)你們有幫助摹恨!