字節跳動後端開發實習生面經

同步更新

https://ac.nowcoder.com/discuss/420375

此段置頂:

辦公地點在上海市閔行區宜山路2000號利豐廣場,有沒有哥哥知道旁邊哪裏有房子可以租,或者有沒有合租意向的哥哥,蟹蟹(答主性別:男)

由於疫情延期開學,在同學的慫恿下,在三月底嘗試投了一下騰訊和字節跳動。

感謝牛友們的面經,這一個月學到不少基礎知識,┭┮﹏┭┮

騰訊PC端開發實習生電話面(4月1日)

1、自我介紹

2、輸入url到顯示這個頁面過程

3、https和http的區別

4、C++內存區域的劃分,堆、棧的理解

5、new和malloc的區別

6、字符串怎麼存儲的

7、list和vector區別

8、Map和HashMap優劣,查找的複雜度

9、C++面向對象的三個特徵的  封裝、繼承、多態  是什麼、用途、怎麼實現。菱形繼承可以嗎,爲什麼

10、計算機網絡分層模型,各層用處

11、TCP和UDP的瞭解,優劣,應用場景,三次握手四次揮手

12、客戶端開發瞭解過嗎 ios Android Mac

喜聞樂見 手撕算法題(口胡)

1、給你一個rand5函數,讓你實現一個rand7函數,追問,給你rand5和n,實現rand n(rand5 實現 rand n是真的沒想到怎麼做)

2、topk,出現次數最多的 k 個字符串(秒)

3、簡單dp,n個箱子每個箱子一個val,不能取相鄰的箱子,最大價值(秒)

 

由於是第一次面試,沒有準備,計算機網絡分層模型也忘了。

大概是由於算法題口胡的還可以,所以給了一面機會吧。

騰訊PC端開發實習生一面(4月3日)

自我介紹

上來先手撕代碼

1、在數組中二分查找某個數字,不存在返回 -1,秒,追問,可能有重複值,找最右邊的值並且解釋了一下思路(秒)

2、若干個人,每個人一個年齡,選一個時間複雜度最低的方法排序(先說了快排,然後說桶排,秒)

這裏給自己挖了一個坑,面試官給的是vector<int>,沒給個數,然後我寫個一個v.resize(),然後面試官追問這個和reverse區別,不會。。

1、static作用,用static修飾成員函數呢

2、inline作用,爲什麼可以優化,和#define宏定義有什麼區別

3、多態是什麼,靜態多態和動態多態,引出虛函數和虛函數表,表長什麼樣子

4、堆、棧的區別,存放數字的話,哪個效率更高(這裏擴展了一些應用場景)

5、問操作系統和計算機網絡學過嗎?學過!進程和線程的區別(我:不知道)

估計這個時候面試官都無語了。

6、用過多線程嗎?同步和互斥聽過嗎(沒有)

面試官無語+1

7、輸入url到顯示頁面的過程,涉及到哪些網絡協議

8、TCP和UDP區別,擴展到擁塞控制,累計確認等等

9、window消息處理機制

反問:

1、你覺得我和這個崗位要求的差距在哪裏,或者說不足在哪裏

 

面的有點心態爆炸,除了手撕代碼和第九題會,其他基本都不會或者只答了一點,果然,下午一看灰了

 

然後中間被騰訊撈了兩次,一次給了筆試題,讓拍下自己答題的過程發回去,我一拿到題人都傻了,全是應用題,沒有一個算法題,果斷咕了

另一次有點迷之操作,某天下午騰訊hr打電話來問有時間嗎,電話面一下,然後我說明天吧,hr說ok,然後hr的電話在4-5天后纔打過來

期間hr沒有給我說過或者發過換時間之類的消息,然後hr打電話來問有時間嗎,當時在上課,說現在沒時間,然後下課一看,灰了。

 

4月3號下午,字節跳動hr說一二面約在14號可以嗎,因爲人有點多,排到後面去了。由於有了騰訊的前車之鑑,買了計算機網絡自頂向下方法,高性能mysql,深入理解計算機操作系統和編譯原理,每天對着牛客面經學習一些基礎知識。

由於字節調動的忘記錄音了,儘量回憶一下。

字節跳動後端開發實習生一面(4月14日)13:00

自我介紹

手撕代碼:

1、給二叉樹的前序遍歷和中序遍歷,還原二叉樹並輸出後序遍歷。(秒)

2、給出鏈表 1->2->3->4->5,輸出 1->5->2->4->3,就是輸出一前一後的遍歷順序,要求空間複雜度 O(n)

想了半天不知道怎麼還原,給出了一個複雜度較高的做法,中間面試官提示了一下,沒明白他的意思,然後面試官讓我實現一下我的寫法,然後我寫了個遞歸每次取前一個再取後一個,遍歷長度/2 的次數,直接返回鏈表後順序輸出。

3、給n個籃子(不是環),每個籃子ai個蘋果,每次只能移動一個蘋果到相鄰的位置,求每個籃子蘋果相等的最小操作次數,只要求說了代碼思路(前面直接說了一個錯誤貪心方法,然後在面試官的提示下改對了思路,沒讓寫代碼)

1、事務是什麼,四個性質,索引和聯合索引,引擎有哪些

2、抖音實現關注和被關注,數據庫怎麼建表

3、問了一下TCP、UDP區別

 

然後聽到面試官離開了房間,我覺得我二面都沒了,然後就在座位上自閉,然後過了10分鐘,二面面試官進來了

字節跳動後端開發實習生二面(4月14日)14:00

自我介紹

手撕代碼:

1、判斷一個數是否是完全平方數(秒)

2、給一個數開根號,小數點五位(秒)

1、打ACM競賽碰到的最大挑戰

2、淘寶天貓經常放出大量優惠卷(滿200減100),其中有些優惠卷只能用於指定商品,怎麼求出最大的優惠價格

3、服務器負載均衡怎麼實現的,分佈式系統呢

4、TCP、UDP區別,三次握手四次揮手

現在還有時間,我們再來個算法題吧(我:一臉期待)

一個射擊運動員打靶,靶一共有10環,打10槍打中80環的可能性有多少種(秒,讓說了一下dp的思路)

 

二面的時候感覺自己應該有三面了,因爲面試官對我的算法和代碼水平給予了較高的評價?反正就是感覺應該有三面了。然後次日接到三面通知了。由於前面幾次都有些基礎沒答好,二面到三面之間在惡補基礎知識。

字節跳動後端開發實習生三面(4月28日)17:00

跳過自我介紹

1、給一個矩陣,求最長下降路徑長度。(從小到大排序,遍歷一次,或者記憶化搜索)

2、有n個人,這些人之中有m個紅帽子,剩下的人都是白帽子,每個人可以看到別人的帽子,這些人之中一定有一個紅帽子,如果這些人知道了自己的帽子顏色,他們就會離開,問這n個人什麼時候離開(從1個紅帽子推到第2個紅帽子,然後同樣的思維應用數學歸納法)

3、有什麼愛好嗎,然後隨便聊了一些

字節跳動後端開發實習生hr面(429日)1700

先通知面試全部通過了,然後問了一下什麼時候能來,實習多久,本科畢業是否工作,然後講了一下有轉正機會,然後offer要審批,節後審批好了會聯繫你。

 

許願offer

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章