【第二十期】位元組跳動 效率工程 後端開發實習生 一面面經

Go語言企業題庫發表於2022-02-15

面試軟體用的位元組自己的飛書。面試官掉線了好幾次。。。

開局自我介紹。

1.首先是語言部分:

  • go和java的區別
  • 協程與執行緒的區別
  • java的hashmap的原理
  • java的介面與抽象類的區別。
  • 什麼時候用抽象類,什麼時候用介面

2.計算機網路部分

  • tcp與udp的區別
  • tcp如何保證可靠有序
  • tcp的擁塞控制
  • 服務端給客戶端傳送123個報文,收到了3的ack,下一步發哪一個報文
  • http每個版本的區別
  • http 1.1 中流水線阻塞的原理,http2中多路複用的原理,為什麼不阻塞了(這個是真的不會。。)
  • https祕鑰交換過程 對稱祕鑰被黑客擷取了咋辦(感覺問的有問題,我就回答說對稱祕鑰不可能被黑客擷取,因為對稱祕鑰是使用服務端公鑰加密過的,只能使用服務端的私鑰解密)
  • https的公鑰被劫持的咋辦(ca證照)

3.作業系統部分

幾種io模型 說了同步阻塞,同步非阻塞,非同步非阻塞 同步非阻塞與io多路複用的區別?(不知道,求大佬們解答) io多路複用複用的什麼部分(猜了一個發射端快取,也就是buffer,網路程式設計這部分真的沒咋看,得加強一下。。)

4.資料庫部分

  • mysql索引優化(最左原則.....) 聚簇索引與非聚簇索引 非聚簇索引怎麼查的(回表) 索引失效 redis(不會redis,問的問題忘了,面試官問了一道發現我不會,也就沒問)

5.資料結構部分

  • 給定一個資料流,流裡面是一些單詞,要求使用一個資料結構統計單詞的個數(hashmap或者字典樹)
  • 給定一個單向有序連結串列,要求使用一個資料結構能快速查出給定節點值(跳錶,我覺得在連結串列上建b+樹也可以)

6.演算法做題

  • 使用自己的ide。

  • lc的連結串列對摺那道題。

    20分鐘不到,需要自建節點,自己

  • 在main函式裡例項化連結串列然後測試

這道題不難但是又臭又長。。首先要用快慢指標找到中點,然後將慢指標後面的部分翻轉得到另外半個連結串列,最後將兩個連結串列合併。

寫出來了,執行發現有錯誤。。。沒debug一會兒,面試官叫我停了,把程式碼複製給他然後就匆匆忙忙結束了。

沒有反問環節。。總體感覺表現的不是很好,很多問題說的語言不順暢,還好過了。。面試官蠻不錯的,遇到不會了就跳過,也不追究。

本文由 GOLANG ROADMAP 釋出!

相關文章