跳槽看機(jī)會(huì)是每個(gè)職場(chǎng)人的必經(jīng)之路师脂,筆者也是個(gè)俗人琐谤,加上公司領(lǐng)導(dǎo)也是對(duì)人不對(duì)事的吹艇,于是在獵頭的慫恿下咖楣,我就有了想試試的沖動(dòng)责语,畢竟閉門造車是兵家大忌亮曹。而事實(shí)證明缀棍,確實(shí)如此朴上。我們沒有用到微服務(wù)煮纵,沒有高并發(fā)懂鸵,沒有什么值得拿出手的技術(shù)亮點(diǎn)。慚愧行疏,想要拿高薪匆光,還要繼續(xù)學(xué)習(xí)才是。于是面試完之后我趕緊記錄一下酿联,起碼知道自己改學(xué)習(xí)的方向有哪些终息。作為一個(gè)只有兩年后端經(jīng)驗(yàn)的小白,面試完之后就只有一個(gè)想法贞让,不容易啊周崭。
先記錄下面試問的問題:
1、談一下Go的GC機(jī)制
2喳张、說下三色標(biāo)記算法的原理
3续镇、算法:判斷鏈表是否有回環(huán)
4、介紹下自己的項(xiàng)目
5销部、開發(fā)的流程規(guī)范是什么摸航?
6、半連接是什么舅桩?
7酱虎、粘包是什么?怎么發(fā)送的擂涛?
8读串、怎么創(chuàng)建索引
9、怎么避免緩存擊穿,還有其他的什么方法嗎爹土?
10甥雕、go的mutx怎么使用,樂觀和悲觀鎖分別怎么實(shí)現(xiàn)胀茵,使用場(chǎng)景是什么社露?
11、服務(wù)器受到攻擊怎么定位服務(wù)器問題琼娘?
12峭弟、rpc的具體實(shí)現(xiàn)
13、怎么反轉(zhuǎn)樹的左右節(jié)點(diǎn)
14脱拼、談?wù)別poll和select
在問到第14個(gè)問題的時(shí)候瞒瘸,我直接放棄了,因?yàn)槲抑澜酉聛硪獑柺裁聪ㄅāC嬖囋旎鸺槌簦ぷ鲾Q螺絲,這話一點(diǎn)不假赌蔑。接下來肯定問區(qū)別和實(shí)現(xiàn)原理俯在。在我放棄之后,我就請(qǐng)教了一下面試官娃惯,順便驗(yàn)證一下我的猜想跷乐。面試官確實(shí)打算這么問。后面我就干脆問下趾浅,我該繼續(xù)學(xué)習(xí)補(bǔ)充哪些知識(shí)點(diǎn)愕提?面對(duì)這樣的面試,我該怎么回答問題皿哨?面試官人還比較好浅侨,說回答問題要有深度和廣度,一個(gè)問題要由此及彼的回答证膨,并且和多語言之間進(jìn)行對(duì)比仗颈。
慚愧的是,前十個(gè)問題我還知道椎例,從第十一個(gè)問題開始我就不知道了挨决。后面的操作系統(tǒng)和網(wǎng)絡(luò)安全相關(guān)的,我就是個(gè)小白订歪,更別談實(shí)現(xiàn)原理了脖祈。搞GO的,一定要會(huì)微服務(wù)刷晋,不管你簡(jiǎn)歷上有沒有寫這些技術(shù)盖高。所以慎陵,同學(xué)們一定要研究這塊,否則進(jìn)大廠無緣了喻奥。大家加油席纽!
之所以不貼出答案,是因?yàn)槲冶救艘彩潜硶淖膊希钟袔讉€(gè)人是看源碼就知道的呢對(duì)吧润梯,都是看別人的文檔,所以提倡去自己找答案甥厦,這樣印象深刻纺铭,正如下面評(píng)論說的,不是工作用到的刀疙,誰會(huì)知道舶赔?就算背下了,不久也是會(huì)忘記的谦秧。我就說下面試過程和我的回答吧竟纳。
一開始的面試就是不平等的,我必須開視頻疚鲤,人家不開視頻锥累,我對(duì)著屏幕上的自己回答問題。1石咬、開始問GC,我直接回答:Go會(huì)定時(shí)進(jìn)行GC清理操作卖哎,為了防止頻繁的觸發(fā)GC鬼悠,在內(nèi)存達(dá)到某個(gè)閾值的時(shí)候也會(huì)進(jìn)行GC操作】髂龋可能回答的沒達(dá)到他的預(yù)期焕窝,就打斷了直接問2、三色標(biāo)記算法维贺,我回答的也簡(jiǎn)單:這是清除-標(biāo)記算法的一種它掂,在1.9之前版本,清除和標(biāo)記都會(huì)進(jìn)行STW溯泣,之后的版本為了減少STW的時(shí)間虐秋,采用異步清除,但是標(biāo)記階段還是會(huì)有STW垃沦。大致的原理是客给,輪詢白色區(qū)域,有引用放入灰色肢簿,輪詢灰色有引用放入黑色靶剑,黑色不進(jìn)行輪詢蜻拨,所以為了加強(qiáng)數(shù)據(jù)的準(zhǔn)確性Go添加了寫屏障。面試官這時(shí)候就嗯了一句桩引,就問了個(gè)算法缎讼,3、回環(huán)連表的判斷這個(gè)剛好我做過有點(diǎn)印象:兩個(gè)指針坑匠,分別是前指針和后指針血崭,按照節(jié)點(diǎn)往下走,當(dāng)前指針位置大于或者等于后指針的位置時(shí)就代表有回環(huán)笛辟。然后面試官又是嗯了一句就開始問項(xiàng)目相關(guān)的東西了功氨。所以4和5都是根據(jù)簡(jiǎn)歷上實(shí)際項(xiàng)目進(jìn)行問的∈执保可能因?yàn)轫?xiàng)目中沒有涉及到微服務(wù)捷凄,就沒怎么往下問,就開始問網(wǎng)絡(luò)相關(guān)的了围来,我估計(jì)半連接和粘包都是隨口問問的跺涤,半連接是TCP三次握手的初始階段出現(xiàn)的,粘包是長(zhǎng)連接比較常見监透,但是我沒回答完就下一個(gè)問題了桶错。8、創(chuàng)建索引胀蛮,我是直接說根據(jù)業(yè)務(wù)來實(shí)現(xiàn)院刁,不能直接這么問吧,然后我就從B+樹的結(jié)構(gòu)說起粪狼,談到了引擎和聯(lián)合索引退腥,覆蓋索引以及回表的原因和過程。后面還問了一句:為什么mysql用B+樹再榄,我說這是產(chǎn)品特性問題狡刘,每個(gè)產(chǎn)品的側(cè)重點(diǎn)不同,采用的算法也不用困鸥。MongoDB側(cè)重單條記錄嗅蔬,MySQL側(cè)重遍歷和數(shù)據(jù)關(guān)聯(lián),不過疾就,看面試官的語氣顯然不是他要的結(jié)果澜术。至于9、避免緩存擊的其他方法猬腰,可以當(dāng)redis獲取為空的時(shí)候設(shè)置一個(gè)空串瘪板,但是沒有互斥鎖保險(xiǎn)。樂觀鎖和悲觀鎖 的使用場(chǎng)景無非就是效率問題漆诽,時(shí)間相應(yīng)短的需求就是樂觀鎖侮攀,穩(wěn)定和保險(xiǎn)采用悲觀鎖锣枝。再往后的問題,就是象征性的問吧兰英,具體答案撇叁,我也沒法貼,只能大家自己去找了畦贸,操作系統(tǒng)的東西陨闹,實(shí)在接觸不上,時(shí)間短見效慢薄坏。待我有空再來一個(gè)一個(gè)解答趋厉。
關(guān)于面試:對(duì)于一般的公司,基本只看工作年限胶坠。我去過高燈面試君账,開始寫的是一年經(jīng)驗(yàn),過了初面沈善,第二面的時(shí)候說相關(guān)經(jīng)驗(yàn)時(shí)間太短乡数,面試官面都沒見到就讓我離開了。第二次闻牡,我改成3年換個(gè)部門净赴,這個(gè)復(fù)試倒是看到面試官了,但是說只能給個(gè)中級(jí)崗位罩润。我在想要不要寫成6年的后端開發(fā)經(jīng)驗(yàn)玖翅,估計(jì)就會(huì)評(píng)一個(gè)高級(jí)的了。我也去過明源云面試割以,也是寫的一年經(jīng)驗(yàn)金度,但是,這個(gè)就有點(diǎn)悲催了拳球,問的都是語言的新特性审姓,甚至連多態(tài)和繼承都問珍特,這個(gè)面試官比較年輕祝峻,說想要個(gè)年紀(jì)小點(diǎn)的培養(yǎng),我尼瑪扎筒。莱找。。面試這種事情嗜桌,以前是三分天注定奥溺,七分靠打拼,現(xiàn)在怕啥反過來了骨宠,除了大廠的技術(shù)硬傷之外浮定,其他的面試大家隨緣就好不要強(qiáng)求相满,畢竟到哪都是坑,只是有的臭有點(diǎn)特別臭桦卒,僅此而已立美。歡迎吐槽,^_^方灾!
————————————————
原文作者:棋布
轉(zhuǎn)自鏈接:https://learnku.com/articles/51080
版權(quán)聲明:著作權(quán)歸作者所有建蹄。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)保留以上作者信息和原文鏈接裕偿。