第1章
最后的工位------------------------------------------,陸深盯著屏幕上跳動(dòng)的光標(biāo),手指在鍵盤(pán)上敲下最后一行代碼?!皢卧獪y(cè)試通過(guò)率98.7%。”他喃喃自語(yǔ),揉了揉酸澀的眼睛,“還有1.3%的邊界情況需要處理...”。,看見(jiàn)人事總監(jiān)張敏站在門(mén)口,身后站著兩個(gè)保安。她的臉上掛著職業(yè)化的微笑,那種笑容陸深在入職培訓(xùn)時(shí)見(jiàn)過(guò)無(wú)數(shù)次——標(biāo)準(zhǔn)的、不帶任何溫度的職場(chǎng)面具?!?a href="/tag/lushen.html" style="color: #1e9fff;">陸深,方便來(lái)一趟會(huì)議室嗎?”,又看了眼自己剛寫(xiě)完的代碼。他當(dāng)然知道這意味著什么,這個(gè)月已經(jīng)是公司第三輪裁員了。前兩輪裁掉了市場(chǎng)部和運(yùn)營(yíng)部的人,他就知道輪到技術(shù)部只是時(shí)間問(wèn)題?!皬埧偅茏屛野堰@段代碼跑完嗎?還有十五分鐘就能...陸深,別讓大家都難做?!睆埫舻恼Z(yǔ)氣依然溫和,但眼神已經(jīng)不耐煩了,“安保人員會(huì)看著你收拾東西的?!?,保存了所有文件,然后把電腦屏幕轉(zhuǎn)向張敏。他站起身,從抽屜里拿出一個(gè)U盤(pán)——那是他三年前入職時(shí)帶過(guò)來(lái)的,里面裝著一個(gè)他大學(xué)時(shí)寫(xiě)的算法框架。,只是公司從來(lái)沒(méi)給他機(jī)會(huì)驗(yàn)證?!安挥萌?huì)議室了,直接說(shuō)吧?!?a href="/tag/lushen.html" style="color: #1e9fff;">陸深平靜地看著張敏,“補(bǔ)償方案是什么?”,她沒(méi)想到這個(gè)平時(shí)沉默寡言的技術(shù)員會(huì)這么干脆。她清了清嗓子:“按勞動(dòng)法規(guī)定,N+1。你入職三年,所以是四個(gè)月工資補(bǔ)償。我手上有兩個(gè)核心項(xiàng)目的架構(gòu)設(shè)計(jì)專利,按照公司入職時(shí)簽的協(xié)議,專利歸屬公司,但署名權(quán)是我的。這些項(xiàng)目現(xiàn)在還在線上跑著?!?。她當(dāng)然知道陸深說(shuō)的是什么,那兩個(gè)項(xiàng)目的底層架構(gòu)是陸深一個(gè)人搭的,如果他在這時(shí)候鬧起來(lái),公司的產(chǎn)品線可能要停擺至少半個(gè)月。“你想說(shuō)什么?”張敏的語(yǔ)氣冷了下來(lái)。
“我想說(shuō),我要拿回我U盤(pán)里的東西。”陸深舉起手中的U盤(pán),“這是我大學(xué)時(shí)寫(xiě)的個(gè)人項(xiàng)目,不屬于公司。我現(xiàn)在要走,不會(huì)為難你們,也希望你們別為難我。”
張敏盯著那個(gè)U盤(pán)看了三秒,然后笑了:“你早說(shuō)嘛,一個(gè)小U盤(pán)我們也不在乎。行,收拾東西吧,補(bǔ)償我會(huì)讓財(cái)務(wù)盡快打到你卡上。”
陸深點(diǎn)了點(diǎn)頭,開(kāi)始收拾自己的工位。他其實(shí)沒(méi)什么好收拾的,三年來(lái)他的工位始終保持著最初的整潔——一個(gè)鍵盤(pán),一個(gè)鼠標(biāo),一個(gè)水杯,幾本技術(shù)書(shū)。
他抱起紙箱走出技術(shù)大樓時(shí),整個(gè)城市還在沉睡。路燈把他的影子拉得很長(zhǎng),像一根快要折斷的樹(shù)枝。
手機(jī)震動(dòng)了一下,是一條微信語(yǔ)音。陸深點(diǎn)開(kāi),聽(tīng)到大學(xué)室友陳浩的聲音:“深哥,聽(tīng)說(shuō)你們公司又裁人了?你還好吧?要不要來(lái)我這邊看看?我這缺個(gè)技術(shù)合伙...”
陸深沒(méi)聽(tīng)完就把語(yǔ)音關(guān)了。他不想讓任何人看見(jiàn)他現(xiàn)在這副樣子。
走到公交站臺(tái),他坐在候車(chē)凳上,打開(kāi)手機(jī)銀行。余額顯示:3278.6元。這是他全部的積蓄。房租還有一周到期,下個(gè)月的房租還沒(méi)著落。
他抬頭看著灰蒙蒙的天空,突然笑了。
三年前,他帶著一腔熱血從南方小鎮(zhèn)來(lái)到這座城市,以為自己能在這個(gè)互聯(lián)網(wǎng)大廠里實(shí)現(xiàn)理想。三年的996,換來(lái)的是一份不溫不火的履歷和一套四個(gè)月工資的補(bǔ)償。
“**,真值?!彼匝宰哉Z(yǔ),語(yǔ)氣里帶著苦澀和自嘲。
手機(jī)又震了一下,這次是郵件。陸深打開(kāi)一看,是公司發(fā)來(lái)的解約證明,附帶一份保密協(xié)議。他隨手滑動(dòng)屏幕,正準(zhǔn)備簽上名字,卻突然停下了手。
在保密協(xié)議的最后一頁(yè),有一行小字:
“乙方(陸深)同意,離職后三年內(nèi)不得從事與本公司核心算法相關(guān)的任何工作,包括但不限于...分布式數(shù)據(jù)庫(kù)的向量化查詢優(yōu)化...”
陸深的瞳孔驟縮。
分布式數(shù)據(jù)庫(kù)的向量化查詢優(yōu)化——這是他大學(xué)時(shí)寫(xiě)的那個(gè)算法框架的核心部分,也就是他剛才拿走的U盤(pán)里的內(nèi)容。公司怎么會(huì)把這個(gè)寫(xiě)進(jìn)保密協(xié)議?
除非...有人已經(jīng)偷偷翻過(guò)他的代碼了。
他猛地想起一個(gè)月前,技術(shù)部總監(jiān)趙偉明突然對(duì)他的U盤(pán)表現(xiàn)出異常的興趣,還說(shuō)要“幫他備份一下”。當(dāng)時(shí)他沒(méi)在意,現(xiàn)在想來(lái),趙偉明分明就是在打探他的算法。
陸深握緊拳頭,手指骨節(jié)發(fā)白。
他按下語(yǔ)音通話鍵,撥通了一個(gè)號(hào)碼。
“喂?陳浩,你剛才說(shuō)你想找技術(shù)合伙人,具體做什么?”
“**,深哥你怎么回心轉(zhuǎn)意了?我跟你說(shuō),我這邊在搞一個(gè)新型的社交APP,市場(chǎng)很大,就差一個(gè)能把底層架構(gòu)搭建好的技術(shù)大佬...”
“社交APP?用哪套底層架構(gòu)?”
“目前用的是主流的那套分布式框架,但是并發(fā)量一大就扛不住了。我想找到一種新的方案,能支撐百萬(wàn)甚至千萬(wàn)級(jí)用戶同時(shí)在線的...”
陸深沉默了片刻:“如果我說(shuō),我有這個(gè)方案呢?”
電話那頭安靜了三秒,然后爆發(fā)出一陣驚呼:“真的假的?深哥你別開(kāi)玩笑!”
“我從不開(kāi)玩笑?!?a href="/tag/lushen.html" style="color: #1e9fff;">陸深站起來(lái),目光堅(jiān)定,“但是我有個(gè)條件?!?br>“你說(shuō)!”
“我要做CTO,技術(shù)路線全權(quán)負(fù)責(zé)。另外,我要拿40%的技術(shù)股?!?br>“40%...深哥,你這是要了我的老命??!”
“那算了?!?br>“別別別!我答應(yīng),我答應(yīng)!你明天能來(lái)公司嗎?我把地址發(fā)給你。”
陸深掛斷電話,看著東方泛起的一絲魚(yú)肚白。
這座城市的天,要亮了。
第二天早上八點(diǎn),陸深準(zhǔn)時(shí)出現(xiàn)在陳浩給他的地址——一棟老舊的寫(xiě)字樓的十六層。
電梯門(mén)一開(kāi),他就看見(jiàn)陳浩站在走廊里,穿著一件皺巴巴的T恤,正對(duì)著手機(jī)怒吼:“我跟你說(shuō)過(guò)多少次了!不要用那個(gè)接口,性能太差了!你自己寫(xiě)一個(gè)本地緩存行不行?”
看見(jiàn)陸深,他立刻掛斷電話,換上笑臉:“深哥!你可算來(lái)了!”
陸深掃了一眼走廊盡頭的玻璃門(mén),門(mén)牌上寫(xiě)著“晨曦科技有限公司”。透過(guò)玻璃能看見(jiàn)里面大概七八十平的空間,擺著十幾臺(tái)電腦,角落里堆滿了外賣(mài)盒和泡面桶。
“這就是你說(shuō)的公司?”陸深問(wèn)。
“咳咳...創(chuàng)業(yè)初期,艱苦點(diǎn)是正常的?!?a href="/tag/chenhao.html" style="color: #1e9fff;">陳浩一邊說(shuō)一邊把陸深往里領(lǐng),“來(lái)來(lái)來(lái),我?guī)憧次覀兊募夹g(shù)核心?!?br>辦公室里只有兩個(gè)人。一個(gè)戴著厚重眼鏡的瘦高個(gè)正趴在電腦前瘋狂敲鍵盤(pán),另一個(gè)女生坐在窗邊的位置,正在畫(huà)UI設(shè)計(jì)圖。
陳浩拍了拍手:“大家注意!這位就是我說(shuō)的陸深,技術(shù)大牛。以后他就是咱們的CTO了!”
瘦高個(gè)抬起頭,眼神里帶著質(zhì)疑:“就他?看起來(lái)很一般嘛?!?br>那個(gè)女生倒是站起來(lái),微笑著伸出手:“你好,我叫安然,負(fù)責(zé)產(chǎn)品設(shè)計(jì)。陳總經(jīng)常提起你,說(shuō)你的算法水平很厲害。”
陸深握住她的手:“謝謝,不過(guò)我確實(shí)是技術(shù)一般,只是剛好有一個(gè)方向性的想法?!?br>“什么想法?”瘦高個(gè)站起來(lái),走到陸深面前,“我是林北,后端開(kāi)發(fā)。你說(shuō)說(shuō)看你的想法有多牛,我看看值不值40%的股份?!?br>陳浩臉色一僵:“林北!你說(shuō)話能不能...”
“沒(méi)關(guān)系?!?a href="/tag/lushen.html" style="color: #1e9fff;">陸深抬手打斷了陳浩。他直視著林北的眼睛,“你知道為什么社交APP在并發(fā)超過(guò)十萬(wàn)用戶后,消息延遲會(huì)呈指數(shù)級(jí)增長(zhǎng)嗎?”
林北愣了一下:“這不是很正常嗎?分布式系統(tǒng)有CAP定理,一致性、可用性、分區(qū)容忍性三者不可兼得,所以我們選擇保可用性,犧牲一部分?jǐn)?shù)據(jù)一致性...”
“那你有沒(méi)有想過(guò),為什么一定要三選二?”陸深淡淡地說(shuō),“如果我能做到三者兼顧呢?”
整個(gè)辦公室安靜了。
林北臉上的質(zhì)疑神色消失了,取而代之的是難以置信:“不可能!CAP定理是分布式系統(tǒng)的鐵律,這是被數(shù)學(xué)證明了的!”
“那只是在傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)模型下?!?a href="/tag/lushen.html" style="color: #1e9fff;">陸深打開(kāi)隨身攜帶的筆記本電腦,調(diào)出一個(gè)文檔,“如果我用向量化的思維方式重新設(shè)計(jì)數(shù)據(jù)索引結(jié)構(gòu),再用一種全新的分片算法來(lái)處理數(shù)據(jù)分布...”
他越說(shuō)越快,手指在鍵盤(pán)上飛快地敲擊,屏幕上顯示出一行行代碼。
林北站在他身后,一開(kāi)始還皺著眉,后來(lái)眼睛越睜越大,最后幾乎把臉貼到了屏幕上。
“這...這怎么可能?”林北的聲音在發(fā)抖,“你這個(gè)索引結(jié)構(gòu)...完全跳出了*+樹(shù)和L**樹(shù)的框架...”
“沒(méi)錯(cuò),我用的是基于深度學(xué)習(xí)的自適應(yīng)索引架構(gòu)?!?a href="/tag/lushen.html" style="color: #1e9fff;">陸深停下敲鍵盤(pán)的手,“它本質(zhì)上是在學(xué)習(xí)用戶的行為模式,然后根據(jù)這些模式動(dòng)態(tài)調(diào)整數(shù)據(jù)分布。這樣就能做到在高并發(fā)下,依然保證數(shù)據(jù)的強(qiáng)一致性?!?br>“但是...你怎么保證分區(qū)容忍性?在分布式環(huán)境下,網(wǎng)絡(luò)分區(qū)是無(wú)法避免的...”
“看這里。”陸深指向屏幕上的另一段代碼,“這是一種新型的共識(shí)算法,我管它叫‘向量Raft’。它把傳統(tǒng)的Raft算法的日志復(fù)制過(guò)程,改成了向量化運(yùn)算。這樣在網(wǎng)絡(luò)分區(qū)恢復(fù)后,節(jié)點(diǎn)間的狀態(tài)同步速度可以提升三個(gè)數(shù)量級(jí)。”
“我想說(shuō),我要拿回我U盤(pán)里的東西。”陸深舉起手中的U盤(pán),“這是我大學(xué)時(shí)寫(xiě)的個(gè)人項(xiàng)目,不屬于公司。我現(xiàn)在要走,不會(huì)為難你們,也希望你們別為難我。”
張敏盯著那個(gè)U盤(pán)看了三秒,然后笑了:“你早說(shuō)嘛,一個(gè)小U盤(pán)我們也不在乎。行,收拾東西吧,補(bǔ)償我會(huì)讓財(cái)務(wù)盡快打到你卡上。”
陸深點(diǎn)了點(diǎn)頭,開(kāi)始收拾自己的工位。他其實(shí)沒(méi)什么好收拾的,三年來(lái)他的工位始終保持著最初的整潔——一個(gè)鍵盤(pán),一個(gè)鼠標(biāo),一個(gè)水杯,幾本技術(shù)書(shū)。
他抱起紙箱走出技術(shù)大樓時(shí),整個(gè)城市還在沉睡。路燈把他的影子拉得很長(zhǎng),像一根快要折斷的樹(shù)枝。
手機(jī)震動(dòng)了一下,是一條微信語(yǔ)音。陸深點(diǎn)開(kāi),聽(tīng)到大學(xué)室友陳浩的聲音:“深哥,聽(tīng)說(shuō)你們公司又裁人了?你還好吧?要不要來(lái)我這邊看看?我這缺個(gè)技術(shù)合伙...”
陸深沒(méi)聽(tīng)完就把語(yǔ)音關(guān)了。他不想讓任何人看見(jiàn)他現(xiàn)在這副樣子。
走到公交站臺(tái),他坐在候車(chē)凳上,打開(kāi)手機(jī)銀行。余額顯示:3278.6元。這是他全部的積蓄。房租還有一周到期,下個(gè)月的房租還沒(méi)著落。
他抬頭看著灰蒙蒙的天空,突然笑了。
三年前,他帶著一腔熱血從南方小鎮(zhèn)來(lái)到這座城市,以為自己能在這個(gè)互聯(lián)網(wǎng)大廠里實(shí)現(xiàn)理想。三年的996,換來(lái)的是一份不溫不火的履歷和一套四個(gè)月工資的補(bǔ)償。
“**,真值?!彼匝宰哉Z(yǔ),語(yǔ)氣里帶著苦澀和自嘲。
手機(jī)又震了一下,這次是郵件。陸深打開(kāi)一看,是公司發(fā)來(lái)的解約證明,附帶一份保密協(xié)議。他隨手滑動(dòng)屏幕,正準(zhǔn)備簽上名字,卻突然停下了手。
在保密協(xié)議的最后一頁(yè),有一行小字:
“乙方(陸深)同意,離職后三年內(nèi)不得從事與本公司核心算法相關(guān)的任何工作,包括但不限于...分布式數(shù)據(jù)庫(kù)的向量化查詢優(yōu)化...”
陸深的瞳孔驟縮。
分布式數(shù)據(jù)庫(kù)的向量化查詢優(yōu)化——這是他大學(xué)時(shí)寫(xiě)的那個(gè)算法框架的核心部分,也就是他剛才拿走的U盤(pán)里的內(nèi)容。公司怎么會(huì)把這個(gè)寫(xiě)進(jìn)保密協(xié)議?
除非...有人已經(jīng)偷偷翻過(guò)他的代碼了。
他猛地想起一個(gè)月前,技術(shù)部總監(jiān)趙偉明突然對(duì)他的U盤(pán)表現(xiàn)出異常的興趣,還說(shuō)要“幫他備份一下”。當(dāng)時(shí)他沒(méi)在意,現(xiàn)在想來(lái),趙偉明分明就是在打探他的算法。
陸深握緊拳頭,手指骨節(jié)發(fā)白。
他按下語(yǔ)音通話鍵,撥通了一個(gè)號(hào)碼。
“喂?陳浩,你剛才說(shuō)你想找技術(shù)合伙人,具體做什么?”
“**,深哥你怎么回心轉(zhuǎn)意了?我跟你說(shuō),我這邊在搞一個(gè)新型的社交APP,市場(chǎng)很大,就差一個(gè)能把底層架構(gòu)搭建好的技術(shù)大佬...”
“社交APP?用哪套底層架構(gòu)?”
“目前用的是主流的那套分布式框架,但是并發(fā)量一大就扛不住了。我想找到一種新的方案,能支撐百萬(wàn)甚至千萬(wàn)級(jí)用戶同時(shí)在線的...”
陸深沉默了片刻:“如果我說(shuō),我有這個(gè)方案呢?”
電話那頭安靜了三秒,然后爆發(fā)出一陣驚呼:“真的假的?深哥你別開(kāi)玩笑!”
“我從不開(kāi)玩笑?!?a href="/tag/lushen.html" style="color: #1e9fff;">陸深站起來(lái),目光堅(jiān)定,“但是我有個(gè)條件?!?br>“你說(shuō)!”
“我要做CTO,技術(shù)路線全權(quán)負(fù)責(zé)。另外,我要拿40%的技術(shù)股?!?br>“40%...深哥,你這是要了我的老命??!”
“那算了?!?br>“別別別!我答應(yīng),我答應(yīng)!你明天能來(lái)公司嗎?我把地址發(fā)給你。”
陸深掛斷電話,看著東方泛起的一絲魚(yú)肚白。
這座城市的天,要亮了。
第二天早上八點(diǎn),陸深準(zhǔn)時(shí)出現(xiàn)在陳浩給他的地址——一棟老舊的寫(xiě)字樓的十六層。
電梯門(mén)一開(kāi),他就看見(jiàn)陳浩站在走廊里,穿著一件皺巴巴的T恤,正對(duì)著手機(jī)怒吼:“我跟你說(shuō)過(guò)多少次了!不要用那個(gè)接口,性能太差了!你自己寫(xiě)一個(gè)本地緩存行不行?”
看見(jiàn)陸深,他立刻掛斷電話,換上笑臉:“深哥!你可算來(lái)了!”
陸深掃了一眼走廊盡頭的玻璃門(mén),門(mén)牌上寫(xiě)著“晨曦科技有限公司”。透過(guò)玻璃能看見(jiàn)里面大概七八十平的空間,擺著十幾臺(tái)電腦,角落里堆滿了外賣(mài)盒和泡面桶。
“這就是你說(shuō)的公司?”陸深問(wèn)。
“咳咳...創(chuàng)業(yè)初期,艱苦點(diǎn)是正常的?!?a href="/tag/chenhao.html" style="color: #1e9fff;">陳浩一邊說(shuō)一邊把陸深往里領(lǐng),“來(lái)來(lái)來(lái),我?guī)憧次覀兊募夹g(shù)核心?!?br>辦公室里只有兩個(gè)人。一個(gè)戴著厚重眼鏡的瘦高個(gè)正趴在電腦前瘋狂敲鍵盤(pán),另一個(gè)女生坐在窗邊的位置,正在畫(huà)UI設(shè)計(jì)圖。
陳浩拍了拍手:“大家注意!這位就是我說(shuō)的陸深,技術(shù)大牛。以后他就是咱們的CTO了!”
瘦高個(gè)抬起頭,眼神里帶著質(zhì)疑:“就他?看起來(lái)很一般嘛?!?br>那個(gè)女生倒是站起來(lái),微笑著伸出手:“你好,我叫安然,負(fù)責(zé)產(chǎn)品設(shè)計(jì)。陳總經(jīng)常提起你,說(shuō)你的算法水平很厲害。”
陸深握住她的手:“謝謝,不過(guò)我確實(shí)是技術(shù)一般,只是剛好有一個(gè)方向性的想法?!?br>“什么想法?”瘦高個(gè)站起來(lái),走到陸深面前,“我是林北,后端開(kāi)發(fā)。你說(shuō)說(shuō)看你的想法有多牛,我看看值不值40%的股份?!?br>陳浩臉色一僵:“林北!你說(shuō)話能不能...”
“沒(méi)關(guān)系?!?a href="/tag/lushen.html" style="color: #1e9fff;">陸深抬手打斷了陳浩。他直視著林北的眼睛,“你知道為什么社交APP在并發(fā)超過(guò)十萬(wàn)用戶后,消息延遲會(huì)呈指數(shù)級(jí)增長(zhǎng)嗎?”
林北愣了一下:“這不是很正常嗎?分布式系統(tǒng)有CAP定理,一致性、可用性、分區(qū)容忍性三者不可兼得,所以我們選擇保可用性,犧牲一部分?jǐn)?shù)據(jù)一致性...”
“那你有沒(méi)有想過(guò),為什么一定要三選二?”陸深淡淡地說(shuō),“如果我能做到三者兼顧呢?”
整個(gè)辦公室安靜了。
林北臉上的質(zhì)疑神色消失了,取而代之的是難以置信:“不可能!CAP定理是分布式系統(tǒng)的鐵律,這是被數(shù)學(xué)證明了的!”
“那只是在傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)模型下?!?a href="/tag/lushen.html" style="color: #1e9fff;">陸深打開(kāi)隨身攜帶的筆記本電腦,調(diào)出一個(gè)文檔,“如果我用向量化的思維方式重新設(shè)計(jì)數(shù)據(jù)索引結(jié)構(gòu),再用一種全新的分片算法來(lái)處理數(shù)據(jù)分布...”
他越說(shuō)越快,手指在鍵盤(pán)上飛快地敲擊,屏幕上顯示出一行行代碼。
林北站在他身后,一開(kāi)始還皺著眉,后來(lái)眼睛越睜越大,最后幾乎把臉貼到了屏幕上。
“這...這怎么可能?”林北的聲音在發(fā)抖,“你這個(gè)索引結(jié)構(gòu)...完全跳出了*+樹(shù)和L**樹(shù)的框架...”
“沒(méi)錯(cuò),我用的是基于深度學(xué)習(xí)的自適應(yīng)索引架構(gòu)?!?a href="/tag/lushen.html" style="color: #1e9fff;">陸深停下敲鍵盤(pán)的手,“它本質(zhì)上是在學(xué)習(xí)用戶的行為模式,然后根據(jù)這些模式動(dòng)態(tài)調(diào)整數(shù)據(jù)分布。這樣就能做到在高并發(fā)下,依然保證數(shù)據(jù)的強(qiáng)一致性?!?br>“但是...你怎么保證分區(qū)容忍性?在分布式環(huán)境下,網(wǎng)絡(luò)分區(qū)是無(wú)法避免的...”
“看這里。”陸深指向屏幕上的另一段代碼,“這是一種新型的共識(shí)算法,我管它叫‘向量Raft’。它把傳統(tǒng)的Raft算法的日志復(fù)制過(guò)程,改成了向量化運(yùn)算。這樣在網(wǎng)絡(luò)分區(qū)恢復(fù)后,節(jié)點(diǎn)間的狀態(tài)同步速度可以提升三個(gè)數(shù)量級(jí)。”
閱讀下一章(解鎖全文)
點(diǎn)擊即可暢讀完整版全部?jī)?nèi)容
相關(guān)書(shū)籍
友情鏈接