字節跳動四面拿下2-2offer,30*16薪,已入職!

前言

當你準備跳槽面試的時候,明明只是一份15K的工作,卻問你會不會多線程,懂不懂高併發,火箭造得讓你猝及不防,結果就是兩個字——涼涼!而在如今的市場,什麼多線程、高併發、分佈式、負載均衡、集羣、微服務等等等等,都可說是Java高級後端開發求職的必備技能。

2020的秋招可以說也是完美收官,前段時間收到字節跳動的面試邀請,雖有點震驚,但卻依舊保持平常心去對待,結果一不小心就吊打了面試官(前後一個半小時的面試過程全程沒卡殼,項目和算法全部搞定,甚至聊到了面試官的盲點…)

而最終的結果……當然是順利的接到了字節跳動的Offer,定級爲2-2資深研發人員。

面試前的準備

老實說,我自己平常沒事就會看一些面試題,所以我都是直接去面的。不過我還是要建議大家如果準備面試的話,需要做以下準備

背題:看一看最近的面經文,瞭解現在公司都在面什麼類型的題,準備一些常見題,開背吧!如果一些基礎的 js 都不會那問題就有點小大了。

算法:做一些算法題,leetcode 上面的一二三星就夠了,前端算法很簡單,基本都是初中數學的難度吧。

項目:項目回顧,把你做的項目從技術架構到源碼都要做到足夠了解,至少面試的時候不要被面試官問住了。並且要體現出你在工作中的作用,體現出自驅性(大公司都很看重自驅性)

亮點:準備亮點,回答問題的時候不用全部回答上來,但是在面試的過程中一定要有亮點(不然你就會得到反饋,面試官說你還行,但是沒有過~) 我一般會準備幾個點,每個點都保證可以睡上半小時。另外一定要了解得很深入,並且能夠用自己的話流暢的表達出來!!(我準備的幾點,性能優化、工程化、緩存、http)

內推:最好找人內推,成功率會提高一些

練手:先找幾家不太想去的公司(規模差不多)練練手,如果第一次面試就去心儀的公司面試,淘汰率會非常高。

心態:心態很重要,面試不過很正常,不證明你不優秀,只是不適合,總結面試經驗,爲下一次做準備。

答題:怎麼把自己會的問題說好,這個很關鍵

邏輯清晰:一定要邏輯清晰,不然即使你知道這個問題的答案,面試官也不會滿意,如果你邏輯清晰,即使這個答案不會,面試官也會給你加分

獨特理解:現在的面試題大同小異,那麼如何體現出你的優勢就很重要。結合業務以及你自身的知識儲備來講

深入思考:對每個問題一定要有深入的思考,不然就很難進入大公司了,深度上要有一個拔高才能在面試中獲得好的成績

流暢表達:面試就是一個表達的過程,一些問題心裏明白不行,還要流暢的表述出來,基本上如果面試官覺得你表達的很流暢,當你講到一半就不會再讓你說下去了,證明已經通過了

刷題絕對是最重要的,於是問了我在阿里的同學要來了一全套他們公司P8整理的系列大廠面試題,刷到天昏地暗,如今既完美收官了,這些面試題還有自己之前收集整理的一份核心架構進階知識點。存在網盤也沒太大的用處,所以在這裏免費分享出來給有需要的朋友點擊免費獲取高頻面試題答案、刷題寶典免費獲取地址

字節跳動4面(3面技術+1面HR)面試經歷

1.1 字節跳動一面

首先自我介紹,balabala……(此處省略三分鐘)

找一個你的項目說一下,首先你的項目介紹,承擔了什麼職責,做了哪些工作,難點(因人而異,這就不再贅述了,balabal……(省略三分鐘))

從你項目中看出,你使用的是mysql,mysql的int數據類型都有哪些?從小到大說一下,各佔多少字節?

java中的int都有哪些?字節佔多少

問你一個關於計算機網絡的,tcp的三次握手說一下?

tcp和udp的區別?

你說你熟悉linux,我給你一個案例,搜索出log文本中出現次數最多的IP,並且給出次數

