小林,江湖救急!


呃,事情是這樣的......
我叫阿菌,
這是我去年秋招線下面試某個(gè)大廠的場(chǎng)景。
當(dāng)時(shí)面試官A把我?guī)У揭婚g燈火明亮的小屋子,
里面還有一位面試官B,
這是我第一次,一場(chǎng)面試,同時(shí)面對(duì)兩名面試官。

一挑二,
能不緊張么?
肯定緊張。
在做完簡(jiǎn)單并著顫抖的自我介紹后,面試官直接丟我一道算法題,是一道和搜索相關(guān)的題,在小屋子的白板上手寫(xiě)。
當(dāng)時(shí)我那個(gè)手啊,抖得啊,欸,簡(jiǎn)直不忍直視,寫(xiě)出來(lái)的字母都是歪的......

人類的身體構(gòu)造就是那么的奇妙。
手抖了,腦子也跟著抖。
腦子抖了,就想不了東西了......
于是我顫抖著,寫(xiě)下了一個(gè)暴力遍歷解,菜得如同不懂算法與數(shù)據(jù)結(jié)構(gòu)......

在我放下筆后,便有了開(kāi)頭的內(nèi)容,簡(jiǎn)直是無(wú)地自容,唉,看來(lái),此地不宜把我收容。
我低下頭,收拾書(shū)包,準(zhǔn)備轉(zhuǎn)身離去......


我,
停頓了數(shù)秒,
我不知道他們是否在重新定義“不再為難”這個(gè)詞,
可靠傳輸,還套個(gè)UDP,
這倆面試官,
壞得很!

唉,但有時(shí)候,世界就是那么的奇妙,
只要不問(wèn)我數(shù)據(jù)結(jié)構(gòu)和算法,
你們問(wèn)啥都行......
為啥這么自信,這又涉及到了另一個(gè)故事。
不過(guò),由于這個(gè)故事過(guò)于扣人心弦韻味無(wú)窮紛繁復(fù)雜跌宕起伏且會(huì)讓人意猶未盡,
我打算只做個(gè)簡(jiǎn)單的概述:
在,
一個(gè)風(fēng)高月黑的夜晚,
我遇到了一位神秘而謙虛的男子,

他叫小林哥,
他叫我以后在課上少點(diǎn)睡覺(jué),多看他的公眾號(hào),
把他講的計(jì)算機(jī)基礎(chǔ)全學(xué)會(huì),面大廠會(huì)有意想不到的收獲,我將信將疑......

雖然不太敢信,但我當(dāng)時(shí)還是照做了,把他的推文都看了一遍。
看了一遍后,感覺(jué)有點(diǎn)感覺(jué),我又看了一遍。
看了一遍后,又感覺(jué)有點(diǎn)感覺(jué),我又看了一遍。
看了一遍后,又感覺(jué)有點(diǎn)感覺(jué),我又看了一遍。
停停!
這個(gè)時(shí)候,我隱隱感覺(jué)自己身體和腦子發(fā)生了些變化,
世界往往就是那么的奇妙......
下面我們回到面試現(xiàn)場(chǎng):

不就是可靠傳輸么?
小林哥告訴過(guò)我 UDP 是不可靠的,TCP 才是可靠的。
那我在 UDP 協(xié)議的基礎(chǔ)上加字段,設(shè)計(jì)成 TCP 不就完了么?
唉,世界有時(shí)就是這么的奇妙......

怎么設(shè)計(jì)?
呃,建議反復(fù)閱讀小林哥的推文,其義自見(jiàn):
怎么樣,看完是不是瞬間覺(jué)得這個(gè)問(wèn)題索然無(wú)味了?
無(wú)非就是加序號(hào),設(shè)計(jì)重傳,開(kāi)滑動(dòng)窗口提升效率等等......

這一套組合拳打下來(lái)后,我抬頭看了看時(shí)間,
二十分鐘過(guò)去了,
我長(zhǎng)舒一口氣。
假設(shè)一場(chǎng)面試要撐狗一個(gè)小時(shí),
那我還有半個(gè)小時(shí)就能走了!



唉喲,龜龜!
當(dāng)時(shí)我聽(tīng)到之后猛地一個(gè)哆嗦!
你們要是說(shuō)這個(gè),我可就不困了啊!
還記得那個(gè)晚上,
我和小林哥同處一棵樹(shù)下,
暢談互聯(lián)網(wǎng)的發(fā)展史。

其中就聊到各種IO,包括網(wǎng)絡(luò)IO的演變,
IO的設(shè)計(jì),見(jiàn)證并伴隨著互聯(lián)網(wǎng)時(shí)代的變化。
從單機(jī),集群到分布式,程序員們一直在極致地壓榨機(jī)器性能,
我們改進(jìn)演變各種技術(shù),努力在巨人的肩膀上尋求創(chuàng)新,
為的就是在這風(fēng)云莫測(cè)的01時(shí)代,
留下我們的痕跡,
為社會(huì)創(chuàng)造價(jià)值......

欸,反正當(dāng)時(shí)這瞎幾把的一套技術(shù)背誦加理想情懷,
唬得兩位面試官小哥哥一愣愣的......
小林哥寫(xiě)的相關(guān)文章鏈接如下:
1. 鏈接 - 這次答應(yīng)我,一舉拿下 I/O 多路復(fù)用!
2. 鏈接 - 原來(lái) 8 張圖,就能學(xué)廢 Reactor 和 Proactor
他懂的真的很多,大家一定要去關(guān)注他,
使勁催更,不用客氣的!
他會(huì)給大家?guī)?lái)更多勁爆內(nèi)容的,他有太多的面試殺器大絕活。
(先過(guò)了面試再說(shuō)嘛,反正進(jìn)去后都是擰螺絲)










假如我是一名程序員,平時(shí)我會(huì)如何使用Redis,或者說(shuō)在哪些場(chǎng)合使用Redis。 假如我是一名面試官,我會(huì)通過(guò)哪些角度考察面試者對(duì)Redis的理解,從中窺探他對(duì)這項(xiàng)技術(shù)的理解,計(jì)算機(jī)基礎(chǔ),以及工程素養(yǎng)。
看山是山 看山不是山 看山還是山
為技術(shù)而技術(shù) 技術(shù)應(yīng)為業(yè)務(wù),市場(chǎng),用戶服務(wù) 還是技術(shù)本身有意思


