懷着忐忑的心情,我來了B站實習,B站後端平常實習面經分享!

寫在前面:

  • lz大三,專業課還沒上完,爲了面試本身提早看了計網和OS。由於是第一次找實習,簡歷也不太會寫,以前投了不少家公司都被秒拒了,投的字節也是。後來字節的hr給我打電話說個人簡歷裏沒有項目是會被系統自動拒掉的,因此瞎寫了幾個項目,被撈起拉去面試了
  • 從大概11月初開始面字節,第一次面三面後掛了,而後又被hr撈起來又面了一次,此次四面過了,可能這個部門真的很缺人吧hhh由於時間久遠,好多細節記不得了

一面:

  • 我這輩子第一次面試,特別緊張,設備沒有調試好,面試官那邊聽不到我聲音,因此就推遲面試了,耽誤了面試官的時間。
  • 第二次上來問了:
  • 項目
  • TCP握手揮手
  • 面試官看我沒啥經驗,項目作的也不怎麼樣,因而說「作兩道題吧」
  • 判斷平衡二叉樹。我確認瞭如下定義開始寫,由於太緊張把java的語法都寫錯了hhh面試官跟我說不用緊張
  • 請寫出一個高效的在m*n矩陣中判斷目標值是否存在的算法,矩陣具備以下特徵:
  • 每一行的數字都從左到右排序
  • 每一行的第一個數字都比上一行最後一個數字大

二分,面試官說我邏輯寫複雜了java

  • 而後第一次面試就結束了,全程基本就是在作題,沒有問操做系統。可能公司面對沒有開發經驗的候選人就會讓他作題吧。

二面:

  • 二面面試官看起開不太開心,上來問了我點Java相關的,我答得很差,我跟他說我平時用Java只是刷leetcode,他說那我們作兩道題吧。。。
  • 二叉樹的最大路徑和,Leetcode hard原題,還好我前幾天刷過一遍,我感受這個面試官不懷好意,上來就一道hard,說好的按部就班呢
  • 給定一個字符串m(只含有26個小寫字符,假設m的總長度不大於1000),要求在字符串中找到最長的一個連續迴文子串k,返回其長度。其中連續迴文子串 k 需知足如下條件:

(1)整個字符串是迴文串(從前日後和從後往前看字符串是同樣的)
(2)該字符串中的任意相鄰字符在ASCII 碼錶中也是相鄰的
(3)字符串中字母序必須是且只能是先升序後降序,且字母序只能改變一次c++

  • 我拿到題很開心心想這不就是最長迴文子串嗎,這個我會!而後就要DP。面試官說停停,你再看看這題須要DP嗎?我一看,噢,原來一遍遍歷就行,而後就開始寫,期間寫了不少bug,都被面試官挑出來了
  • 作完兩道題纔開始問八股文
  • 數據庫的隔離級別

解決幻讀須要什麼隔離級別git

    • 外存排序,歸併
  • Top K問題,快排+剪枝。若是數據量很大無法快排呢?維持一個堆。由於那段時間我Java用的比較多,內心想的是代碼,上來就說PriorityQueue,面試官沒聽懂我要幹啥,問我學過數據結構沒,我說哦哦哦用堆,他說你早說用堆不就完了
  • 而後第二次面試就結束了,仍是作題,作題,作題

三面

  • 上來先讓我自我介紹,我就把學過的課程說了說
  • 聊到語言,又說到了Java,我說我這個就是刷題用的,暗示他別問了,他說刷題爲啥不用c++,我說很久沒用忘了

可他仍是要問Java(╯▔皿▔)╯面試

  • Equals和HashCode方法,自定義數據結構放在HashMap裏須要重寫哪一個。我學Java的時候記得,後來忘了。。
  • HashMap擴容策略,我說鏈表轉紅黑樹,他說若是紅黑樹變得很大呢,我說我真不知作別問了
  • 他說好好好不問了,咱作題吧。
  • 最大子序和,leetcode經典中的經典,直接背出來。他說若是我不只想要最大的和,還想要區間範圍呢,我就又改了改。他說行,下一題吧。
  • 一個先升序後降序的數組,找出某個值在不在這個數組內。二分魔改過了,期間他一直引領我,我說您說的我沒太聽懂,我按照個人思路寫能夠嗎,他說好的好的,不打擾你了,而後我就給他邊寫邊講個人思路,他說也行
  • 作完了題問我打不打ACM,把我樂的夠嗆,說我刷題才倆月,哈哈
  • 問我用過Linux嗎?答曰學計組和OS的時候會用ubuntu,但命令行不太熟
  • 會git嗎?不會
  • 用得慣蘋果系統嗎?我說我倆電腦一個win一個mac,會的
  • 而後結束了愉快的面試,次日收到了拒信

後來我就去B站先實習了,那邊用的也是Go

  • 過了兩週,又被hr拉去面另一個組,說缺人,我一開始是不想去的,但仍是贊成了面試

