一份 Go 面經(jīng):答案期待一起完善
算法題
1、給定一個(gè)無序、無重復(fù)元素的整數(shù)數(shù)組和一個(gè)目標(biāo)值,如果數(shù)組中有兩個(gè)數(shù)之差等于目標(biāo)值,就輸出這兩個(gè)數(shù)。請(qǐng)找到所有這樣的整數(shù)對(duì),且時(shí)間復(fù)雜度盡可能小∶
示例輸入∶
array=[1,9,3,8,7,6,5,-9],t=5;
示例輸出∶
result=[[6,1], [8,3]]
2、字符串原地壓縮
壓縮函數(shù)
void compress(char[] str)
示例輸入∶ str= [“a”,”a”,”b”,”b”,”c”,”c”,”c”]
示例輸出∶ 無,str 此時(shí)變?yōu)閇“a”,”2”,”b”,”2”,”c”,”3”]
3、 給定一組數(shù)據(jù),求 W 樹的樹根值
注 1∶W樹是一種葉子節(jié)點(diǎn)為整型數(shù)據(jù),其余節(jié)點(diǎn)為子節(jié)點(diǎn)的加權(quán)乘法值的一類完全二叉樹,子節(jié)點(diǎn)為空可視為此處數(shù)值為 0,如下圖所示。
注2∶加權(quán)乘法具體為∶parent= 2 *left+3 *right。

輸入∶ 葉子節(jié)點(diǎn)數(shù)據(jù),用數(shù)組 int[]data 表示;
輸出∶W樹的樹根值 int root 。
示例輸入∶ data=[2,3,1]
示例輸出∶root=32
20分鐘,寫兩道
區(qū)塊鏈
1、對(duì)區(qū)塊鏈了解多少啊,共識(shí)知道嗎
pow 工作量證明 pos 股權(quán)證明 dpos 委托權(quán)益證明法
2、說說pos
由系統(tǒng)權(quán)益代替算力來決定區(qū)塊記賬權(quán),擁有的權(quán)益越大獲得記賬權(quán)的概率就越大
Go
1、覺得go那兒設(shè)計(jì)的比較好
2、channel
有緩沖,無緩沖 數(shù)據(jù)結(jié)構(gòu)
3、mutex
兩種工作模式 饑餓模式 正常模式
4、map
為什么線程不安全 增刪改會(huì)觸發(fā)標(biāo)志位,導(dǎo)致panic 怎么實(shí)現(xiàn)高并發(fā)map 只說了使用RWmutex
5、slice
slice如何擴(kuò)容 小于1024,復(fù)制2倍 大于1024,內(nèi)存對(duì)齊,大于1.25倍或2倍
推薦閱讀
評(píng)論
圖片
表情
