
靜態(tài)Static
最新章節(jié)
書(shū)友吧第1章 1-1 面試
天氣熱的不像三月。暖風(fēng)托著他的米色休閑褲,上身的乳白色半袖T恤以及黑色的帆布包,沒(méi)有明顯品牌,也沒(méi)有多余裝飾。如果不是因?yàn)闆](méi)有工卡進(jìn)不去這座樓,保安似乎不會(huì)注意到他。林致還是主動(dòng)出示入職短信給門(mén)口的保安看,然后不緊不慢的走進(jìn)這座大樓,隱入人群,就像是在這工作了許久的員工一樣。
HR前一晚發(fā)的入職短信,內(nèi)容是統(tǒng)一模板,格式規(guī)整得像是后臺(tái)批量生成的。他看短信都知道自己會(huì)被安排上樓、簽文件、領(lǐng)工卡、領(lǐng)電腦,然后到工位。這流程他太熟悉了。
早上出門(mén)前他重新翻了一遍他的新領(lǐng)導(dǎo)許雯的微信。沒(méi)有新消息,頭像也還是那剪影,什么都不說(shuō),卻莫名壓得人喘不過(guò)氣。
林致本不打算換工作,他在這個(gè)崗位上已經(jīng)連續(xù)工作了3年,沒(méi)出過(guò)什么問(wèn)題,他負(fù)責(zé)的這塊早就已經(jīng)穩(wěn)定了,新需求不多,每天只是簡(jiǎn)單的維護(hù)工作,同事領(lǐng)導(dǎo)之間關(guān)系處的也非常好,他只是像大多數(shù)人一樣把自己的簡(jiǎn)歷隨時(shí)掛在招聘平臺(tái)上,并且狀態(tài)改為在職-考慮機(jī)會(huì)。
但是電話還是來(lái)了,對(duì)面說(shuō)自己的來(lái)自鉅云這家公司,有一個(gè)目前剛組建的一年的部門(mén)要不要考慮,他聽(tīng)完電話那邊對(duì)業(yè)務(wù)的描述,還是很感興趣的,于是就加了聯(lián)系方式并發(fā)了一份詳細(xì)的簡(jiǎn)歷過(guò)去。
沒(méi)過(guò)多久就接到了一面面試的邀請(qǐng)。他按照以往的面試經(jīng)歷來(lái)看,這一面大概就是探一探技術(shù)深度沒(méi)什么難度。
林致提前5分鐘點(diǎn)進(jìn)了面試鏈接,面試官按時(shí)進(jìn)入。他通過(guò)視頻見(jiàn)到對(duì)面面試官是一個(gè)女生,面色淡淡的,留著一頭長(zhǎng)發(fā),面試官?zèng)]做什么開(kāi)場(chǎng)寒暄,直接開(kāi)始了面試,林致做完了基本的自我介紹后,面試官首先出了一道中等難度的筆試題。這難不到林致,得益于每天簡(jiǎn)單的維護(hù)工作,他有時(shí)還能點(diǎn)開(kāi)刷題網(wǎng)站隨機(jī)刷一道題玩玩。
于是他花了15分鐘便寫(xiě)完了,并且解釋了每個(gè)部分的含義。在此之后面試官又問(wèn)了一些技術(shù)問(wèn)題,讓林致感覺(jué)的是視頻對(duì)面的這位面試官大概也就工作了不到兩年讓她來(lái)對(duì)付他還是太輕敵了。
面試持續(xù)了一個(gè)小時(shí)結(jié)束了。她說(shuō)了句:“等通知吧。”語(yǔ)氣平穩(wěn),沒(méi)有什么敷衍,他當(dāng)時(shí)并不知道她叫什么名字。他從來(lái)不會(huì)在面試的時(shí)候記住一個(gè)面試官,這對(duì)他來(lái)說(shuō)沒(méi)什么意義。
第二輪面試在第二周進(jìn)行,林致通過(guò)視頻觀察對(duì)面的面試官大概有30出頭的樣子,
簡(jiǎn)單的自我介紹結(jié)束后。
面試官便說(shuō)“就講一下你在這家公司重構(gòu)的這個(gè)項(xiàng)目吧”
林致點(diǎn)了點(diǎn)頭,開(kāi)始講自己在上一家公司做的一個(gè)分布式流式系統(tǒng)項(xiàng)目。
“當(dāng)時(shí)的系統(tǒng)雖然用的是多臺(tái)服務(wù)器一起跑,但每臺(tái)機(jī)器之間幾乎沒(méi)有交流,基本是各干各的。”
“這個(gè)設(shè)計(jì)一開(kāi)始看起來(lái)沒(méi)問(wèn)題,但一旦數(shù)據(jù)量上來(lái),系統(tǒng)就很難擴(kuò)展,也沒(méi)法在不同機(jī)器之間共享數(shù)據(jù)或協(xié)同處理。比如我們想做那種能跨時(shí)間段追蹤數(shù)據(jù)變化的計(jì)算方式,基本就做不成。”對(duì)方?jīng)]有打斷他,只是偶爾點(diǎn)頭。
林致接著說(shuō):“我們后來(lái)處理了一個(gè)比較復(fù)雜的問(wèn)題,是關(guān)于怎么匯總數(shù)據(jù)窗口的。最早我們是按固定時(shí)間段來(lái)切分的,雖然效率上去了,但數(shù)據(jù)堆得太多。后來(lái)我們用了滑動(dòng)時(shí)間窗的方式,再加了優(yōu)先級(jí)隊(duì)列來(lái)優(yōu)化,結(jié)果是處理速度快了,內(nèi)存也省了不少。”
他頓了頓,看對(duì)方?jīng)]什么反應(yīng),就補(bǔ)了一句:
“我們的系統(tǒng)部署是多活模式。簡(jiǎn)單說(shuō),就是一共差不多一百臺(tái)機(jī)器在一起跑,有十臺(tái)是備用的。如果哪一臺(tái)出了問(wèn)題,那些備用的就會(huì)自動(dòng)接管,不需要人手動(dòng)切換。我們做了三輪壓測(cè),每次切換都控制在兩秒以?xún)?nèi),基本不影響服務(wù)。”
這時(shí)面試官終于開(kāi)口:“你們?cè)趺醋龅模坑?ZooKeeper(一個(gè)已有的可以直接使用的類(lèi)似的模塊)嗎?”
林致?lián)u了搖頭:“沒(méi)有。我們自己設(shè)計(jì)了一套更輕量的機(jī)制。”
他稍稍往前坐了點(diǎn),說(shuō)話依然平穩(wěn):“我們用的是一種叫‘token(令牌)’的控制方式。你可以把它理解成是任務(wù)通行證。每個(gè)任務(wù)開(kāi)始前,機(jī)器要先搶到一個(gè) token(令牌)’,只有拿到 token(令牌)’的任務(wù)才能運(yùn)行,防止重復(fù)執(zhí)行。等任務(wù)真的做完了,這個(gè) token(令牌)’才會(huì)被系統(tǒng)清除。”
“這就像你去拿號(hào)排隊(duì),只有拿到號(hào)的人能上去辦事,辦完才放下這個(gè)號(hào)。這樣既能避免多個(gè)機(jī)器搶著做同一件事,也不需要一個(gè)中心調(diào)度大家。”
面試官點(diǎn)點(diǎn)頭,接著問(wèn):“那你們?yōu)槭裁床恢苯佑?ZooKeeper(一個(gè)已有的可以直接使用的類(lèi)似的模塊)呢?”
林致心里想著,這果然是繞不開(kāi)的問(wèn)題。他語(yǔ)氣沒(méi)變,只是把話理清楚后說(shuō)了出來(lái):
“我們當(dāng)時(shí)確實(shí)討論過(guò)這個(gè)問(wèn)題。我說(shuō)幾點(diǎn)。”
“第一,公司里的 ZooKeeper是別的團(tuán)隊(duì)在維護(hù),我們不想為了一件小事總是跨組去協(xié)調(diào)權(quán)限、調(diào)試和上線。這會(huì)拖慢效率,也限制我們做架構(gòu)的自由。”
“第二,我們希望系統(tǒng)是獨(dú)立閉環(huán)的,最好能自我維護(hù)、自我進(jìn)化,不依賴(lài)太多外部模塊。我們不想拼裝一個(gè)雜牌軍,而是要一個(gè)真正能跑遠(yuǎn)的體系。”
“第三,其實(shí)我們的需求也不復(fù)雜。就是讓任務(wù)一個(gè)個(gè)排好隊(duì),不重復(fù)、不沖突。我們自己的 token機(jī)制就能很好地實(shí)現(xiàn)這些,而且性能還更輕,更適合我們那種處理頻率高的場(chǎng)景。
他說(shuō)完這段,面試官略微點(diǎn)頭,寫(xiě)了點(diǎn)什么,沒(méi)有再追問(wèn)。
林致的嘴角輕輕上揚(yáng)了一下,幅度小得幾乎無(wú)法察覺(jué)。
他沒(méi)有覺(jué)得輕松,只是有種熟悉的感覺(jué)——當(dāng)你說(shuō)出的每一句話都來(lái)自你親手寫(xiě)過(guò)、調(diào)過(guò)、跑過(guò)的系統(tǒng)時(shí),那不是回答,是復(fù)述現(xiàn)實(shí)。
就這樣第二輪面試也結(jié)束了,面試的結(jié)尾對(duì)方說(shuō):“你的東西我大致明白了。我這邊回去會(huì)評(píng)估。”
等第三輪面試林致等了很久,兩周后他甚至都快忘了這件事的時(shí)候,電話來(lái)了。是HR打過(guò)來(lái)了的,對(duì)面說(shuō)“我們總監(jiān)一會(huì)兒會(huì)添加你的微信,然后她會(huì)給你約時(shí)間的,注意通知。”
就這樣過(guò)了5分鐘,微信跳出一個(gè)好友申請(qǐng)。
沒(méi)有備注,頭像是一張剪影圖,背景像是從莫蘭迪的畫(huà)中提取的一種低飽和的暗綠色,昵稱(chēng)是許雯。
通過(guò)申請(qǐng)后,對(duì)方立即發(fā)來(lái)一句話:
“我這邊直接微信語(yǔ)音。我今天下午三點(diǎn)有空,你有時(shí)間嗎?”
林致盯著那句話,過(guò)了三秒才回:“好的。我可以。”
他查了一下許雯的身份。技術(shù)總監(jiān),負(fù)責(zé)鉅云內(nèi)容中臺(tái)與數(shù)據(jù)調(diào)度核心結(jié)構(gòu)。整個(gè)系統(tǒng)能不能跑起來(lái),很大一部分取決于她畫(huà)的那張總圖。
他沒(méi)想到,第三輪居然是她本人面試。
更沒(méi)想到,是直接打微信語(yǔ)音——這意味著她可能實(shí)在是太忙了,甚至沒(méi)有時(shí)間坐在一個(gè)會(huì)議室里去面試。
林致提前5分鐘來(lái)到公司樓下等待電話,三點(diǎn)整,電話響起。
他深吸一口氣,接通。
“你是林致吧。”她開(kāi)口。
“是。”
“我這邊只問(wèn)一點(diǎn)。為什么不考慮用 ZooKeeper?”
林致當(dāng)時(shí)愣住了半分鐘,這個(gè)問(wèn)題他當(dāng)然知道,這是二面面試官的問(wèn)題,而且他當(dāng)時(shí)回答的非常好,為什么許雯要再問(wèn)一遍?要么就是巧合,要么就是她認(rèn)為這不是一個(gè)好的解法!!!
林致還是把跟二面面試官的回答大致的重述了一遍,因?yàn)樗娴牟恢赖诙€(gè)答案。
許雯聽(tīng)完林致那一套熟練卻沒(méi)有任何修正的回答,沉默幾秒,然后說(shuō):
“嗯,我知道你那套結(jié)構(gòu)能跑起來(lái)。”她語(yǔ)氣沒(méi)變化,語(yǔ)速也沒(méi)有波動(dòng)。又頓了一下,補(bǔ)了一句:“只是系統(tǒng)設(shè)計(jì),可不是跑起來(lái)就算完。”
林致沉默了許久。許雯繼續(xù)問(wèn):那如果我不同意你這個(gè)方案,你還有其他辦法嗎?
林致繼續(xù)沉默,他知道這輪面試大概率是敗了。他沒(méi)有什么辦法,這就好比人類(lèi)的極限是背負(fù)是自己的三倍體重,那么一個(gè)70kg的成年人,現(xiàn)在他的背上壓上300kg的重物,那不是痛苦,就是純粹的無(wú)力感。
但是他沒(méi)想到的是許雯再次打破了沉默!她說(shuō):“那就到這吧”
林致輕聲回復(fù)了一下“好的”
許雯輕聲哼了一下接著說(shuō):“我還以為你啞了呢”,停頓了一下接著說(shuō)“后面會(huì)有HR聯(lián)系你的”
話音剛落,電話那頭的人切換了聯(lián)系。
事實(shí)證明HR最后還是聯(lián)系了,不然他也不會(huì)這么早就坐在這棟大樓的一樓大廳里。不一會(huì)接待的女孩就找到了他,入職流程也很迅速,他來(lái)到了他的工位,3層 F區(qū),最外面一列,工位和工位之間沒(méi)有隔斷,桌子橫向排列,有點(diǎn)像網(wǎng)吧但又沒(méi)有網(wǎng)吧里的喧囂,這似乎是新興互聯(lián)網(wǎng)公司的標(biāo)配。
林致把東西放好,正打算啟動(dòng)電腦,余光瞥見(jiàn)右側(cè)走過(guò)一個(gè)身影。
那人步伐穩(wěn)、鞋聲輕,每一步都踩在地磚邊緣上,節(jié)奏像是對(duì)時(shí)間有極強(qiáng)掌控感的人。
她沒(méi)穿工裝,也沒(méi)有識(shí)別證,只是一件極簡(jiǎn)黑襯衫,深色長(zhǎng)褲,高跟鞋鞋跟細(xì)長(zhǎng),聲音被地毯吸去一半,只留下節(jié)拍感。
她從他工位前方三米處走過(guò),朝最里側(cè)那間獨(dú)立辦公室走去。
林致下意識(shí)抬頭。
她沒(méi)有看他。
她也沒(méi)有必要看他。
她推開(kāi)門(mén),文件夾收在左手手肘,指尖抬起,動(dòng)作干脆,關(guān)門(mén)無(wú)聲。
他愣了兩秒,才慢慢坐直身子。
他沒(méi)見(jiàn)過(guò)她,但他知道,這是許雯。既陌生又不陌生!