大三(即將大四),一名退役的acmer,
感謝柳神給爭取的面試機會,也謝謝自己沒有給柳神丟人,通過了面試
首先說下整體的面試感覺吧,面試感覺相當好的,面試官很溫柔,沒有刻意去針對你的樣子,所有問題都是順著你會的方向來問的,
一面(45min)
八股文:
- Http1.0 / Http1.1 / Http2.0的新特性
- OSI七層網路模型
- 路由器和交換機分別在哪一層
- 作業系統的行程和執行緒你怎么理解的(
這里我從幾個方面回答的: - 定義
- 關系
- 切換時的區別
- 鎖機制的區別
- 實作同步和并發的區別
- 通信方式的區別
- 實際操作中遇到的問題
)
(扯得有點多了…面試官一看沒時間了,就進入了演算法階段)
演算法:
- 滑動視窗的最大值
- 合并K個有序鏈表
- 求出矩陣元素和不小于K的最小面積(n * m <= 10000)
- 最長無重復元素子串
感受:可能面試官感覺是個acmer,所以八股問的比較少,演算法題比較看重
二面(46min)
八股文:
- 多執行緒使用過嗎(我扯到了網路編程里的多執行緒SOCKET通信)?
- 用信號量、互斥量、鎖選擇一個說明如何解決執行緒之間的同步問題?
- 你所了解到的有哪些鎖機制?
- 樂觀鎖和悲觀鎖有什么區別?
- 樂觀鎖怎么保證執行緒間不會發生沖突?
- 無鎖機制有了解過嗎?
- 什么是死鎖?
- 死鎖的條件是什么?
- 如何解決死鎖?
- MVC設計模式?
- 什么是函式簽名?(扯到編譯原理上,給自己挖了一個坑)
- 編譯程序和編譯原理的一些知識(上個問題挖的坑,給跪了,,沒開過編譯原理這門課)
- UI渲染這個方向了解過嗎?(回答,沒了解過)
- OSI七層模型從下向上?
- 每層模型都有哪些協議?
- TCP的三次握手程序?
- 可以說一下擁塞控制協議嗎?
- HTTPS協議了解過嗎?
- HTTPS有幾個好處?(回答:密文,防止中間人攻擊)
- 交換SSL的程序有接觸嗎?(回答叉開了,回答了SSL的四次握手…)
- SSL握手是怎么進行校驗的?
- SSL是怎么確定這個加密回話的?
- 什么是對稱加密,什么是非對稱加密?
- SSL加密中是怎么加密的(利用非對稱加密的方法對對稱加密的密鑰進行加密)
- 什么是中間人攻擊?
- CA數字證書有什么內容?
- CA數字證書校驗程序是怎樣的?
- 了解過自簽名證書嗎?(非認證機構辦法的)
- 了解過Git版本管理嗎?(讓說一下程序,拉垮了這塊…)
- 了解過正則運算式嗎?
- Linux使用過哪些命令?
演算法題:
- 找一個二叉樹的最近公共祖先,要求空間復雜度O1,時間復雜度On,并且必須是自上向下遍歷,不可以向上回溯父節點(用了一下位運算的狀態表示,面試官 好像沒有看懂,但是又找不出BUG,就給過了,賽后去力扣寫了一下,也是通過的,yeah!yeah!yeah!)
感受:不愧是交叉面,大概率是后端的吧,這八股給我問的,但是面試官不會可以為難你,面試官給人的感徑訓是很溫柔的.
三面(20min)
八股文:
- OSI七層模型
- 用戶從輸入URL到頁面展現經歷了什么?
- 什么是銀行家演算法?
- 行程與執行緒的管理
演算法:
- 首寫堆排序,并講一下堆排序的原理及時間復雜度(本人acmer的資料結構選手,對于堆排序的理解就是:首先有資料結構的性質,其次關于堆調整函式,我提到了是樹形dp的概念,當子樹滿足條件時,只需要改變一條鏈上的值,所以復雜度是logn的)
- 判斷一棵樹是否為完全二叉樹(運用了位運算及佇列,寫麻煩了,其實只需要判斷出現的第一個節點即可,面試官也提出了.)
感受:這一面給人的感覺就比較舒服了,沒有問一些很偏的東西…
hr面(30min)
不說了吧,對于acmer,又是隊長,又是班長,就要問一下管理類的問題,遇到的最難忘的比賽?(CCPC總決賽、ICPC銀川、ICPC南京)等之類的問題
最后,歡迎大家加入位元組跳動!有意向的私信我呀,我找人(柳神)內推你哦,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/291036.html
標籤:其他
上一篇:TCP三次握手和四次揮手
下一篇:Linux基本指令詳解
