新聞中心
沒有假如,我就是一個Golang面試官,來自百度。同時我到百度之前也面過頭條,騰訊,小米,高德的golang,基本都過了。我回答應(yīng)該還是比較有說服力。

成都服務(wù)器托管,創(chuàng)新互聯(lián)提供包括服務(wù)器租用、成都西云數(shù)據(jù)中心、帶寬租用、云主機、機柜租用、主機租用托管、CDN網(wǎng)站加速、空間域名等業(yè)務(wù)的一體化完整服務(wù)。電話咨詢:13518219792
事實上,golang的問題只占我面試問題的20%左右。問東西的順序不一定是下面的順序,有的時候我會根據(jù)簡歷選擇二分法難度來問,直接問一個難度適中的問題。說上來就繼續(xù)二分法篩。下面是我問過的問題。
Go 技能考察
1.make和new差別,引用類型的意義
2.逃逸分析
3.channel的實現(xiàn)
4.gmp與gc,重點問題(網(wǎng)絡(luò)io等待隊列,讀寫屏障)
5.map的實現(xiàn),重點問題(sync.map的實現(xiàn),map實現(xiàn)隨機的方法)
期間會根據(jù)實際情況,從這幾個題發(fā)散問一些細節(jié),但是難度不會太難了。因為我面的是p6級別的,問源碼有點欺負人了。另外會問一個開發(fā)性問題,你寫go遇到的坑點。從這里也可以發(fā)散問一些,但是不會問太多了。這幾個問題在10分鐘之內(nèi)肯定要問完的。我的面試范圍和我之前遇到過的面試基本都在 https://draveness.me/golang/ ,這個教程還是非常不錯的。
PS:除了網(wǎng)頁版 https://draveness.me/golang/ 的作者還出了紙質(zhì)書,全書彩印,裝訂也十分精美,喜歡讀紙質(zhì)書的可以考慮入手。
這些問題不一定都要答上來,我是綜合考察的,我寫這幾個題目也不是讓大家去背這幾個題的,只是想告訴大家面試的難度一般如何,順便說幾個經(jīng)典題目。另外我主要關(guān)注的問題其實主要是mysql,redis,mq,算法,分布式。有人看的話,我就補充一下。
MySQL 考察
先聲明一下,我說的面試題都是個人向的,其實大家要面哪家公司的時候,搜那家公司的面試題用處其實不大,因為面試官并沒有說題庫,或者統(tǒng)一標(biāo)準(zhǔn)的說法。如果我去了其他家公司當(dāng)面試官我一樣也會這么問(注意是提問方式和難度,題目我會換的)。而你碰到百度其他面試官,也很可能不會按我這么問。另外,因為我面的校招到10年的都有,所以具體問法也會靈活調(diào)整。說到校招,這次大校招我也被安排當(dāng)面試官了,校招的朋友也可以關(guān)注一下,如果能答出來,那就驚喜級別
補充一下我對mysql的考察方式。
1.八股,為什么用b+樹不用b樹
以第一題為分界線,答出來了問下面的
2.說說對mvcc的理解
3.幻讀是怎么解決的
4.redo,undo的作用和實現(xiàn)
5.事務(wù)的實現(xiàn)
答不出第一題就問,下面就是純八股了
2.索引怎么建
3.聯(lián)合索引最左前綴
4.聚簇索引與回表
如果覺得前半部分回答得不行,就會轉(zhuǎn)問后半部分的簡單題。和上面一樣,我問的問題和我遇見過的問題,基本都在《 MySQL技術(shù)內(nèi)幕 :InnoDB存儲引擎》姜承堯老師的書里面。
Redis 考察
redis的東西雖然不多,但是也是必問的。
?1.底層數(shù)據(jù)結(jié)構(gòu)實現(xiàn),重點問題如:壓縮列表
2.aof與rdb,重點問題如:aof重寫機制
3.為什么用跳表
4.分布式鎖與redlock
5.三種分布式的結(jié)構(gòu)
6.大KEY?
基本上說明白一半就行了,和上面一樣,我問的問題和我遇見過的問題,大部分都在《Redis設(shè)計與實現(xiàn)》里面。因為redis的問題都不算難,如果全答上來了,我可能會問一個:在擴容rehash的時候scan掃集合,會不會掃到重復(fù)的數(shù)據(jù)。
9月9日 補充mq+es+分布式
那就補一下剩下的常問問題吧,mq主要是kafka。下面基本上工作3年之內(nèi)不怎么問,3年以上的說上1/3到1/2就通過。
?1.kafka的零拷貝和順序io 零拷貝最好說說細節(jié),其實就是用戶空間和內(nèi)核空間mmap
2.kafka的分片,分片的讀一致性(水位和活躍組?忘了叫什么了)和寫一致性怎么保證
3.es的倒排索引,和分片的查詢召回
4.分布式鎖,redis redlock etcd
5.分布式事務(wù) 2pc 3pc tcc
6.分布式共識協(xié)議 raft和paxos
7.分布式數(shù)據(jù)庫 CAP BASE的概念 etcd tidb的了解?
額外的問題,只有簡歷寫了我才會問
1.k8s的應(yīng)用和架構(gòu)(k8s其實我也沒深入研究,隨便)
2.監(jiān)控prometheus,比如里面時序數(shù)據(jù)庫TSDB
3.微服務(wù)架構(gòu)的內(nèi)容,比如服務(wù)發(fā)現(xiàn)和鏈路追蹤的工具
4.校招的話問問tcp
5.其他我感興趣的東西
6.算法題必問,一般先選一個中等偏難的,難度參見周賽第三題。要是很順暢就加一個第四題難度(困難),做不出來就換一個第二題難度(中等偏簡單)。
7.架構(gòu)設(shè)計,因為我只是一面,這種問題一般留給二面問。不過我給的建議是,mysql分表,redis緩存,kafka削峰這三板斧
最后
寫在最后,其實我的標(biāo)準(zhǔn)只有一個,我的所有提問也是圍繞這一標(biāo)準(zhǔn)來的,就是讓我感受到你對技術(shù)的熱情,對技術(shù)路線有清晰規(guī)劃,并且正在進行系統(tǒng)性地有條理的學(xué)習(xí)持續(xù)一年以上,比如看書,事實上我也是這么要求自己的。我相信滿足了這個條件,你面其他公司也很容易。
本文標(biāo)題:Go技術(shù)一面一般考哪些內(nèi)容
文章鏈接:http://m.fisionsoft.com.cn/article/cdisood.html


咨詢
建站咨詢
