【面經(jīng)】字節(jié)豆包 后端開發(fā) ByteIntern
時(shí)間線:
- 24.11 投遞字節(jié)某部門,但是沒有進(jìn)行面試
- 25.1.8 被豆包撈簡歷,加 HR 聯(lián)系方式,選擇 base
- 25.1.20 確定一面時(shí)間
- 25.2.17 技術(shù)一面 當(dāng)天過
- 25.2.20 技術(shù)二面 催了幾次HR 26號通知約三面
- 25.3.3 技術(shù)三面 然后不推進(jìn)了 非常可惜
2.17 豆包上海一面 50min
面試官問的很深,問到不會為止,感覺在挖掘面試者的基礎(chǔ)知識儲備和思考能力。
不問別的,瘋狂拷打線程池和 MySQL
八股
線程池
- 線程池有什么作用?
- 講解一下線程池對于線程可復(fù)用的理解
- 線程創(chuàng)建和銷毀的開銷會消耗計(jì)算機(jī)的什么資源?
- 如果你來設(shè)計(jì)線程池,你會如何設(shè)計(jì)其數(shù)據(jù)結(jié)構(gòu)?
- 核心線程是2,最大線程是5,提交了3個(gè)長時(shí)間任務(wù)是怎么執(zhí)行的?
- 如果是使用線程達(dá)到最大線程數(shù)之后,任務(wù)才進(jìn)入阻塞隊(duì)列里面,這樣設(shè)計(jì)和正常的線程池有什么優(yōu)劣?適合什么業(yè)務(wù)場景
MySQL
- 聯(lián)合索引場景題:給一個(gè)聯(lián)合索引,問三條SQL語句哪一個(gè)走了索引
- 主鍵回填場景題:三條SELECT 語句誰執(zhí)行效率最高,誰最差
算法
求出一個(gè)正整數(shù) x 的平方根,需要精確到小數(shù)點(diǎn)后 n 位。(二分查找)
反問
- 面試表現(xiàn)?說了一堆車轱轆話說考驗(yàn)基礎(chǔ)和思考能力,基礎(chǔ)還行,不知道廣度如何
- 業(yè)務(wù)?字節(jié)豆包后端在北京和上海有兩個(gè)團(tuán)隊(duì),北京團(tuán)隊(duì)負(fù)責(zé)中臺,靠底層,比較靠近可復(fù)用的組件;上海團(tuán)隊(duì)負(fù)責(zé)上層各種業(yè)務(wù)功能以及安全管理等。
其中關(guān)于聯(lián)合索引有個(gè)刁鉆的問題
假設(shè)有聯(lián)合索引 (a, b, c) ,如果整張表字段 a 所有內(nèi)容相同,那么直接從 b 開始查會走索引嗎?
2.20 豆包上海二面 60min
項(xiàng)目
嚇?biāo)牢伊?,差點(diǎn)把我實(shí)習(xí)經(jīng)歷問穿了。。
算法
和為 0 的子數(shù)組(力扣 hot100 里有和為 k 的子數(shù)組)
先講思路,然后寫代碼寫了一堆 bug,面試官后面直接指出來不讓我繼續(xù)調(diào)試了
反問
- 建議?都挺好的,就是剛才寫代碼有點(diǎn)……慢?
3.3 豆包上海三面 65min
算法 45min
數(shù)組中最大的第K個(gè)元素;下午剛做過,立刻回答堆排序
- 為什么要用最大堆?最小堆為什么不行?
- 描述下建堆過程?
好的,我們來擴(kuò)展一下:
- 不用建堆方法,空間復(fù)雜度O(1) ,時(shí)間復(fù)雜度盡量小,還有別的思路嗎? 一開始我答桶排,他說還有嗎?最后提示了我快排
然后直接開始按這種思路手撕代碼。邊界條件太搞了……
基礎(chǔ)
- 我們面試過程中,用到了哪些計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議?用 UDP 不用 TCP 的各種因素?各種深入拷打
- 給你的奶奶講述一下關(guān)系型數(shù)據(jù)庫是什么