一面

  • 聊天聊到了我如今的實習,因而問了我點Go相關的
  • 在公司都寫什麼東西了
  • ConcurrentHashMap如何保持一致性。我說全局大鎖,他說注意性能問題。而後我說能給點提示嗎?他說若是這個HashMap數組特別長呢?我問那可不能夠分段加鎖?他說能夠。後來我回去查了查老版本的Java真的是用的分段加鎖,我可真機智
  • slice瞭解嗎,我說暫時沒用到過。被「嘲諷」了,他說在字節的節奏會快不少,你過來學兩三天就要幹活了。

Goroutine爲啥輕量算法

  • 進程線程相關的,問的比較深刻。他說:你剛纔提到了Goroutine對於操做系統是透明的是吧,那麼操做系統如何向某個Goroutine發送時鐘中斷呢?若是不能發送若是有某個Goroutine一直執行怎麼辦?這個我不太會,他說沒事,回去查查

HTTPS握手,我說不了解握手,簡單地說了對稱加密算法和非對稱加密算法數據庫

  • ARP協議是什麼,我說還沒學到IP層,不知道
  • 而後就開始作題了。感受這個組面的基礎知識比較多,而面的算法都很簡單
  • 兩個排好序的鏈表排序並去重,我一邊講思路一遍寫。tips:寫題的時候必定要和麪試官說明本身的思路,否則面試官不知道你在幹什麼
  • 就這一道題
  • 我問了他們組是作什麼的

二面

  • 這時我經歷過的最難受的一次面試,面的東西我基本全沒答出來
  • 並且面的時候個人電腦死機了,趕忙借室友的電腦面的,耽誤了五分鐘,回去發現面試官還在等我
  • HTTPS怎麼握手,我說不知道,他說之前不是問過你嗎?我才知道他們有記錄的,就說忘了去查了(後來面完去查了

ARP解析,我剛好下午看書看到那,就回答出來了,他說你是回去看了嗎?我說我只是剛好學到這。。ubuntu

  • Cookie瞭解嗎。我把Cookie和session記反了,說cookie是存在服務器端的,他說你肯定?我說emmmm...(後來回去一查這麼簡單的問題都沒答對他竟然放我過了。。
  • 他說以前問過你的,你有沒有回去查過哪些?我就答上次的那個Goroutine相關的問題,說Goroutine之間是協做式調度,若是某一個Goroutine一直在佔用CPU而不阻塞那麼他是不會讓出去的(這是舊版本的特性),他說那這樣的狀況就一直佔着?不能強行執行調度嗎?我說好像是的。後來我回去看了看最新版本的特性,發現能夠搶佔式調度了。。
  • Go如何利用多核性能?不知道。(也是回去查,學到了GMP模型,一開始會分配GOMAXPROCS個Processor
  • 設計一個秒殺系統?不會不會不會
  • 作題吧
  • 荷蘭國旗問題。這個我作過,但時間久遠,現場作的時候仍是作了挺久的,邊作邊想確定去不了本身了,在B站實習也挺好的/(ㄒoㄒ)/~~
  • 他說你等十分鐘三面吧,我Σ(っ °Д °;)っ,竟然還有三面

三面

  • HashMap擴容。因此我發現他們真的很愛問以前你沒答上來的東西。我說不會。。他說沒事你本身設計一個,而後我就本身設計了一個,他指出了不足,我就又接着改,改了好幾個版本他說行
  • 設計一個調度系統。我用的多級動態優先級隊列+堆,操做系統課剛講過的
  • 他彷佛問了不止兩個問題,但我有些記不得了
  • 算法:
  • 最大子序和。我說以前問過了,換一個吧(當時我好呆啊,萬一換一個我不會咋辦(╯‵□′)╯︵┻━┻
  • 矩陣內的最短路徑,只能向下或向右走。這個比較簡單,一個DP搞定
  • 三面結束

HR面

  • HR來勢洶洶,語速很快,期間跟我聊了項目,性格等等好多東西,勸我若是想工做的話儘早脫離學校的環境等等。。而後說你沒有工程開發的經驗,咱們北京這邊北航和北郵的學生來的時候都有相關開發經驗的,他們上手會很快。我一聽這不是要把我給拒了嗎,趕忙說我在B站實習了hhh由於B站的技術棧和字節的技術棧很像(都是Go)我上手也會很快的blabla,她聽了很開心,說你等通知吧!但其實我上手會很慢(●'◡'●)

寫在最後

B站這邊還有不少校招hc(以轉正爲目的的實習應該也是能夠的)。字節這邊也很缺人。你們若是感興趣能夠私信我哦~我能夠把簡歷直接發給HR數組

總結

另外我這裏爲你們準備了一線大廠面試資料和我原創的超硬核PDF技術文檔,以及我爲你們精心準備的多套大廠面試題(不斷更新中),但願你們都能找到心儀的工做!
有須要的朋友關注:公衆號前程有光回覆資料下載
在這裏插入圖片描述服務器

相關文章
相關標籤/搜索