金九銀十旗開得勝!秋招字節正式批4面,順利拿到offer 寫在前面 一面 二面 三面 hr面 總的總結

寫在前面

說到字節跳動的經歷還是比較搞笑的。一開始我特別想去那個遊戲部門,當然data部門也是特別想去的,但是提前批只能投一個,於是投了遊戲,結果第二天就給我掛了。。。中間北京的教育撈我,但是不想去北京所以拒絕了,上海的測試撈我,我也不太懂測試所以還是拒絕了。正式批的時候我投了倆,遊戲部門和data,結果遊戲第二天又給我掛了。。。哈賣批。。。過了幾天data也給我掛了!我想真的是跟字節命裏犯衝。。。這時候阿里學長看我阿里面試最後一輪表現不太好,想給我託字節內部撈一下去教育,結果這時候data主動把我撈了!!!真是神奇的操作啊。。。以致於我一直覺得字節這是在嫖我啊,這擺明了拿我刷kpi啊!這我能答應嗎?。。。我答應了。。。事實證明,是我小人之心度君子之腹,我錯了!orz!在文末分享了我爲金九銀十準備的備戰資源庫,包含了源碼筆記類,大廠面試真題,跳槽解析,簡歷解析,項目實戰源碼+筆記+工具,有需要的可以直接轉發本文後,私信關鍵詞【備戰】即可獲取!!

一面

正式批(別看了都是正式批,提前批就沒讓我面!)一面。面試時間 08-18,19:53 - 21:08,全程1個小時15分鐘。涉及內容:項目、網絡、數據庫、算法題

1. 自我介紹

2. 項目中的有挑戰的點(問了大概有五六個問題)

3. 問了下本科啥專業的,學過哪些課程(主要是爲了下面面試問題的內容,我說了操作系統和計算機網絡學的時間久了,結果就挑着問hhh,佛了)

4. 你知道 DNS 協議嘛?描述一下從輸入域名到顯示的過程(從 DNS 解析到 HTTP 鏈接建立到內容返回瀏覽器渲染)

5. 你剛提到了遞歸查詢和迭代查詢,具體說一說什麼樣子的?(上面說到 DNS 獲取域名對應的 ip 過程分爲兩個過程,即遞歸和迭代)

6. 本地域名服務器向根服務器查詢的是什麼?(這邊沒答好,我說的是下一級的域名服務器的 IP 地址,經過引導理解了,是要從輸入的域名檢驗跟服務器中對應的域名服務器的 IP 地址)

7. TCP 的三次握手,詳細描述一下,最好包括他的一些狀態(說到了 SYN、ACK 以及確認序號和起始序號,但是面試官說第二次握手的時候不需要 SYN 的標誌,但是書上是這麼說的,讓我再看看,我也不太好反駁。。。)

8. DNS 用的 TCP 還是 UDP?爲什麼用 UDP?(就是 UDP 的好處,從握手效率、報文的長度來說)

9. TCP 和 UDP 的各自的應用,舉例子

10. TCP 的四次揮手(仍然要說標誌位和序號)

11. 2 個 MSL 指的是什麼?爲什麼要 2 個?(確保服務端收到,以及防止端口重用時網絡中仍然有殘餘報文段導致錯亂)MSL 指的是什麼?(包生存時間)

12. 學過數據庫嗎?ACID 是指什麼?(事物的四大屬性)隔離級別?解決的問題?(髒讀、不可重複度、幻讀)這三個現象解釋一下?

13. Mysql 默認的隔離級別是什麼?在 Innodb 的可重複讀的情況下可以解決幻讀的情況嗎?(我回答不能,其實應該是不能完全解決,可以一定程度的避免,可以從 next-key lock 的原理想)

14. 知道聚簇索引和非聚簇索引嗎?(底層,B+ 樹的葉子節點區別)非聚簇索引查詢的話會做幾次查詢?(一次)非聚簇索引存的是什麼東西?(葉子節點存的是鍵值和數據所在物理地址)

一面總結:比較基礎,面試相當友好,沒有問奇奇怪怪的問題,太幸運了

二面

正式批二面。面試時間 08-20, 14:00 - 14:45,全程45分鐘。涉及內容:java 基礎、鎖、內存分配、算法

1. 自我介紹

