說到字節跳動的經歷仍是比較搞笑的。一開始我特別想去那個遊戲部門,固然data部門也是特別想去的,可是提早批只能投一個,因而投了遊戲,結果次日就給我掛了。。。中間北京的教育撈我,可是不想去北京因此拒絕了,上海的測試撈我,我也不太懂測試因此仍是拒絕了。正式批的時候我投了倆,遊戲部門和data,結果遊戲次日又給我掛了。。。哈賣批。。。過了幾天data也給我掛了!我想真的是跟字節命裏犯衝。。。這時候阿里學長看我阿里面試最後一輪表現不太好,想給我託字節內部撈一下去教育,結果這時候data主動把我撈了!!!真是神奇的操做啊。。。以至於我一直以爲字節這是在嫖我啊,這擺明了拿我刷kpi啊!這我能答應嗎?。。。我答應了。。。事實證實,是我小人之心度君子之腹,我錯了!orz!在文末分享了我爲金九銀十準備的備戰資源庫,包含了源碼筆記類,大廠面試真題,跳槽解析,簡歷解析,項目實戰源碼+筆記+工具,有須要的能夠文末獲取,
java
正式批(別看了都是正式批,提早批就沒讓我面!)一面。面試時間 08-18,19:53 - 21:08,全程1個小時15分鐘。涉及內容:項目、網絡、數據庫、算法題面試
1. 自我介紹算法
2. 項目中的有挑戰的點(問了大概有五六個問題)sql
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 面了,主要就是了解一下狀況而後就發了意向書,中間審批過程比較長,等了好久生怕跪了。。。問題的話沒什麼好說的,基本就是意向地點,投了哪些公司和部門,如今手頭上有什麼 offer,有什麼計劃,畢業時間,哪裏人等等。電話還沒打完就發意向書過來了,感受有點興奮,可是強忍住不表現出來。。。
樓主投的是杭州的 data 不過,面試流程仍是很快的,從 16 號筆試結束到 23 號四面結束,一共一個禮拜,而後加上 offer 審批一個禮拜多一點,半個月走徹底部流程收到了意向書。面試經歷能夠看出字節其實對項目不是很看重,更多的是對基礎的掌握和深刻,因此建議你們認真複習,知識點不要看過算過(中間好多點不是很熟悉,靠引導纔回憶起來,因此感受評價會差不少orz)。總的來講感受 data 仍是比較缺人的,並無爲難我,問題也都很基礎。
最後但願你們都能收穫本身滿意的 offer!!!
菜就要查漏補缺,不知道本身菜的人才最可怕,此次金九銀十我已經躍躍欲試了在家也沒少準備,下面分享下個人金九銀十備戰資源庫
直接掃碼獲取