一些找實(shí)習(xí)的go股文

  • 1.鎖相關(guān)
    核心是利用了atomic包,由操作系統(tǒng)和硬件支持廷蓉。
    • 互斥鎖 sync.Mutex
      1.直接獲取鎖,返回
      2.自旋和喚醒(cas算法,非阻塞同步)
      3.判斷各種狀態(tài)脖卖,特殊情況處理
      Mutex 實(shí)現(xiàn)中有兩種模式,1:正常模式鹦赎,2:饑餓模式甚脉,前者指的是當(dāng)一個(gè)協(xié)程獲取到鎖時(shí),后面的協(xié)程會(huì)排隊(duì) (FIFO), 釋放鎖時(shí)會(huì)喚醒最早排隊(duì)的協(xié)程勉盅,這個(gè)協(xié)程會(huì)和正在 CPU 上運(yùn)行的協(xié)程競(jìng)爭(zhēng)鎖佑颇,但是大概率會(huì)失敗,為什么呢草娜?因?yàn)槟闶莿偙粏拘训奶粜兀€沒有獲得 CPU 的使用權(quán),而 CPU 正在執(zhí)行的協(xié)程肯定比你有優(yōu)勢(shì)宰闰,如果這個(gè)被喚醒的協(xié)程競(jìng)爭(zhēng)失敗茬贵,并且超過了 1ms,那么就會(huì)退回到后者 (饑餓模式)移袍,這種模式下解藻,該協(xié)程在下次獲取鎖時(shí)直接得到,不存在競(jìng)爭(zhēng)關(guān)系葡盗,本質(zhì)是為了防止協(xié)程等待鎖的時(shí)間太長(zhǎng)螟左。

    • 讀寫鎖 sync.RWMutex
      RWMutex.readerCount是個(gè)整型值,用于表示讀者數(shù)量,int32類型胶背,最大值為30(寫在源碼里)

    • 其他:
      使用 - race 在運(yùn)行時(shí)檢測(cè)數(shù)據(jù)競(jìng)爭(zhēng)問題虫啥,go test -race ....,go build -race ....
      使用 go-deadlock 檢測(cè)死鎖奄妨,和指定鎖超時(shí)的等待問題
      能用 channel 就不用 lock

  • 2.介紹一下線程安全的共享內(nèi)存方式
    • sync.Mutex
    • sync.WaitGroup
    • channel
  • 3.介紹一下goroutine
    Go協(xié)程介紹
  • 4.goroutine的自旋占用資源如何解決,gmp
    自旋鎖是指當(dāng)一個(gè)線程在獲取鎖的時(shí)候涂籽,如果鎖已經(jīng)被其他線程獲取,那么該線程將循環(huán)等待砸抛,然后不斷地判斷是否能夠被成功獲取评雌,知直到獲取到鎖才會(huì)退出循環(huán)。對(duì)于互斥鎖直焙,如果資源已經(jīng)被占用景东,資源申請(qǐng)者只能進(jìn)入睡眠狀態(tài)。但是自旋鎖不會(huì)引起調(diào)用者睡眠奔誓,如果自旋鎖已經(jīng)被別的執(zhí)行單元保持斤吐,調(diào)用者就一直循環(huán)在那里看是否該自旋鎖的保持者已經(jīng)釋放了鎖。
    5.介紹Linux系統(tǒng)信號(hào)
    6.goroutine搶占時(shí)機(jī),gc棧掃描
    7.Gc觸發(fā)時(shí)機(jī)
    8.是否了解其他gc機(jī)制
    9.內(nèi)存管理方式
    10.Channel分配在堆上還是在棧上厨喂?哪些對(duì)象分配在堆上和措?哪些對(duì)象分配在棧上?
    11.代碼效率分析蜕煌,考慮局部性原理
    12.多核CPU下派阱,cache如何保持一致,不沖突
    13.uint類型溢出
    14.聊聊rune類型
    15.介紹一下channel斜纪,有緩沖和無緩沖的區(qū)別
    16.channel是否線程安全
    17.介紹一下Mutex的實(shí)現(xiàn),是悲觀鎖還是樂觀鎖
    18.Mutex幾種模式?
    19.Muxtez可以做自旋鎖?
    20.介紹一下RWMutex
    21.介紹一下大對(duì)象和小對(duì)象贫母,為什么小對(duì)象多了會(huì)造成gc壓力?
    22.介紹項(xiàng)目中遇到的oop情況
    23.介紹項(xiàng)目中遇到的坑
    24.如果指定指令執(zhí)行的順序
    25.什么是寫屏障盒刚、混合寫屏障腺劣,如何實(shí)現(xiàn)?
    26.gc的stw是怎么回事
    27.協(xié)程之間是怎么調(diào)度的
    28.簡(jiǎn)單聊聊內(nèi)存逃逸
    29.為sync.WaitGroup中Wait函數(shù)支持 WaitTimeout 功能.
    30.字符串轉(zhuǎn)成byte數(shù)組因块,會(huì)發(fā)生內(nèi)存拷貝嗎橘原?
    31.http包的內(nèi)存泄漏
    32.Goroutine調(diào)度策略
    33.對(duì)已經(jīng)關(guān)閉的的chan進(jìn)行讀寫,會(huì)怎么樣贮聂?為什么靠柑?
    34.實(shí)現(xiàn)阻塞讀的并發(fā)安全Map
    35.什么是goroutine leak寨辩?
    36.data race問題怎么解決吓懈?能不能不加鎖解決這個(gè)問題?
    37.epoll原理
    38.etcd怎么實(shí)現(xiàn)分布式鎖?
    39.滑動(dòng)窗口的概念以及應(yīng)用?
    40.grpc內(nèi)部原理是什么靡狞?
    41.http2的特點(diǎn)是什么,與http1.1的對(duì)比耻警。
    42.time.Now有幾次系統(tǒng)調(diào)用?如何優(yōu)化
    43.空struct{}是否使用過?會(huì)在什么情況下使用甘穿,舉例說明一下腮恩。
    44.聊聊runtime
    45.介紹下你平時(shí)都是怎么調(diào)試bug以及性能問題的?
    46.通過通信來共享內(nèi)存,而不是通過共享內(nèi)存而通信温兼,怎么理解這句話秸滴,如何處理共享變量?
    47.chan比mutex更輕么募判?還有更輕量的方法么荡含?
    48.什么時(shí)候用chan不如mutex效率高?

