字節(jié)三面過(guò)了!
昨晚收到個(gè)讀者的喜事,在秋招中,過(guò)了字節(jié)的三面,已經(jīng)穩(wěn)的了。

一面 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ū)別?要說(shuō)到QUIC的握手時(shí)機(jī)不同
QUCI發(fā)送過(guò)程?(很底層,包括重復(fù)發(fā)送那一塊)
內(nèi)存淘汰策略?緩存數(shù)據(jù)過(guò)熱?數(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)一步保證)
算法說(shuō)思路:整數(shù)數(shù)據(jù)取中位數(shù)(我說(shuō)數(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)那里?順便說(shuō)一嘴弱校驗(yàn)
算法:一個(gè)數(shù)組和一個(gè)K,數(shù)組A{1,1,1,0,0,1,1,0},K=2,能讓最多K個(gè)0變?yōu)?,問(wèn)連續(xù)1最大是多少?滑動(dòng)窗口
多嘴說(shuō)了OS偽共享,秀了一下os,說(shuō)Java的并發(fā)框架有用字節(jié)填充來(lái)實(shí)現(xiàn)Cacheline填充
總結(jié),項(xiàng)目這里漏說(shuō)了分布式鎖,但是這些已經(jīng)說(shuō)了四十分鐘了,最后就做題了
三面1h15min
有沒有別的offer?
成績(jī)?cè)趺礃??為什么不考研?/span>
說(shuō)下項(xiàng)目?
工作流怎么設(shè)計(jì)?原來(lái)是怎么樣的?提供外部系統(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ì)被寫入?
分布式鎖?原子性,過(guò)期時(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次訪問(wèn),超過(guò)則false,沒超過(guò)返回true
反問(wèn):
canal k8s部署sidecar的看法 說(shuō)綜合考慮人力和業(yè)務(wù),沒有最好的方案
你好,我是公子龍,畢業(yè)于中科院,前大型計(jì)算機(jī)競(jìng)賽冠軍,現(xiàn)算法工程師,拿過(guò)九家大廠的 offer 。
北漂七年,從小白到計(jì)算機(jī)競(jìng)賽冠軍,讀研時(shí)通過(guò)實(shí)習(xí)和比賽收入 50 萬(wàn),點(diǎn)擊藍(lán)字查看我的編程之路。

