前言
lz大四照筑,大概11月初開始面字節(jié),第一次面三面后掛了瘦陈,然后又被hr撈起來又面了一次凝危,這次四面過了,掛了之后我就跑去B站實習了晨逝,后來字節(jié)的HR又打電話來撈了我蛾默,可能是字節(jié)現(xiàn)在真的確認吧(小聲bb:不會是因為我這張英俊的帥臉吧......)
我這里準備了一線大廠面試資料和我原創(chuàng)的超硬核PDF技術文檔,以及我為大家精心準備的多套簡歷模板(不斷更新中)捉貌,希望大家都能找到心儀的工作支鸡!有需要的朋友點擊這里備注簡書自行下載即可,希望對你們有幫助趁窃!
一面:
我這輩子第一次面試牧挣,特別緊張,設備沒有調(diào)試好醒陆,面試官那邊聽不到我聲音瀑构,所以就推遲面試了,耽誤了面試官的時間统求。
第二次上來問了:
- 項目
- TCP握手揮手
- 面試官看我沒啥經(jīng)驗检碗,項目做的也不怎么樣据块,于是說“做兩道題吧”
- 判斷平衡二叉樹。我確認了以下定義開始寫折剃,因為太緊張把java的語法都寫錯了hhh面試官跟我說不用緊張
- 請寫出一個高效的在m*n矩陣中判斷目標值是否存在的算法另假,矩陣具有如下特征:
- 每一行的數(shù)字都從左到右排序
- 每一行的第一個數(shù)字都比上一行最后一個數(shù)字大
- 二分,面試官說我邏輯寫復雜了
然后第一次面試就結束了怕犁,全程基本就是在做題边篮,沒有問操作系統(tǒng)∽喔Γ可能公司面對沒有開發(fā)經(jīng)驗的候選人就會讓他做題吧戈轿。
二面:
二面面試官看起開不太開心,上來問了我點Java相關的阵子,我答得不好思杯,我跟他說我平時用Java只是刷leetcode,他說那咱們做兩道題吧挠进。色乾。。
二叉樹的最大路徑和领突,Leetcode hard原題暖璧,還好我前幾天刷過一遍,我感覺這個面試官不懷好意君旦,上來就一道hard澎办,說好的循序漸進呢
給定一個字符串m(只含有26個小寫字符,假設m的總長度不大于1000)金砍,要求在字符串中找到最長的一個連續(xù)回文子串k局蚀,返回其長度。其中連續(xù)回文子串 k 需滿足以下條件:
- 整個字符串是回文串(從前往后和從后往前看字符串是一樣的)
- 該字符串中的任意相鄰字符在ASCII 碼表中也是相鄰的
- 字符串中字母序必須是且只能是先升序后降序恕稠,且字母序只能改變一次
我拿到題很開心心想這不就是最長回文子串嗎至会,這個我會!然后就要DP谱俭。面試官說停停奉件,你再看看這題需要DP嗎?我一看昆著,噢县貌,原來一遍遍歷就行,然后就開始寫凑懂,期間寫了很多bug煤痕,都被面試官挑出來了
做完兩道題才開始問八股文
- 數(shù)據(jù)庫的隔離級別
- 解決幻讀需要什么隔離級別
- 外存排序,歸并
Top K問題,快排+剪枝摆碉。如果數(shù)據(jù)量很大沒法快排呢塘匣?維持一個堆。因為那段時間我Java用的比較多巷帝,心里想的是代碼忌卤,上來就說PriorityQueue,面試官沒聽懂我要干啥楞泼,問我學過數(shù)據(jù)結構沒驰徊,我說哦哦哦用堆,他說你早說用堆不就完了
然后第二次面試就結束了堕阔,還是做題棍厂,做題,做題
三面
上來先讓我自我介紹超陆,我就把學過的課程說了說
聊到語言牺弹,又說到了Java,我說我這個就是刷題用的时呀,暗示他別問了例驹,他說刷題為啥不用c++,我說好久沒用忘了
可他還是要問Java(╯▔皿▔)╯
Equals和HashCode方法退唠,自定義數(shù)據(jù)結構放在HashMap里需要重寫哪個。我學Java的時候記得荤胁,后來忘了瞧预。。
HashMap擴容策略仅政,我說鏈表轉(zhuǎn)紅黑樹垢油,他說如果紅黑樹變得很大呢,我說我真不知道別問了
他說好好好不問了圆丹,咱做題吧滩愁。
最大子序和,leetcode經(jīng)典中的經(jīng)典辫封,直接背出來硝枉。他說如果我不僅想要最大的和,還想要區(qū)間范圍呢框弛,我就又改了改讥电。他說行喳瓣,下一題吧。
一個先升序后降序的數(shù)組责球,找出某個值在不在這個數(shù)組內(nèi)。二分魔改過了,期間他一直引領我雏逾,我說您說的我沒太聽懂嘉裤,我按照我的思路寫可以嗎,他說好的好的栖博,不打擾你了屑宠,然后我就給他邊寫邊講我的思路,他說也行
做完了題問我打不打ACM笛匙,把我樂的夠嗆侨把,說我刷題才倆月,哈哈
問我用過Linux嗎妹孙?答曰學計組和OS的時候會用ubuntu秋柄,但命令行不太熟
會git嗎?不會
用得慣蘋果系統(tǒng)嗎蠢正?我說我倆電腦一個win一個mac骇笔,會的
然后結束了愉快的面試,第二天收到了拒信
后來我就去B站先實習了嚣崭,那邊用的也是Go
過了兩周笨触,又被hr拉去面另外一個組,說缺人雹舀,我一開始是不想去的芦劣,但還是同意了面試
一面
聊天聊到了我現(xiàn)在的實習,于是問了我點Go相關的
在公司都寫什么東西了
ConcurrentHashMap如何保持一致性说榆。我說全局大鎖虚吟,他說注意性能問題。然后我說能給點提示嗎签财?他說如果這個HashMap數(shù)組特別長呢串慰?我問那可不可以分段加鎖?他說可以唱蒸。后來我回去查了查老版本的Java真的是用的分段加鎖邦鲫,我可真機智
slice了解嗎,我說暫時沒用到過神汹。被“嘲諷”了庆捺,他說在字節(jié)的節(jié)奏會快很多,你過來學兩三天就要干活了屁魏。
Goroutine為啥輕量
進程線程相關的疼燥,問的比較深入。他說:你剛才提到了Goroutine對于操作系統(tǒng)是透明的是吧蚁堤,那么操作系統(tǒng)如何向某個Goroutine發(fā)送時鐘中斷呢醉者?如果不能發(fā)送如果有某個Goroutine一直執(zhí)行怎么辦但狭?這個我不太會,他說沒事撬即,回去查查
HTTPS握手立磁,我說不了解握手,簡單地說了對稱加密算法和非對稱加密算法
ARP協(xié)議是什么剥槐,我說還沒學到IP層唱歧,不知道
然后就開始做題了。感覺這個組面的基礎知識比較多粒竖,而面的算法都很簡單
兩個排好序的鏈表排序并去重颅崩,我一邊講思路一遍寫。tips:寫題的時候一定要和面試官說明自己的思路蕊苗,不然面試官不知道你在干什么
就這一道題
我問了他們組是做什么的
二面
這時我經(jīng)歷過的最難受的一次面試沿后,面的東西我基本全沒答出來
而且面的時候我的電腦死機了,趕緊借室友的電腦面的朽砰,耽誤了五分鐘尖滚,回去發(fā)現(xiàn)面試官還在等我
HTTPS怎么握手,我說不知道瞧柔,他說以前不是問過你嗎漆弄?我才知道他們有記錄的,就說忘了去查了(后來面完去查了
ARP解析造锅,我恰好下午看書看到那撼唾,就回答出來了,他說你是回去看了嗎哥蔚?我說我只是恰好學到這倒谷。。
Cookie了解嗎肺素。我把Cookie和session記反了,說cookie是存在服務器端的宇驾,他說你確定倍靡?我說emmmm...(后來回去一查這么簡單的問題都沒答對他居然放我過了。课舍。
他說之前問過你的塌西,你有沒有回去查過哪些?我就答上次的那個Goroutine相關的問題筝尾,說Goroutine之間是協(xié)作式調(diào)度捡需,如果某一個Goroutine一直在占用CPU而不阻塞那么他是不會讓出去的(這是舊版本的特性),他說那這樣的情況就一直占著筹淫?不能強行執(zhí)行調(diào)度嗎站辉?我說好像是的。后來我回去看了看最新版本的特性,發(fā)現(xiàn)可以搶占式調(diào)度了饰剥。殊霞。
Go如何利用多核性能?不知道汰蓉。(也是回去查绷蹲,學到了GMP模型,一開始會分配GOMAXPROCS個Processor
設計一個秒殺系統(tǒng)顾孽?不會不會不會
做題吧
荷蘭國旗問題祝钢。這個我做過,但時間久遠若厚,現(xiàn)場做的時候還是做了挺久的拦英,邊做邊想肯定去不了自己了,在B站實習也挺好的/(ㄒoㄒ)/~~
他說你等十分鐘三面吧盹沈,我Σ(っ °Д °;)っ龄章,居然還有三面
三面
HashMap擴容。所以我發(fā)現(xiàn)他們真的很愛問之前你沒答上來的東西乞封。我說不會做裙。。他說沒事你自己設計一個肃晚,然后我就自己設計了一個锚贱,他指出了不足,我就又接著改关串,改了好幾個版本他說行
設計一個調(diào)度系統(tǒng)拧廊。我用的多級動態(tài)優(yōu)先級隊列+堆,操作系統(tǒng)課剛講過的
他似乎問了不止兩個問題晋修,但我有些記不得了
算法:
最大子序和吧碾。我說之前問過了,換一個吧(當時我好呆啊墓卦,萬一換一個我不會咋辦(╯‵□′)╯︵┻━┻
矩陣內(nèi)的最短路徑倦春,只能向下或向右走。這個比較簡單落剪,一個DP搞定
三面結束
HR面
(不是和我對接的HR)
HR來勢洶洶睁本,語速很快,期間跟我聊了項目忠怖,性格等等好多東西呢堰,勸我如果想工作的話盡早脫離學校的環(huán)境等等。凡泣。然后說你沒有工程開發(fā)的經(jīng)驗枉疼,我們北京這邊北航和北郵的學生來的時候都有相關開發(fā)經(jīng)驗的皮假,他們上手會很快。我一聽這不是要把我給拒了嗎往衷,趕緊說我在B站實習了hhh因為B站的技術棧和字節(jié)的技術棧很像(都是Go)我上手也會很快的blabla钞翔,她聽了很開心,說你等通知吧席舍!但其實我上手會很慢(●'?'●)
寫在最后
最后提供免費的Java架構學習資料布轿,學習技術內(nèi)容包含有:Spring,Dubbo来颤,MyBatis, RPC, 源碼分析汰扭,高并發(fā)、高性能福铅、分布式,性能優(yōu)化萝毛,微服務 高級架構開發(fā)等等。
還有Java核心知識點+全套架構師學習資料和視頻+一線大廠面試寶典+面試簡歷模板可以領取+阿里美團網(wǎng)易騰訊小米愛奇藝快手嗶哩嗶哩面試題+Spring源碼合集+Java架構實戰(zhàn)電子書滑黔。有需要的朋友點擊這里備注簡書自行下載即可笆包,誠意滿滿等你來拿,希望對你們有幫助略荡!