round1:
先自我介紹,然後聊了聊專案。
問題基本由淺入深。
1、說說從瀏覽器輸入url到載入出網頁的基本過程。
2、網路協議棧
3、http狀態碼
4、tcp三次握手,四次揮手
5、四次揮手過程中time_wait狀態。
6、如果tcp連線只有兩次握手會有什麼問題?我答如果服務端的ack報文丟失,服務端已經開啟的socket,但是client端以為伺服器不可達,造成服務端的socket一直開啟無法關閉占用資源。然後面試官就接著問如果socket不能關閉會占用哪些資源。
7、c++ unordered_map實現原理。如何實現擴容的。我不太清楚unordered_map如何擴容,面試官就問當unordered_map出現雜湊碰撞的時候,如果是我會如何解決。
8、說說b樹和b+樹,為什麼mysql索引採用b+樹而不是二叉樹,b+樹相對b樹有什麼優勢。mysql在通過b+樹搜尋葉子節點記錄的過程中,是如何判斷接下來該訪問哪個孩子節點的?
9、程式設計題:單鏈表,第1、3、5、7位等奇數字的元素是遞增的,偶數字的元素是遞減的,把整個鍊錶轉換成乙個降序鍊錶,要求線性時間複雜度,常量空間複雜度。
10、cpu使用者態和核心態有什麼區別?庫函式和系統呼叫有什麼區別?
11、什麼是中斷?中斷有什麼用?
round2:
自我介紹,針對專案相關問了一些
1、stl問題,vector是如何實現擴容的,vector是執行緒安全的嗎?
2、auto_ptr和shared_ptr。
3、寫乙個執行緒安全的map。我寫的map就是傳統的乙個map,乙個讀寫鎖。面試官又問可不可以繼續優化一下。
4、寫出快速排序的時間複雜度表示式,假設每次參考值都放到了陣列中間的位置。
5、程式設計題:單鏈表插入排序。
round3:
這次沒有自我介紹了,問了問專案經歷,技術棧,完成了哪些工作,解決了哪些重點難點。
1、物件導向的相關知識,類,物件、介面等。
2、程式設計題:求二叉樹任意兩點間距離的最大值。
4、你理解的繼承、封裝、多型。
大致就記得這麼多了,有的問題可能遺漏了。
位元組跳動校招提前批前端一面總結
middle left right middle left right 4 比翼雙飛布局通過內層加margin的方式,讓內層元素剛好定位到露出位置。5 flex布局,父元素設定diaplay flex 6 table布局,設定display table cell 8 原型鏈 9 position的屬...
2019 7 位元組跳動提前批記錄
通過牛客網大佬的簡歷內推後端開發,一周後收到了預約簡訊,7.5進行面試,郵件中說主要考察業務能力與專案經歷。跟實驗室同學同一天面試,正好一起總結一下。a 做一下專案介紹,挑乙個你最熟悉的講 x 你不是計算機的嗎 x 用到多執行緒了嗎 x,但是用過ros x 什麼是ros x 介紹下程序與執行緒區別 ...
網易2020校招提前批面試題解析
前面的話 做了兩套網易的題,正式篇覺得還好,提前批的題目雖考點差不多,但有很多坑,同時也考得比較深。題目第一題 下面 輸出什麼?const arr const testobj console.log arr console.log arr arr.tostring 1 console.log arr...