<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          新鮮出爐:字節(jié)跳動面經(jīng)總結(jié)

          共 4355字,需瀏覽 9分鐘

           ·

          2022-05-23 19:44

          hello,大家好!

          之前給小伙伴們分享過 簡歷模板

          大家都下載了嗎?


          今天來看一份比較詳細的大廠面經(jīng),

          幫助大家快速熟悉面試流程


          后面給大家準備了更多優(yōu)質(zhì)的字節(jié)跳動面經(jīng)

          下方公眾號回復(fù)【字節(jié)

          即可免費領(lǐng)取



          背 景


          本人2本畢業(yè),目前工作四年,一直是Java。


          做的都是些二線公司,沒做過一線。四年跳了三家公司。在家休息了幾個月,

          五月中旬開始面試。

           

          由于跳槽過多而且已經(jīng)是淡季的原因。內(nèi)推的我的字節(jié)哥們兒,推了不知道多少個部門,從字節(jié)海外電商推到教育線簡歷都由于頻繁跳槽都掛了。最后才被廣告營銷撈了起來(而且居然是個Java部門)。


          這里還是奉勸大家跳槽不要像我這么頻繁,唉。而且想進大廠,建議找人內(nèi)推。這是我第一次面字節(jié),也是今年第一場面試,各種意義都算是初體驗了233。


          一 面


          一面是個小哥,估計比較靦腆,騙我說顯示壞了他沒開攝像。我笑著說沒事。


          技術(shù)面試20分鐘,算法我做了10分多種orz。總計半個多小時。

           

          1. 簡單說下項目

          我項目比較挫,就介紹了下,然后項目就跳過了


          2. redis的zset是如何實現(xiàn)的?為什么使用跳表不使用別的數(shù)據(jù)結(jié)構(gòu)?

          redis的zset基于ziplist和dict以及skiplist實現(xiàn)。這里我簡單說了下這三個有什么字段,以及優(yōu)化的細節(jié)。至于為什么使用跳表,我直接回答了官方原文。話說回來感覺zset每個大廠都會考啊。


          3. redis的持久化方式

          rdb和aof,這里本來我想擴展說一下。面試官直接說時間有限,不用了,希望能在短時間多問點東西。這場面試整體節(jié)奏很快,很多都是簡單說下就問下一個問題了。


          4. redis的集群方式,各有什么特點

          哨兵配主從,可以保證可靠。redis cluster可以增加可擴展性。


          5. redis cluster的通信機制,說一下蜂巢

          基于goosip,具體的不了解,這一段就跳過了。


          6. mysql innodb 以及mongodb的索引結(jié)構(gòu)

          b+樹,簡單講了下。這一題就結(jié)束了。


          7. rr級別如何防止幻讀

          這一題我聽錯了,聽成了rr級別為什么要防止幻讀。所以回答偏了。就說因為rc級別不會有 LostUpdate問題,但是rr級別由于mvcc版本會出現(xiàn),rr作為更高等級級別必須要處理該問題,所以使用鎖來處理,但是快照本身不能解決write skew,所以并沒有解決幻寫,某種角度來說也沒有完全解決幻讀。后面發(fā)現(xiàn)好像回答方向錯了,所以還是簡單提了下快照讀,當(dāng)前讀,間隙鎖,行鎖之類的東西。這一題講的有點久了,失誤失誤。


          8. synchronized原理,講一下底層實現(xiàn)

          一開始我也就標準的說了下鎖升級的過程,也說了mutex lock。最后面試官問到比較深,問我moniter里面啥內(nèi)容,我就記得waitsets,entrylist,owner,count這幾個,然后說了下,Java基礎(chǔ)就這么結(jié)束了。


          9. 除了zk你還用過其他注冊中心嗎?之間有什么區(qū)別

          nacos,eureka,consol。有的是cp,有的是ap。注冊中心一般走ap就夠了。簡單說了下原因


          10. 算法 

          開始出的是,最小編輯代價。一看是較難,我擔(dān)心做不出,要求換了一題。換成了二叉樹之字形遍歷,由于緊張,結(jié)果寫了10分鐘。尷尬的一筆。

           

          小結(jié)


          整體而言就是節(jié)奏很快,是今年節(jié)奏最快的一場面試,建議大家準備的時候也琢磨下怎么用最少的字回答最多的內(nèi)容。難度的話符合我對字節(jié)面試常規(guī)難度的印象。最后出算法的時候,出了一道較難的題,把我心態(tài)整崩了。因為據(jù)我了解,字節(jié)一般前面回答的不錯的話,算法不太會刁難你。當(dāng)時做題的時候我滿腦子都想著為啥出這么難,我前面回答的還行啊。其實也可能是面試官不懂這個規(guī)矩,就隨便出了一道,不要太敏感2333。


          二 面


          最難的一面來了。


          面完我整個人都裂開了。面試官我感覺應(yīng)該也是所有面試官中技術(shù)最強的,沒有之一。另外面試官那邊噪音很大,有時候聽不清他說什么。不過這回面試官終于露臉了。


          技術(shù)25分鐘,算法25分鐘。

           

          1. 說下項目

          這回面試官比較關(guān)注服務(wù)器的數(shù)量,qps之類的東西。這些我都記得,不過項目整體比較挫。面試官也就不深問了,直接進入八股文環(huán)節(jié)。


          2. 會什么語言?說下jvm吧。

          我只會java,哈哈哈。所以面試官就問java了。jvm問的還挺深,什么tlb,逃逸分析,棧幀里面有什么,還好去年看過全都防出去了。


          3. 說下metaspace和permGen。

          本來信號就不好,還說英文,我聽了幾遍才知道問的是元空間和永久代。簡單說了下。


          4. 元空間中創(chuàng)建對象會不會開辟物理地址內(nèi)存

          這tm問的是什么?我題目都不太懂orz


          5. system.gc()一定會觸發(fā)gc嗎?和full gc有什么關(guān)系?

          不一定。該題回答的比較樸素。

          哈哈。java就這么結(jié)束了


          6. redis的aof文件過大怎么處理,怎么解決,開啟aof的方式有幾種?了解rewrite命令嗎?

          由于不了解這一塊兒,幾乎團滅了。redis還算是我的強項,結(jié)果居然敗的這么慘


          7. kafka。。。

          回答沒用過(其實用過,但是好多年前的事情了,所以就直接說沒用過,簡歷上只寫了rocketmq。)


          8. 用過什么mq,說一下rocketmq的消費方式,什么是死信隊列

          只用過rocketmq。集群和廣播,面試官問只有這兩種嗎,我說是啊。然后大家一陣尷尬。死信隊列簡單講下就結(jié)束了。


          9. 說一下exchange。。

          回答說我沒用rabbitmq(其實我用過)。面試官原來前面聽錯了,以為我用過的是rabbitmq,吐槽說難怪消費方式回答只有兩種。


          10. ack機制,offset何時位移,broker復(fù)制原理

          作為mq白癡,基本回答的都是淺嘗即止。其實我activemq,rabbitmq,rocket,kafka都用過(畢竟跳槽多)。但是mq確實是我的弱項,唉,這一塊兒面的我直接心態(tài)崩了,當(dāng)時心想要掛要掛。


          11. mysql索引優(yōu)化沒有走對是什么原因

          終于又問我擅長的了。說了下優(yōu)化器的策略,面試官說不是想問這個,就問我explain,然后我就把explain的字段都說了一遍,面試官說還是理解錯了。然后說算了這題跳過,有點小尷尬


          12. explain語句會執(zhí)行sql嗎

          不會,優(yōu)化器就結(jié)束了。所以rows會有誤差。


          13. mysql兩段提交

          說了下binlog和redolg以及分組。說實話,問題直接就說兩段提交,不熟悉的人可能都不知道問的是啥啊


          14. 說下undolog,是不是只有rollback才會觸發(fā)undolog

          基于回滾保證原子性。由于innodb的鎖是鎖住索引,所以更新主鍵之類的的時候,原數(shù)據(jù)也會保留,所以更新后微commit前一條數(shù)據(jù)會變兩條。在commit的時候會回滾掉原數(shù)據(jù),這個場景有點繞,但是我覺得我應(yīng)該沒回答錯。


          15. 算法 

          字符串?dāng)?shù)組中的字符能否拼接成為某個字符。當(dāng)時心態(tài)比較崩。所以這題雖然不難,但是最后沒寫出來沒走通用例orz。

           

          小結(jié)


          面完心態(tài)崩了,除了mysql,其他回答的都一般,算法也沒做出來。面試官看我臉色不好,還揮手讓我后面加油。當(dāng)時是真的以為自己掛了。沒想到最后有三面,這里感謝下二面面試官,哈哈哈。


          三 面


          三面面試官是個大佬,頭禿的嚴重,全程都挺忙的樣子,有點心不在焉,大多都是聊天,問了下三份工作公司都是干啥的,自己做了什么項目。


          聊天10分鐘,技術(shù)10分鐘,算法5分鐘。

           

          1. java創(chuàng)建一個網(wǎng)絡(luò)io流。會有什么操作,基于java底層或者網(wǎng)絡(luò)或者操作系統(tǒng)說一下。

          這塊我java就簡單了下(因為據(jù)說字節(jié)哪怕面的是java,也很可能做go,所以感覺多少點語言之外的可能好一點)。主要還是說了操作系統(tǒng)和網(wǎng)絡(luò)。比如ringbuffer,dma,軟中斷硬中斷之類的。


          2. 零拷貝說一下

          就簡單說了下sendfile和mmap。此外提了句senfile比較類似于網(wǎng)絡(luò)中的對等概念,然后轉(zhuǎn)到了網(wǎng)絡(luò)


          3. 說一下ftp和http的區(qū)別

          不了解ftp,跳過


          4. 文件下載一般用什么協(xié)議,udp還是tcp

          udp用的多一點,兩個都可以。udp主要nat穿透的話打洞容易,這一題過。


          5. close wait和time wait有什么區(qū)別

          這兩個我回答的時候剛好說反了,哈哈哈


          6. 怎么保持長鏈接,為什么需要長鏈接

          keep-alive。不然每次鏈接都要創(chuàng)建fd,浪費資源開銷。


          7. 日志海量收集

          開始的時候沒聽懂問什么就說日志用kafka啊。最后他提示多臺機器,我就說mapreduce,簡單說了下mapreduce,就結(jié)束了。


          8. 你說的主要是離線處理,如何實現(xiàn)實時的呢

          流處理的話,flink,spark都沒用過,所以不強答了(我簡歷也沒寫我會大數(shù)據(jù)啊。怎么問這個orz)


          9. 算法 

          給出一串字符串,寫出選取三個字符組合出來的所有可能。這一題是唯一一題白板,不需要運行。(這題看到我就想用dfs加回朔,但是問了下面試官說固定只選三個,我就傻傻的決定寫三層for循環(huán),寫完后面試官看了一下說你就寫了三層循環(huán)啊,我說嗯)

           

          小結(jié)

          這一面問的感覺都有點莫名其妙,很多人看了我的面經(jīng)都吐槽問的都是些啥。最后就掛在這個算法上了。感覺自己傻了。內(nèi)推我的老哥說我面評就一句話,說我算法表達弱,我想想就明白了,大家寫算法的時候一定要想清楚,寧可寫出來是錯的,思路也要往最優(yōu)解走啊。唉,字節(jié)也是我第一次當(dāng)場寫算法,以為只要結(jié)果對就行了,結(jié)果吃了不了解套路的虧。


          總 結(jié)


          最后知道掛了還是很可惜,不僅已經(jīng)到第三面了,最重要的是明明是能做出來的,結(jié)果自己傻x了。唉,看來是和字節(jié)無緣(感覺對不起2面面試官)。


          不過字節(jié)的效率還是很高的。可惜了我刷了這么多算法,字節(jié)面完后我就再也沒有刷過一算法了。


          要說最大的問題,就是之前沒寫過算法,一旦不是原題,我就會很慌。其實當(dāng)時我的算法水平已經(jīng)夠應(yīng)付社招了。至少之后沒再刷過一題算法,以及其他公司算法難度和字節(jié)差不多的情況下,我都是基本快速擼完,還沒有哪個五分鐘不能過的。也算是字節(jié)讓我在算法上成了老油條吧233。

          來源:牛客網(wǎng)




          想進大廠的小伙伴請注意,
          大廠面試的套路很神秘,
          早做準備對大家更有利,
          埋頭刷題效率低,
          看看面經(jīng)會更有效率!

          小編準備了一份字節(jié)跳動面經(jīng)匯總集
          關(guān)注下方公眾號,
          回復(fù)關(guān)鍵詞【字節(jié)】就可以免費領(lǐng)取
          瀏覽 28
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  丁香五月激情视频 | 黄片操人 | 国产乱伦三级片 | 要色综合| 婷婷五月福利 |