面試位元組跳動定級2-2,拿32*16offer,P8大佬的演算法教程給了我春天!

Java技術開發工程師發表於2020-12-26

前言

當你開始開始去跳槽面試的時候,明明只是一份15K的工作,卻問你會不會多執行緒,懂不懂高併發,火箭造得讓你猝及不防,結果就是涼涼;現如今市場,多執行緒、高併發程式設計、分散式、負載均衡、叢集等可以說是現在高階後端開發求職的必備技能。

早期的鳥兒有蟲吃,現如今做開發的門檻越來越高

但是,術業有專攻,總有一些技術牛逼的程式設計師可以吊打、碾壓面試官!

本人經常隔段時間就偷偷投點簡歷,請假出去面試幾次,目的不是想跳槽,主要是為了看看市場上的技術流行趨勢,順便檢驗一下自己的水平,當然,如果面到了心儀的公司或者大廠,那不是更好嘛,哈哈哈!

前段時間收到了位元組跳動的面試,雖然有點小震驚,但還是用平常心對待了。結果一不小心,面試的時候就吊打了面試官。

前後一個半小時的面試過程全程沒卡殼,專案和演算法全部搞定,甚至聊到了面試官的盲點…

結果……當然是順利的接到了位元組跳動的Offer,定級為2-2資深研發人員。

個人經歷

其實我有好長一段時間沒有正規的面試過了。三年前從數雲換到GIO的時候,因為簡歷上的相關技術太過於匹配,所以基本上就和CTO聊了聊就確定過去了;後來在回數雲的時候,也就和總監喝了一下咖啡就回來了。也就是大約5年的時間裡面,我沒有正規地接受過面試。

所以在準備投位元組跳動之前,我投了幾個公司做了一下熱身活動。記住,這個時候其實不需要有啥心理包袱。因為本身候選人面試成功的可能性比較低,一個合適的可以面試的人選他們也很樂意看看,而且萬一你確實想換工作,但是心儀的公司面不上,而熱身活動的公司拿到了offer,你也可以考慮考慮去看下。並且這個時候你沒有任何的心理包袱,因為反正你也就是來面試看看的,所以面試時候的發揮可能也會更好點,因此說不定最終拿的offer會比最後想去的那家更好呢?

面試準備

老實說,我自己平常沒事就會看一些面試題,所以我都是直接去面的

建議大家如果準備面試的話,需要做以下準備

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

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

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

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

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

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

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

如何回答問題?

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

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

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

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

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

還能記住的面試題

手寫繼承

instanceof 實現原理

promise 限制併發數

箭頭函式跟普通函式的區別

flex 1 全寫

vue 雙向繫結原理

https 實現原理(越詳細越好)

node 程式之間如何通訊

graghgl 如何優化請求速度

node 跟瀏覽器的 event loop 區別

瀏覽器渲染頁面過程

如何效能優化

CDN 優化有哪些

webpack 外掛原理,如何寫一個外掛

快取有哪些,區別是什麼

手寫 bind、reduce

防抖截流

遍歷樹,求樹的最大層數。求某層最多的節點數

node 開啟程式的方法有哪些,區別是什麼

node 如何部署的

node check 階段做了什麼,觸發了什麼事件

前端模組化的理解

node 如何處理錯誤的

隱式轉換

數字在計算機怎麼儲存的

webpack 優化

webpack 的 require 是如何查詢依賴的

webpack 如何實現動態載入

給你一個專案,從頭開始你怎麼考慮

工作流做了哪些事情

如何提升效率與效能

未來的規劃是什麼

跨域有哪些

網路安全

連結串列與陣列的區別

變數提升 let const var 區別

連結串列如何遍歷

script 標籤中 async 跟 defer 的區別

刷題當然也是最重要的,畢竟我是有好幾年沒有過正規面試的經歷了,於是問我在阿里的同學要來了一份他們公司P8整理的一系列大廠面試題,刷到天昏地暗,如今我也已經入職了位元組跳動,這些面試題對於我來說也沒什麼太大的用處,所以在這裡無償的分享給大家,由於篇幅有限,就不做過多的介紹,大家請自行腦補,

需要獲取得話麻煩一鍵三連+評論,然後新增VX(tkzl6666)即可免費領取

位元組跳動面試經歷

位元組跳動一面

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

1、找一個你的專案說一下,首先你的專案介紹,承擔了什麼職責,做了哪些工作,難點

因人而異,這就不再贅述了,balabal……(省略三分鐘)

2、從你專案中看出,你使用的是mysql,mysql的int資料型別都有哪些?從小到大說一下,各佔多少位元組?

3、java中的int都有哪些?位元組佔多少

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

5、tcp和udp的區別

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

7、說下java的gc

8、說一下hashmap這個資料結構

9、進行一次查詢的話haspmap的時間複雜度是多少

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

閒聊

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

位元組跳動二面

自我介紹

balabla

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

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

mysql訂單表有幾個屬性:訂單id,使用者user_id、下單日期date(精確到天)等,請問索引怎樣建立

a. 查詢某個使用者的所有訂單

b. 查詢某一天的所有訂單

c. 查詢某一天某個使用者的所有訂單

看第二道題

10G檔案,每一行一個 uint32 數字。有一臺1G記憶體的機器

- A. 找出最大的 k 個數

- B. 找出重複數字

第三道題

我手中有一堆撲克牌, 但是觀眾不知道它的順序。

第一步, 我從牌頂拿出一張牌, 放到桌子上。

第二步, 我從牌頂再拿一張牌, 放在手上牌的底部。

第三步, 重複第一/二步的操作, 直到我手中所有的牌都放到了桌子上。

最後, 觀眾可以看到桌子上牌的順序是:13\12\11\10\9\8\7\6\5\4\3\2\1 請問, 我剛開始拿在手裡的牌的順序是什麼?用程式碼實現以下

位元組跳動三面

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

1. 自我介紹

balbala

2. 你覺得你目前遇到的困難有哪些?專案上的難點?

3. 你的專案資料庫多大?QPS多少?哪些sql比較慢?

專案上的事我就不說了……balaba

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

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

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

balabala

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

Java核心知識點

面試成功其實是必然的,因為我做足了充分的準備工作,包括刷題啊,看一些Java核心的知識點,看一些面試的部落格吸取大家面試的一些經驗,下面這份PDF是我翻閱了差不多1個月左右一些Java大博主的部落格從他們那裡取其精華去其糟泊所整理出來的一些Java的核心知識點,全部都是精華中的精華,我能面試到現在2-2資深開發人員跟我整理的這本Java核心知識點有密不可分的關係,在這裡本著共贏的心態分享給各位朋友。

這份PDF囊括了JVM,Java集合,Java多執行緒併發,Java基礎,spring原理,微服務,netty與RPC,網路,日誌,zookeeper,kafka,rabbitMQ,hbase,mongoDB,cassandra,設計模式,負載均衡,資料庫,一致性演算法,Java演算法,資料結構,加密演算法,分散式快取,Hadoop,spark,storm,YARN,機器演算法,雲端計算。

由於篇幅有限,就不做過多的介紹,大家請自行腦補,需要這份Java核心知識點及大廠面試題答案的朋友麻煩一鍵三連+評論,然後新增VX(tkzl6666)即可免費領取

 

放在最後

總的來說,自己如果有想要去的大公司,一定要提升好自己,讓自己的能力和素質與公司匹配的上,我也一直相信,機會永遠是留給有準備的人。無論是學習還是工作,都應該有主動性,所以如果擁有大廠夢,那麼就要自己努力去實現它。

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

相關文章