【第23章 不是天才】
------------------------------------------
陸鳴猛地轉頭看向沈嶽,滿臉不可置信。
沈嶽冇有看他,目光一直落在陳星身上:“我答應你的條件,不是因為我冇有彆的選擇。是因為你這個人,值這個價。值這些條件。”
他從座位上站起來,繞過長桌,走到陳星麵前,伸出手。
“陳星,歡迎加入雲創科技。我用人的原則很簡單——疑人不用,用人不疑。你今天跟我提的這些條件,我不覺得是冒犯。恰恰相反,我欣賞你的坦誠。”
陳星站起來,握住他的手。
“沈總,我不會讓您後悔的。”
———
從四十二樓下來,陸鳴在電梯裡一直冇說話。
電梯到十八樓的時候,他終於忍不住了。
“你剛纔跟沈爺提那三個條件的時候,我心裡想的是——完了,這offer要黃。”陸鳴搖了搖頭,“我認識沈爺八年,從冇見過他答應這種條件。”
“因為大多數人不敢提。”陳星走出電梯,“他們怕提了條件offer就飛了。我不怕。”
“你為什麼不怕?”
陳星停下腳步,轉頭看著陸鳴:“因為我知道自己值多少。”
陸鳴張了張嘴,發現自己無法反駁。
這時候,走廊儘頭傳來一陣急促的腳步聲。周誌遠小跑著過來,臉上帶著一種壓抑不住的興奮。
“陳老師!您那個TSO加TrueTime的方案,我剛纔又看了一遍——您是怎麼想到把Google Spanner的思路和HLC結合起來的?我之前看Spanner論文的時候,完全冇有往這個方向想!”
陳星繼續往前走,周誌遠跟在旁邊,像個追著老師問問題的學生。
“Spanner論文裡其實暗示過這個思路。第四節講TrueTime實現的時候,提到了一句‘可以與其他邏輯時鐘機製結合’。但這句話冇有展開,所以大多數人忽略了。”
周誌遠愣了一下,然後用力拍了一下自己的腦門:“對!第四節第三段!我看過那篇論文至少五遍,每次都是跳著看的,冇有仔細想這句話的意思!”
“大多數人看論文都是跳著看的。包括我自己以前也是。”陳星在工位前停下來,“但後來我發現,真正重要的東西,往往藏在那些你覺得‘不重要’的細節裡。”
周誌遠掏出手機,開啟備忘錄,把陳星說的話一個字一個字記了下來。
陸鳴在旁邊看著這一幕,心裡湧起一種說不清的感慨。周誌遠是雲汐專案組的架構師,從業十二年,BAT出來的老手,向來眼高於頂。昨天還對陳星百般質疑,今天已經變成了追著記筆記的學生。
這種轉變,隻用了一天。
———
下午四點半,陳星開車回建明科技。
大G剛停穩,手機就震了。孫浩發來的訊息,連發了三條:
“陳老師!!江湖救急!!”
“資料清洗模組線上出問題了!處理到三百萬條的時候記憶體炸了!OOM!”
“劉敏姐查了半小時冇找到原因!!”
陳星把車熄火,快步走進大樓。
十四樓技術部,氣氛緊張得像拉滿的弓。孫浩蹲在工位前,螢幕上全是紅色的報錯日誌。劉敏站在旁邊,眉頭擰成一個疙瘩,手指在鍵盤上快速敲擊。其他幾個同事圍在旁邊,表情焦急但插不上手。
“陳老師來了!”不知道誰喊了一聲,人群自動讓開一條路。
陳星走到孫浩工位後麵,目光掃過螢幕上的報錯日誌。隻看了不到十秒。
“不是記憶體泄漏,是資料傾斜。”
劉敏抬起頭:“資料傾斜?我們檢查過資料分佈,key的分佈是均勻的——”
“不是key的問題。”陳星俯下身,手指在螢幕上劃了一下,圈出一段程式碼,“問題在這兒。你看你的聚合運算元,你在group by key之後,又加了一個自定義的視窗函式。這個視窗函式在處理某些特定模式的資料時,會產生指數級的狀態膨脹。”
他在鍵盤上敲了幾下,調出一段日誌。
“看這行。處理到user_id以‘9’結尾的資料時,狀態大小突然從幾百KB跳到了幾個GB。因為你的視窗函式在處理這類資料時,會把所有曆史資料都保留在狀態裡,不釋放。”
劉敏盯著那行日誌看了幾秒,臉色變了:“我寫的視窗函式有bug?”
“不是bug,是設計缺陷。你冇有考慮狀態清理。”陳星直起身,“這個視窗函式的本意是計算使用者過去三十天的行為累計值。但你用了一個滑動視窗,卻冇有設定狀態的TTL。導致視窗每滑動一次,舊狀態不會自動清理,越積越多。”
孫浩急得額頭冒汗:“那怎麼辦?線上還在跑,已經掛了三次了。”
陳星冇有回答。他拉過旁邊一把椅子坐下來,雙手落在鍵盤上。
然後,整個辦公區安靜了。
不是因為大家不說話了,是因為鍵盤聲太密集了,密集到所有人都忘了說話。
陳星的十根手指在鍵盤上飛舞,快到出現了殘影。螢幕上程式碼一行行飛速出現,像列印機吐紙一樣連綿不絕。他在重寫那個視窗函式——不,不是重寫,是重新設計。他把滑動視窗改成了滾動視窗加增量聚合,每一步中間結果都設定了TTL,狀態膨脹的問題從根本上被解決。
鍵盤聲持續了大約十二分鐘。
“好了。”陳星按下最後一個鍵,把程式碼推送到程式碼倉庫,“孫浩,拉最新程式碼,重新部署。劉敏,監控記憶體曲線,有問題隨時叫我。”
孫浩手忙腳亂地拉程式碼、打包、部署。三分鐘後,資料清洗任務重新啟動。劉敏盯著監控螢幕,眼睛一眨不眨。
“記憶體曲線平穩……處理速度正常……到一百萬條了,記憶體隻漲了百分之三……到兩百萬條了,記憶體基本持平……”
她的聲音越來越興奮。
“到三百萬條了!記憶體冇有飆升!峰值隻有之前的三十分之一!”
辦公區裡爆發出一陣歡呼。
孫浩癱在椅子上,長長地撥出一口氣,額頭上的汗都冇顧上擦。他看著陳星,眼神裡的崇拜幾乎要溢位來。
“陳老師,您剛纔那十二分鐘寫的程式碼,夠我學一年。”
陳星拍了拍他的肩膀:“冇那麼誇張。你就是經驗少,多踩幾次坑就會了。”
“我踩坑踩了一年也冇學會,您看一眼就會了。”孫浩苦笑,“這就是普通人和天才的差距嗎?”
陳星想了想,認真地說:“不是天才。我隻是把彆人刷短視訊的時間,用來看論文了。”
他說這裝逼的話時,腦子裡忽然閃過係統的聲音——人類極限水平的程式設計能力。如果冇有係統,他現在還在電子廠擰螺絲,連OOM是什麼意思都不知道。
但這話他不能說出來。
———
晚上八點,陳星迴到出租屋。
他脫掉西裝,換上睡衣,癱在沙發上。今天一天——雲創科技麵試CEO、解決線上故障、寫了兩套程式碼方案。累是真累,但爽也是真爽。
手機震了。陳月發來的訊息:“哥!今天怎麼樣?那個CEO麵試過了嗎?”
陳星迴了一條:“過了。年薪一千萬,加期權。”
訊息發出去之後,對麵沉默了整整兩分鐘。
然後陳月的電話直接打了過來。
“哥!!!”聲音大得陳星把手機拿遠了三寸,“一千萬???你是不是被人騙了???”
“白紙黑字簽了合同的,騙什麼騙。”
“一千萬是什麼概念?我們學校教授一年才二十多萬!你一個人頂五十個教授!!!”
“你們學校教授又不寫程式碼。”
“哥!!!”陳月的聲音都在發抖,“我要把這個訊息告訴媽!”
“彆。”陳星趕緊阻止,“媽那個心臟,你告訴她一千萬,她當場能進醫院。你就說我漲工資了,年薪……嗯,漲了五十萬。”
陳月在電話那頭深呼吸了好幾次,才把情緒壓下去。然後她突然想起什麼,聲音變得賊兮兮的:“哥,你現在這麼有錢了,過年能不能給我包個大紅包?”
“多大?”
“嗯……五萬?”
“摳門。”
“給你十萬。”
“哥!!!你是我親哥!!!”
“我本來就是你親哥。”
掛了電話,陳星笑著搖了搖頭。這丫頭,財迷的樣子跟自己一模一樣。
———
淩晨零點。
陳星躺在床上,盯著天花板。係統結算的時間到了。
叮。
【淩晨統計:今日打工收入——建明科技15325元(按年薪400萬/261個工作日折算),雲創科技顧問費100000元,合計115325元。千倍獎勵:115,325,000元。獎勵已發放至係統賬戶。】
一億一千五百三十二萬。
一天。
【當前累計打工收入:約165.2萬元。累計獲得獎勵:約16.52億元。】
【距離下一次抽獎(累計20億獎勵)還需約3.48億元。】
陳星看著那個數字,在心裡默默算了一下。按現在每天一億一千五百萬的進賬速度,大約還需要三天,就能攢夠二十億的累計獎勵。
三天後,第二次抽獎。
他翻了個身,看著窗外路燈投在天花板上的光斑,腦子裡在想著第二次抽獎會抽到什麼。思維輸入、時間感知、絕對記憶——這三個是係統提過的頂級技能。抽中任何一個,他的能力都會再上一個台階。
但抽獎這種事,看命。
他閉上眼睛,沉沉睡去。
———
週三早上,陳星是被手機震醒的。
秦若寒發來的訊息:“今天入職建明科技。中午食堂,紅燒肉,我請。”
陳星笑了,回了一條:“就紅燒肉?太摳了吧?”
“剛入職還冇發工資呢,理解一下。”
“行。中午見。”
他翻身下床,走到窗前拉開窗簾。陽光湧進來,照得整個房間亮堂堂的。樓下馬路上車來車往,這座城市已經醒了。
今天,秦若寒入職。今天,雲汐專案正式啟動。
他轉身走向衛生間,洗漱,換衣服,出門。