字節(jié)三面過了!
時(shí)間:2021-08-18 10:19:15
手機(jī)看文章
掃描二維碼
隨時(shí)隨地手機(jī)看文章
[導(dǎo)讀]大家好,我是小林。昨晚收到個(gè)讀者的喜事,在秋招中,過了字節(jié)的三面,已經(jīng)穩(wěn)的了。我簡(jiǎn)單跟他聊了下,他說他在備戰(zhàn)的時(shí)候,他對(duì)于操作系統(tǒng)和計(jì)算機(jī)網(wǎng)絡(luò)的學(xué)習(xí),都深入的非常底層,不至于表面的理論知識(shí),所以他在面試的時(shí)候,就會(huì)讓面試官有很深刻的影響,屢試不爽。三面字節(jié)的面經(jīng)也整理好了,這次就...
大家好,我是小林。昨晚收到個(gè)讀者的喜事,在秋招中,過了字節(jié)的三面,已經(jīng)穩(wěn)的了。我簡(jiǎn)單跟他聊了下,他說他在備戰(zhàn)的時(shí)候,他對(duì)于操作系統(tǒng)和計(jì)算機(jī)網(wǎng)絡(luò)的學(xué)習(xí),都深入的非常底層,不至于表面的理論知識(shí),所以他在面試的時(shí)候,就會(huì)讓面試官有很深刻的影響,屢試不爽。三面字節(jié)的面經(jīng)也整理好了,這次就先分享下面經(jīng),等過幾天再分享學(xué)習(xí)路線和心得,大家期待下就好啦。
一面 1h5min
- 項(xiàng)目?緩存一致?為什么更新?本地是廣播消費(fèi)?消費(fèi)失敗怎么辦(重試,還不行就數(shù)據(jù)庫(kù)兜底重發(fā),然后人工干預(yù))?緩存預(yù)熱?緩存數(shù)據(jù)有多少?能存多少?
- 優(yōu)化:拆分服務(wù)后本地緩存分批存?不同服務(wù)對(duì)應(yīng)存不同本地緩存?消費(fèi)失敗可以不用兜底?
- mq的作用??jī)绲群头乐怪貜?fù)?消息丟失怎么解決?
- get、put、post區(qū)別?哪個(gè)是冪等的??冪等詳解?
- http不同版本區(qū)別?要說到QUIC的握手時(shí)機(jī)不同
- QUCI發(fā)送過程?(很底層,包括重復(fù)發(fā)送那一塊)
- 內(nèi)存淘汰策略?緩存數(shù)據(jù)過熱?數(shù)據(jù)結(jié)構(gòu)?
- 隔離級(jí)別怎么保證可重復(fù)讀?mvcc和間隙鎖
- 索引區(qū)別?innodb解決幻讀?
- hashmap線程不安全在哪里?1.8hash為什么高效?
- 鎖升級(jí)?很細(xì)?可重入鎖源碼(status?)?公平鎖非公平鎖源碼區(qū)別?對(duì)象頭結(jié)構(gòu)詳細(xì)?.
- synchronized 和lock區(qū)別?synchronized 怎么加鎖的底層?monitor對(duì)象??jī)蓚€(gè)隊(duì)列?非公平競(jìng)爭(zhēng)?
- volatile?MESI?為什么MESI還要volatile?(語(yǔ)言層面volatile,lock前綴?系統(tǒng)層面MESI,JMM模型映射,內(nèi)存屏障,總線風(fēng)暴?提一下MESI優(yōu)化的那兩個(gè)隊(duì)列所有要用內(nèi)存屏障進(jìn)一步保證)
- 算法說思路:整數(shù)數(shù)據(jù)取中位數(shù)(我說數(shù)據(jù)量不大就排序根據(jù)奇偶取中間??jī)?yōu)化可以排序到中間就判斷,不用全排序?騷操作可以放redis里?)沒有刁難我
二面 1h
- 項(xiàng)目陳述?
- 為什么canal?canal解耦,懶加載,自帶的順序發(fā)送?為什么保證更新順序這里不可以用mq消息版本?
- canal是單獨(dú)節(jié)點(diǎn)部署的么?
- 可不可以不用mq?各個(gè)本地節(jié)點(diǎn)都載入canal?k8s sidecar掛載?
- mq可靠性?從發(fā)送到持久化到廣播消費(fèi)(定時(shí)任務(wù)(第三方控制速率) 查庫(kù) ,優(yōu)化 延遲消息 這里可以argue)
- 本地緩存優(yōu)化?緩存預(yù)熱?為什么更新?最終一致?
- 重復(fù)消費(fèi)那里?順便說一嘴弱校驗(yàn)
- 算法:一個(gè)數(shù)組和一個(gè)K,數(shù)組A{1,1,1,0,0,1,1,0},K=2,能讓最多K個(gè)0變?yōu)?,問連續(xù)1最大是多少?滑動(dòng)窗口
- 多嘴說了OS偽共享,秀了一下os,說Java的并發(fā)框架有用字節(jié)填充來實(shí)現(xiàn)Cacheline填充總結(jié),項(xiàng)目這里漏說了分布式鎖,但是這些已經(jīng)說了四十分鐘了,最后就做題了
三面1h15min
- 有沒有別的offer?
- 成績(jī)?cè)趺礃樱繛槭裁床豢佳校?/span>
- 說下項(xiàng)目?
- 工作流怎么設(shè)計(jì)?原來是怎么樣的?提供外部系統(tǒng)是怎樣的??jī)?yōu)化業(yè)務(wù)嵌入數(shù)據(jù)是咋樣的?
- 緩存存什么?數(shù)據(jù)結(jié)構(gòu)是怎么樣的?緩存大小,大小優(yōu)化?怎么高可用?
- 緩存預(yù)熱是咋樣的?spring啟動(dòng)怎么保證的?數(shù)據(jù)啟動(dòng)前不會(huì)被寫入?
- 分布式鎖?原子性,過期時(shí)間,單點(diǎn),紅鎖,npc
- 進(jìn)程間通信?源碼分析?管道實(shí)現(xiàn)?
- mysql怎么回滾的?
- redo,undo,bufferpool,宕機(jī)時(shí)候的兩階段判斷
- 數(shù)據(jù)包發(fā)送,mac,arp,子網(wǎng),路由轉(zhuǎn)發(fā),ringbuffer,數(shù)據(jù)拷貝
- 線程交替輸出
- 多線程每秒1000次訪問,超過則false,沒超過返回true
- 反問:
- canal k8s部署sidecar的看法 說綜合考慮人力和業(yè)務(wù),沒有最好的方案





