博主大三在讀,投的是位元組 Data 的后端開發實習生,base 杭州,
時間線:
- 4.12 投遞
- 4.13 安排簡歷篩選
- 4.14 安排面試
- 4.19 16:00 一面
- 4.22 16:00 二面
- 4.23 8:00 三面
- 4.23 16:00 HR 面
- 4.23 16:30 Offer
一面
-
先做了自我介紹
-
問論文情況(簡歷寫了)
- 做的是什么
- 主要負責了哪些作業
- 資料集是哪里來的
- 帶來的提升是以什么為基線去比較
-
來做個題吧:有向圖判斷是否有環
- 寫了個 DFS,寫完示意面試官還剩建圖的部分,面試官說建圖可以不寫
- 提問代碼細節
- 我的代碼是用鄰接矩陣存的圖,提問還可以用什么結構存?(鄰接表)
-
再來做個題吧,面試官挑了一會兒以后說感覺這個題你應該也能寫出來,就不做了,
-
多執行緒相關:
- 有遇到過多執行緒的情況吧,假設 A 執行緒和 B 執行緒都想訪問一個資源,如何保證執行緒安全?(答:加鎖)
- 有些執行緒只想讀資源不想寫資源,如果簡單粗暴地加互斥鎖的話性能不太好,有什么辦法優化一下?(答:只對寫操作加鎖,讀操作不受限制)
- 多個執行緒,部分是寫,部分是讀(舉例:A 執行緒寫、B 執行緒讀、C 執行緒寫),他們的執行順序應該是怎么樣的?(這一塊一直沒有抓住面試官想問什么,感覺答的不好)
-
挑一個專案來介紹一下
- 講到了專案中做的一個改進,跟快取有關,
- Redis 的表結構有了解嗎?(dict 存各項資料,expires 存過期時間)
- 爬資料這個環節是怎么定期更新的?是定期自動執行還是需要你手動去操作?
- 一臺服務器的話,會有負載壓力嗎?如果要承受更大的 QPS,你還有什么想法去優化嗎?
- 講到了專案中做的一個改進,跟快取有關,
-
資料結構你熟悉嗎?(答 特別復雜的資料結構了解不深,但基本的資料結構還是比較熟悉的)面試官說那我就不細問了,
-
我們還是來做一道題:面完查了一下是 LeetCode 81,
- 不用寫,說思路就可以,
- 之前沒接觸過,面試官引導了一下,想了一會兒,說了一下大致思路
- 問了一下細節,又想了一會兒,面試官說今天我們面試蠻久了,開始反問環節,
-
反問環節
- 問部門技術堆疊,面試官說我是別的部門來交叉面的,我到時候不一定是在他的部門,然后介紹技術堆疊是 C++/Go,少量 Python 寫一些腳本,
- 問面試官他這邊知不知道大概什么時候會有結果,面試官說他這邊寫面評,后續需要 HR 安排,
- 面試官介紹了一下他這邊部門的情況,
面試官看起來挺年輕的,很友善很有耐心,面試體驗賊好,總體感覺問的不太八股,還是比較靠理解,
二面(1h)
- 自我介紹
- 介紹專案(實驗室應用平臺)
- 有幾個實驗室
- 登錄的方案是怎么做的
- 簽退的功能是怎么實作的
- 如果有兩個用戶想要同時預定最后一個座位,如何保證不出錯?
- Redis(專案中用到了)
- 有設定超時時間嗎?
- Redis 的超時是怎么實作的?(答了下表結構)
- Redis 超時的時候它是怎么操作的,是掃整張表嗎?(答 惰性洗掉和定期洗掉)
- 具體的策略有哪些,比如你有了解過 LRU 嗎?(答了 8 種淘汰策略)
- 你知道 LRU 怎么實作嗎?(答雙向鏈表,雙向鏈表+HashMap)
- 提到了 HashMap
- 哈希沖突怎么解決
- 紅黑樹的查找效率是多少
- 哈希查找效率是多少
- 介紹另一個專案
- 爬蟲是怎么做的
- 資料存在哪里
- 如果用戶讀檔案的時候,程式剛好在往里面寫資料,怎么保證正確性?
- 有用過 Go 嗎?(了解過一些,但沒用過)
- 接觸過 RPC 嗎?(了解過,但沒實際寫過)
- 知道 ProtoBuf 嗎?(簡單說了一下)
- 我們來寫個題吧
- 樹狀 DP
- 說了一下大概思路,但是狀態轉移方程寫不出來
- 面試官很耐心的引導了一下,但最后還是沒寫出來,慌的一批
- 反問環節,問了下部門技術堆疊
- 問我是否只能接受 base 杭州
感覺二面面試官抓問題很精準,面完真的覺得自己涼了,結束半個小時以后 HR 電話通知三面,
三面(1h)
- 什么時候開始接觸編程的
- 你的專業不是 CS,對計算機基礎了解程度如何
- 實習時間怎么樣
- 來寫個題吧(實作一個 HashTable,要求可以運行)
- 如果讓你寫一個 HashTable,你覺得需要有哪幾個 API
- 面試官提示我先把 API 寫了(先把 API 定下來,稍后寫具體實作),然而我沒 get 到面試官的意思,以為是要我先寫核心部分代碼,慌的一匹,
- 之前沒在牛客上跑過自己定義的類,卡了一會兒問面試官能否本地 IDE 跑給他看,面試官說不行,考驗一下解決問題的能力,最后還是摸索出來了,
- 跑了幾個基本的測驗樣例,
- 面試官要求和 Java 自帶的 HashMap 對比一下,
- 面試官要求隨機生成一些 TestCase 來測驗正確性,這塊寫的不是很好,跟面試官說了一下,面試官說你知道問題在哪兒就可以,
- 反問環節,問面試官從今天的表現來看,還有哪一塊需要提升,
面完又感覺自己涼了,結束一個半小時以后 HR 電話通知 HR 面,
HR 面(10min)
- 自我介紹
- 什么時候可以來實習,可以實習到什么時候
- 有沒有考研打算
- 有沒有在看其他公司的實習機會
- 之前三輪面試的體驗如何
- 面試官有沒有介紹過部門在做的作業?
- 看你之前有一些研究的經歷,是對這些比較感興趣嗎?
- 反問環節,問了下后續流程,
面試題檔案分享
下面先給大家上一個總的目錄大綱,基礎的東西就不進行過多的贅述,我們將會從JVM說起,同時由于每篇的內容過多,我們也只說重點,太過基礎的內容誰都會,我就不多敲字浪費大家的時間了!

JVM


多執行緒與高并發


Spring原始碼

Neety與RPC

微服務

網路

負載均衡

RabbitMQ

KAFKA
KAFKA框架原理、KAFKA特性及實作、KAFKA檔案存盤機制、KAFKA磁區及可靠性、KAFKA BROKER特性、KAFKA高效性相關設計、KAFKA CONSUMER特性、KAFKA PERDUCER特性、KAFKA OFFSET維護方案、KAFKA STREAMING

MySQL
基本語法、索引的實作機制、索引的資料結構、索引的分類、索引與存盤引擎、索引的設計、索引的優化、ACID、事務的實作原理、UNDO LOG、REDO LOG、BIN LOG、MVCC和二階段提交、共享鎖、獨占鎖、排它鎖、自增鎖、間隙鎖、臨鍵鎖、SPI、DRIVERMANAGER、CONNECTION、STATEMENT和PREPARESTATEMENT、RESULTSET、反射

Redis

由于文章篇幅有限,PDF的內容又很多,全部手敲下來很累......所以需要閱讀閱讀學習的,大家“一件三連后:“查看下方””即可拿到手之后自己學習吧,博主真的打字打累了,

預祝大家前程似錦~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/283207.html
標籤:其他