說下java的gc?

說一下hashmap這個數據結構?

進行一次查找的話haspmap的時間複雜度是多少?

給你一個算法你看一下,有一個無限長的整型數組,從小到大排序,非遞增。那麼怎麼找到數組中一個key?

閒聊

之後就問了我最近看了哪本書,學到了什麼,最近還在學的什麼技術呢?問了我職業規劃,興趣愛好,還說了說公司的語言選型,我後來問了下對於我的面試表現評價,人家不方便說,又問了新人培養等問題。

1.2 字節跳動二面

自我介紹(balabla)

然後說一說mysql的索引結構吧

看一道題吧,這個題怎麼建立索引

(1)第一道題: mysql訂單表有幾個屬性:訂單id,用戶user_id、下單日期date(精確到天)等,請問索引怎樣建立 a. 查詢某個用戶的所有訂單 b. 查詢某一天的所有訂單 c. 查詢某一天某個用戶的所有訂單

 (2)第二道題: 10G文件,每一行一個 uint32 數字。有一臺1G內存的機器 - A. 找出最大的 k 個數 - B. 找出重複數字 

(3)第三道題: 我手中有一堆撲克牌, 但是觀衆不知道它的順序。 第一步, 我從牌頂拿出一張牌, 放到桌子上。 第二步, 我從牌頂再拿一張牌, 放在手上牌的底部。 第三步, 重複第一/二步的操作, 直到我手中所有的牌都放到了桌子上。 最後, 觀衆可以看到桌子上牌的順序是:13\12\11\10\9\8\7\6\5\4\3\2\1 請問, 我剛開始拿在手裏的牌的順序是什麼?用代碼實現以下

1.3 字節跳動三面

這個面試官應該是一個總監級別的,說話非常的硬氣,肯定是一個資深大佬,一共面了40多分鐘。常規的面試基礎都沒問,純懟項目和算法了。

自我介紹

你覺得你目前遇到的困難有哪些?項目上的難點?

你的項目數據庫多大?QPS多少?哪些sql比較慢?(項目上的事我就不說了……balaba)

那你覺得以後qps更大的話,你該怎麼設計?

給你一個算法題,你來看一下思路

那留兩分鐘咱們聊一聊,你有什麼想問我的

1.4 字節跳動四面

HR面,大約35分鐘,主要是問個人職業規劃、薪資待遇,以及對字節跳動的期許等等

【附】分析一波,Java核心架構進階知識點

面試成功其實都是必然發生的事情,因爲在此之前我做足了充分的準備工作,不單單是純粹的刷題、看面經,更多的還會去刷一些Java核心架構進階知識點,比如:JVM、高併發、多線程、緩存、Spring相關、分佈式、微服務、RPC、網絡、設計模式、MQ、Redis、MySQL、設計模式、負載均衡、算法、數據結構、kafka、ZK、集羣等。而這些也全被整理濃縮到了一份pdf——《Java核心架構進階知識點整理》,全部都是精華中的精華,本着共贏的心態,好東西自然也是要分享的

分享一些我個人的學習文檔,有需要的朋友自行選擇獲取:有需要的朋友點擊免費獲取高頻面試題答案、刷題寶典免費獲取地址

1、面試文檔專題整理

既然是要面試,那麼就少不了刷題,實際上春節回家後,哪兒也去不了,我自己是刷了不少面試題的,所以在面試過程中才能夠做到心中有數,基本上會清楚面試過程中會問到哪些知識點,高頻題又有哪些,所以刷題是面試前期準備過程中非常重要的一點。

根據自身面試經歷整理以及不斷收集的(珍藏版)

相關的電子書、底層源碼

最後

很多人感嘆“學而無用”,實際上之所以產生無用論,是因爲自己想要的與自己所學的匹配不上,這也就意味着自己學得遠遠不夠。無論是學習還是工作,都應該有主動性,所以如果擁有大廠夢,那麼就要自己努力去實現它。

以上學習資料均免費放送,最後祝願各位身體健康,順利拿到心儀的offer!

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