字節(jié)跳動提前批后端開發(fā)一二三面+HR面面經(jīng)(已意向書)
一直沒時間,趁有空整理下字節(jié)面經(jīng)。
一面 7.20 周一晚上8點半 一小時
1、自我介紹
2、聊了比較長時間的論文研究內(nèi)容
3、數(shù)學建模
4、TCP三次握手過程
5、TCP四次揮手時的狀態(tài)
6、http響應碼,問了502
7、進程和線程的區(qū)別
8、Java中如何實現(xiàn)單例
9、提供一個日志文件,里面是用戶的訪問記錄,用shell命令做一些統(tǒng)計工作
10、進程間通信方式
11、Unix系統(tǒng)中管道用什么機制
12、fork
13、B樹和B+樹的區(qū)別
14、手撕代碼:買賣股票,改了題目撕了兩題,都是leetcode原題
15、聊了一下實習做的工作
二面 7.27 周一下午3點 一小時
前面部分忘記錄音了,后面錄的又大部分是在撕代碼,錄的都沒什么用。。。
沒有自我介紹,直接撕代碼,第一題是用斜著的方式輸出一個數(shù)組,第二題是寫一個類,主要實現(xiàn)初始化和判斷兩個api,比如給一組字符串["hello","yes","rello"],根據(jù)這個字符串構(gòu)造這個類,當輸入一個字符串時,如果這個字符串是前面的字符串數(shù)組中的某一個字符串改變一個字符可以得到的,就輸出true,否則輸出false。用什么數(shù)據(jù)結(jié)構(gòu)自己選擇,面試官就說因為初始化是只做一次,判斷要做多次,所以重點是判斷這部分時間復雜度要低一點。
問了spring的AOP
想不起別的了,罪惡,問的基礎題很少,二面大部分時間都在撕代碼了。比如第二題想了個方法,面試官說這個構(gòu)造起來有點麻煩,能不能換一個,所以撕代碼的時間挺長,寫完還得給面試官說清楚思路。
三面 7.27 周一下午4點 一小時多點
二面結(jié)束就直接接著三面了,換了個面試官
1、自我介紹,重點講項目和實習經(jīng)歷
2、聊實習期間的工作聊蠻久
3、實習中有用到一點Kafka,問了一下kafka的一些機制。通過kafka消息隊列異步落數(shù)據(jù)庫時,如何保證數(shù)據(jù)可靠地落到數(shù)據(jù)庫里。
4、為什么kafka的一個partition里面的消息,一個consumer group里面只有一個消費者能消費,而不能兩個消費者同時并行地消費。
5、如果一個消費者拉走了一條消息,但是還沒消費就掛了,kafka如何保證這條消息能夠被消費而不導致消息丟失。
6、redis的持久化機制,RDB和AOF兩種方式各自的優(yōu)劣。
7、MySQL應該給哪些列建索引,哪些不應該建索引。
8、在使用框架編寫單元測試時,你認為一個完整的單元測試應該考慮哪些方面呢,怎樣測試保證你寫的接口各方面都可靠。
9、同步和異步
10、并行和并發(fā)的區(qū)別
11、在瀏覽器里輸入一個地址,到頁面顯示出來,整個過程。
12、傳輸層協(xié)議,TCP和UDP的區(qū)別。為什么DNS解析過程選擇了并不可靠的UDP傳輸。
13、TCP建立連接使用兩次握手可不可以,為什么
14、撕代碼,又撕了買賣股票,不過我也沒說這題一面撕過了hhhh
15、撕代碼,實現(xiàn)開根號的函數(shù),我說有個牛頓迭代什么的公式,面試官說對,你記得的話可以用那個公式。我說不記得。。就老老實實二分法做。
16、智力題,一個不均勻的硬幣,設計一個公平的游戲。
17、反問
HR面 7.27 周一下午5點多 大概半小時?
沒錄音,就閑聊,氛圍挺輕松,hr小姐姐很直爽。面試的時候就說會加下我微信。
HR面結(jié)束不到一小時,hr小姐姐就加我微信說offer已經(jīng)提交審批,會盡快發(fā)意向書,7.29就收到意向書啦。給字節(jié)的效率打call!
總的來說,4場面試的體驗都不錯,尤其技術(shù)三面,面試官會給正面的肯定。感謝字節(jié)給了我秋招的第一個意向書