2022-07-11 BUD元宇宙面试记录及复盘(还是要多复习下语言的细节)
還不知道面試結(jié)果
面試流程
倒是沒讓做算法題
語言層面
map是并發(fā)安全的嗎
那肯定不是,map在寫的過程中會檢查標(biāo)志位,如果有其他協(xié)程在寫,會直接panic。日常開發(fā)過程中也經(jīng)常看到這個panic。
map可以在遍歷的時候刪除嗎
答:不可以,會遇到并發(fā)讀寫的panic
問:那如果是單協(xié)程呢?(問的有點(diǎn)東西,我楞了一下)
答:那應(yīng)該可以(我不太確定,確實(shí)有點(diǎn)記不清了,實(shí)際上是可以的,但是從防御式編程的角度講,不管語言支不支持這樣做都不太好)
問: map刪除key之后會理解清空,刪除這塊占用的內(nèi)存嗎?
答: 不會,會先寫標(biāo)志位,后續(xù)再進(jìn)行刪除。刪除時會檢查當(dāng)前是否符合縮容的閾值,達(dá)到閾值進(jìn)行縮容(可以,有點(diǎn)深度,問的我一愣一愣的,仔細(xì)回想了下相關(guān)知識點(diǎn),但其實(shí)說的不完全對)
關(guān)于刪除流程的官方答案:
channel的底層結(jié)構(gòu)
我傻了,一點(diǎn)印象都沒,所以換了一個問題
GMP調(diào)度模型了解吧,有緩沖的channel滿了之后,GMP現(xiàn)在是一個什么樣的狀態(tài)
答:這要分兩個場景來看,讀和寫,讀沒啥好說的,一直在消費(fèi)。寫的話因?yàn)榫彌_區(qū)滿了,會寫不進(jìn)去,這時候?qū)憛f(xié)程g會堵塞,因?yàn)檫@類阻塞不是系統(tǒng)調(diào)用(我不太確定)。所以對應(yīng)的m實(shí)際上不會阻塞,m可以去處理其他事情,例如幫忙消費(fèi)隊(duì)列信息,等隊(duì)列有空位之后,再對這個g進(jìn)行喚醒
答的時候我是有點(diǎn)懵的,gmp我還能掰扯兩句,但是綁了一個實(shí)際案例,我心里就有點(diǎn)打鼓,我感覺我說的基本沒錯,就是阻塞時候是不是系統(tǒng)調(diào)用不太確定,后面查了一下,應(yīng)該是這樣的:滿了之后會再次構(gòu)建一個g,把g加到待發(fā)送隊(duì)列,直接就掛起等待喚醒。感覺跟我說的差不多。
寫在最后
后面就是項(xiàng)目經(jīng)歷了,就不說了。這么一復(fù)盤下來感覺還行?但是中間有一次換問題的操作,最終結(jié)果還是不太確定。
西巴
總結(jié)
以上是生活随笔為你收集整理的2022-07-11 BUD元宇宙面试记录及复盘(还是要多复习下语言的细节)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 短视频发展高峰论坛召开 爱奇艺号开放打通
- 下一篇: 第一次的结对编程