位元組跳動後端實習面試經驗

2020-09-24 14:00:12

位元組跳動後端實習面試經驗

由於參加了暑假的byte camp,所以面試是從二面開始的,順便也說一下byte camp的面試,筆試的話可以在網上找到題。(byte camp體驗非常好)

一面(byte camp)

  • 自我介紹
  • 程序和執行緒的區別
  • 建立一個程序時作業系統做了什麼?
  • 核心態和使用者態
  • 以QQ為例,應該怎麼設計程序和執行緒
  • 程序通訊的方式
  • 通訊方式中哪個速度最快?為什麼?
  • new和malloc的區別
  • malloc和realloc的區別
  • C++多型
  • 虛擬函式表
  • C++的鎖的實現
  • C++定義一個函數值針陣列
  • 用宏定義一個求最大值
  • 演演算法題1:有紅,黃,白三種顏色小球,要求把所有的紅的放在左邊,黃的放在中間,白的放在最後
  • 演演算法題2:給出一組線段,求這些線段覆蓋的總長度

二面

  • 自我介紹
  • 談談專案
  • 談談kafka,我們是怎麼設計topic的?
  • 為什麼要用websocket?
  • 輸入url後都做了什麼?如果存取的是在一個路由器下會發生什麼?
  • http的狀態碼
  • tcp/ip的理解,tcp處於哪一層,ip處於哪一層
  • TCP頭部資訊
  • 三次握手的過程,四次揮手中使用者端的wait狀態
  • tcp的擁塞控制方法有哪些
  • 對https的理解
  • 對mysql的索引的理解,侷促性聚簇索引和非聚簇索引
  • hash的理解,獨立鏈法和平方探測法有什麼區別
  • hash中怎麼刪除一個元素
  • 一致性hash
  • 說說有那些排序,以及時間複雜度,和穩定性
  • 談談對docker的理解,docker和虛擬機器器的區別?
  • 說說linux下常用的命令有哪些?
  • 演演算法題1:m個房子,每個房子都可以塗n種顏色,要求不能和相鄰的房子顏色一樣,給出每個房子塗每種顏色的花費,求最小花費
  • 演演算法題2:每個結點有它的前驅,求一個可行的遍歷所有結點的順序