百度網(wǎng)盤 golang實(shí)習(xí)面經(jīng)
全程50min無算法
1. 自我介紹
2. 實(shí)習(xí)內(nèi)容拷打(實(shí)習(xí)時(shí)候負(fù)責(zé)的系統(tǒng)架構(gòu),qps,pv,穩(wěn)定性,性能優(yōu)化和線上事故處理)
3. goroutine內(nèi)存泄漏的情況?如何避免
4. 講一下協(xié)程和線程的區(qū)別?從多個(gè)角度說明,講一下golang協(xié)程是如何調(diào)度的,和java線程的區(qū)別
5. slice和array的區(qū)別,講一下底層的結(jié)構(gòu)
6. channel的用途和使用上要注意的點(diǎn),底層的結(jié)構(gòu)是怎樣的
7. orm框架的優(yōu)缺點(diǎn)
8. 操作系統(tǒng)內(nèi)核態(tài)和用戶態(tài)的區(qū)別,何時(shí)進(jìn)入內(nèi)核態(tài)or用戶態(tài)
9. tcp和udp的區(qū)別,他們的報(bào)頭結(jié)構(gòu),tcp的三次握手和四次握手的中間狀態(tài)有哪些
10. https中的TLS/SSL層是用來干什么的,講一下根證書和證書鏈和https握手的流程
11. 常見的攻擊手法有哪些,講一下中間人攻擊和跨域攻擊的原理,跨域攻擊主要是利用了瀏覽器的什么機(jī)制
總結(jié):從某個(gè)需求開始不斷地深挖直到答不上來,面試官水平在線
11.25更新:已掛
1. 自我介紹
2. 實(shí)習(xí)內(nèi)容拷打(實(shí)習(xí)時(shí)候負(fù)責(zé)的系統(tǒng)架構(gòu),qps,pv,穩(wěn)定性,性能優(yōu)化和線上事故處理)
3. goroutine內(nèi)存泄漏的情況?如何避免
4. 講一下協(xié)程和線程的區(qū)別?從多個(gè)角度說明,講一下golang協(xié)程是如何調(diào)度的,和java線程的區(qū)別
5. slice和array的區(qū)別,講一下底層的結(jié)構(gòu)
6. channel的用途和使用上要注意的點(diǎn),底層的結(jié)構(gòu)是怎樣的
7. orm框架的優(yōu)缺點(diǎn)
8. 操作系統(tǒng)內(nèi)核態(tài)和用戶態(tài)的區(qū)別,何時(shí)進(jìn)入內(nèi)核態(tài)or用戶態(tài)
9. tcp和udp的區(qū)別,他們的報(bào)頭結(jié)構(gòu),tcp的三次握手和四次握手的中間狀態(tài)有哪些
10. https中的TLS/SSL層是用來干什么的,講一下根證書和證書鏈和https握手的流程
11. 常見的攻擊手法有哪些,講一下中間人攻擊和跨域攻擊的原理,跨域攻擊主要是利用了瀏覽器的什么機(jī)制
總結(jié):從某個(gè)需求開始不斷地深挖直到答不上來,面試官水平在線
11.25更新:已掛
全部評論

題解:
goroutine內(nèi)存泄漏的情況?如何避免
goroutine內(nèi)存泄漏基本上是因?yàn)楫惓?dǎo)致阻塞, 可以導(dǎo)致阻塞的情況
1 死鎖, goroutine 等待的鎖發(fā)生了死鎖情況
2 chan沒有正常被關(guān)閉,導(dǎo)致讀取讀chan的goroutine阻塞
如何避免
1 避免死鎖
2 正常關(guān)閉
3 使用context管理goroutine, 超時(shí)結(jié)束goroutine
協(xié)程和線程的區(qū)別
主要的區(qū)別在于協(xié)程是用戶級(jí)的并非單位, 不需要進(jìn)入到內(nèi)核態(tài)處理. 所以協(xié)程更加輕量級(jí), 不占用內(nèi)核資源.
slice和array的區(qū)別,講一下底層的結(jié)構(gòu)
array本質(zhì)是一個(gè)固定數(shù)組, 內(nèi)存層面就是一塊固定的內(nèi)存區(qū)域,不會(huì)改變, 傳遞的時(shí)候是拷貝一份完整數(shù)據(jù).
slice本質(zhì)上是一個(gè)動(dòng)態(tài)數(shù)組的封裝,底層指向不是一個(gè)固定內(nèi)存,可以重新指向新的內(nèi)存,傳遞的時(shí)候底層指向相同的內(nèi)存.
channel的用途和使用上要注意的點(diǎn),底層的結(jié)構(gòu)是怎樣的
channel是golang中協(xié)程之間的數(shù)據(jù)交互的重要工具,相當(dāng)于與進(jìn)程內(nèi)的一個(gè)消息隊(duì)列.
注意點(diǎn): 最重要的是chan的close處理, 不然很容易出現(xiàn)異常, 1寫數(shù)據(jù)goroutine中調(diào)用close, 2不要多次調(diào)用close, 3使用信號(hào)通知chan close了
底層結(jié)構(gòu): 環(huán)形隊(duì)列(緩存數(shù)據(jù), 無緩存的時(shí)候用不上), 讀goroutine 隊(duì)列(鏈表), 寫goroutine 隊(duì)列(鏈表), 鎖
orm框架的優(yōu)缺點(diǎn)
orm封裝了對數(shù)據(jù)庫的操作,并且自動(dòng)轉(zhuǎn)換內(nèi)存數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫字段, 優(yōu)點(diǎn)是方便,開發(fā)效率高, 缺點(diǎn)是有些場景性能低, 復(fù)雜對像轉(zhuǎn)換處理起來不方便.
操作系統(tǒng)內(nèi)核態(tài)和用戶態(tài)的區(qū)別,何時(shí)進(jìn)入內(nèi)核態(tài)or用戶態(tài)
內(nèi)核態(tài): 高權(quán)限,執(zhí)行系統(tǒng)操作,操作資源,調(diào)度管理等等
用戶態(tài): 低權(quán)限,執(zhí)行用戶程序操作
進(jìn)入內(nèi)核態(tài): 中斷(系統(tǒng)調(diào)用, 時(shí)間片到期等)
進(jìn)入用戶態(tài): 內(nèi)核態(tài)處理完成,調(diào)度用戶線程處理程序
tcp和udp的區(qū)別,他們的報(bào)頭結(jié)構(gòu),tcp的三次握手和四次握手的中間狀態(tài)有哪些
tcp: 可靠(數(shù)據(jù)順序接收, 數(shù)據(jù)不丟, 數(shù)據(jù)不重復(fù)), 面向連接, 字節(jié)流(需要), 性能低
udp: 不可靠, 數(shù)據(jù)包, 性能高
三次握手/四次揮手 11種狀態(tài)
佬現(xiàn)在收了哪些了
面試官好專業(yè)
為啥會(huì)掛,答對了多少
mark
佬現(xiàn)在收了哪些了
接好運(yùn)
使用的mallchat作為主項(xiàng)目么
??了

佬現(xiàn)在收了哪些了
鏈輪和鏈條之間的傳動(dòng)比是怎么計(jì)算的呢?你知道不同齒輪組合對騎行速度的影響嗎?

怎么問的這么深
orz
能給個(gè)timeline嗎
相關(guān)推薦