參考:https://learnku.com/articles/39577

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末届垫,一起剝皮案震驚了整個(gè)濱河市释液,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌装处,老刑警劉巖误债,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異妄迁,居然都是意外死亡寝蹈,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門登淘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來躺盛,“玉大人,你說我怎么就攤上這事形帮〔郾梗” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵辩撑,是天一觀的道長(zhǎng)界斜。 經(jīng)常有香客問我,道長(zhǎng)合冀,這世上最難降的妖魔是什么各薇? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮君躺,結(jié)果婚禮上峭判,老公的妹妹穿的比我還像新娘。我一直安慰自己棕叫,他們只是感情好林螃,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著俺泣,像睡著了一般疗认。 火紅的嫁衣襯著肌膚如雪完残。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天横漏,我揣著相機(jī)與錄音谨设,去河邊找鬼。 笑死缎浇,一個(gè)胖子當(dāng)著我的面吹牛扎拣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播素跺,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼鹏秋,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了亡笑?” 一聲冷哼從身側(cè)響起侣夷,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎仑乌,沒想到半個(gè)月后百拓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡晰甚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年衙传,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片厕九。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蓖捶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出扁远,到底是詐尸還是另有隱情俊鱼,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布畅买,位于F島的核電站并闲,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏谷羞。R本人自食惡果不足惜帝火,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望湃缎。 院中可真熱鬧犀填,春花似錦、人聲如沸嗓违。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽靠瞎。三九已至比庄,卻和暖如春求妹,著一層夾襖步出監(jiān)牢的瞬間乏盐,已是汗流浹背佳窑。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留父能,地道東北人神凑。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像何吝,于是被迫代替她去往敵國(guó)和親溉委。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • https://draveness.me/golang/[https://draveness.me/golang/...
    shuff1e閱讀 503評(píng)論 0 0
  • golang go和php的區(qū)別類型:go為編譯性語言爱榕;php解釋性語言錯(cuò)誤:go的錯(cuò)誤處理機(jī)制瓣喊;php本身或者框...
    Impossible安徒生閱讀 402評(píng)論 0 0
  • 1、select是隨機(jī)的還是順序的黔酥?select的使用場(chǎng)景藻三? select會(huì)隨機(jī)選擇一個(gè)可用通道做收發(fā)操作.常用語...
    voidFan閱讀 931評(píng)論 0 6
  • 參考連接: https://www.cnblogs.com/xumaojun/p/8547439.html htt...
    坤_7a1e閱讀 3,110評(píng)論 0 6
  • 目錄 統(tǒng)一規(guī)范篇 命名篇 開發(fā)篇 優(yōu)化篇 統(tǒng)一規(guī)范篇 本篇主要描述了公司內(nèi)部同事都必須遵守的一些開發(fā)規(guī)矩,如統(tǒng)一開...
    零一間閱讀 1,916評(píng)論 0 2