2. Java 的繼承介紹一下?多態指什麼?(由於面試官沒用過 java,所以只問了點基礎的)

3. 重載和重寫?方法簽名?

4. 類的加載機制(加載、驗證、準備、解析、初始化,每部分做了什麼)

5. Java 裏面 Map 的類型(提了 HashMap、ConcurrentHashMap、LinkedHashMap、TreeMap)有什麼區別?(提了最常說的兩個 map 的區別)

6. CAS 是什麼呢?(前面 ConcurrentHashMap 提了)

7. 什麼是樂觀鎖什麼是悲觀鎖?(CAS 裏提了)

8. 還有什麼說麼?(從樂觀、悲觀鎖到讀寫鎖到互斥鎖共享鎖到CLH鎖MSC鎖自旋鎖偏向鎖公平鎖和非公平鎖可重入鎖,腦殼疼,這鎖太多了一下子記不起來全部,數據庫裏面還有老多了)

9. 線程間的同步方式?(共享變量、wait/notify、condition 的 await/signal、父子線程可以通過 InhritableThreadLocal、消息隊列)

10. 什麼是死鎖?怎麼避免?(條件和破壞條件)

11. 線程和進程有什麼區別?

12. Java 裏面怎麼分配內存?(講了一下從棧到堆中的內存分配)

13. 堆滿是什麼概念?(總算扯到垃圾回收了,從 minor gc -> full gc 到新生代和老年代的佔比)

14. 虛擬內存和物理內存有什麼區別?空間置換?

15. 寫道題吧。接雨水

16. 反問

二面總結:本來以爲是會問項目,沒想到還是基礎方面的。不過由於面試官不用 Java,所以一些問題他會深入問而不是看你明白就停了,所以得很瞭解纔行。總的來說沒出大問題,

三面

正式批三面。面試時間 08-20,15:00 - 15:30,全程30分鐘。涉及內容:項目、網絡、基礎、個人規劃

1. 自我介紹

2. 問了問項目

3. 一致性哈希的均衡性?(前面項目裏用到了一致性hash)虛擬節點是指什麼?

4. Mysql 的高可用方案?(講了一下我們自己用的,以及一些市面上的方案)

5. ELK 用來幹什麼?數據量大了怎麼優化?

6. http 協議各個版本的區別?演進的邏輯?

7. TCP 的一些擁塞控制算法瞭解多少?

8. 怎麼確定數據包丟了?(冗餘 ack)ACK 會不會丟掉呢?

9. Java 的內存調優?

10. 內存 gc?(到了最熟的部分,鬆了一口氣)

11. 對未來的一些工作有沒有一些規劃?從哪塊入手?

12. 反問

三面總結:項目問了一些,基礎也問了,總的感覺字節還是偏基礎一點。

hr面

其實也不算 hr 面了,主要就是了解一下情況然後就發了意向書,中間審批過程比較長,等了很久生怕跪了。。。問題的話沒什麼好說的,基本就是意向地點,投了哪些公司和部門,現在手頭上有什麼 offer,有什麼計劃,畢業時間,哪裏人等等。電話還沒打完就發意向書過來了,感覺有點興奮,但是強忍住不表現出來。。。

總的總結

樓主投的是杭州的 data 不過,面試流程還是很快的,從 16 號筆試結束到 23 號四面結束,一共一個禮拜,然後加上 offer 審批一個禮拜多一點,半個月走完全部流程收到了意向書。面試經歷可以看出字節其實對項目不是很看重,更多的是對基礎的掌握和深入,所以建議大家認真複習,知識點不要看過算過(中間好多點不是很熟悉,靠引導纔回憶起來,所以感覺評價會差很多orz)。總的來說感覺 data 還是比較缺人的,並沒有爲難我,問題也都很基礎。

最後希望大家都能收穫自己滿意的 offer!!!

菜就要查漏補缺,不知道自己菜的人才最可怕,這次金九銀十我已經躍躍欲試了在家也沒少準備,下面分享下我的金九銀十備戰資源庫,有需要的可以直接轉發本文後,私信關鍵詞【備戰】即可獲取!!

有需要完整版源碼+筆記的朋友:

——————轉發+評論+點贊文章,關注我之後私信關鍵字:【備戰即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章