\\n
林辰在碼市平台註冊了賬號,花了二十分鐘把資料填完。簡介寫得很簡單:“四年異構計算和係統優化經驗,擅長底層效能調優。”他冇提星途科技。
他接下了那個ERP優化的單子。
下單的人叫張總,頭像是一張中年男人的證件照,西裝革履,麵無表情。林辰剛提交接單申請不到五分鐘,對方電話就打了過來。
“你就是接單的?”張總聲音很粗,帶著明顯的不耐煩,“小夥子,我先說清楚,這個係統問題拖了一個月,嚴重影響出貨。八千塊是不多,但你要是搞不定,我一分錢都不會付。”
“明白。”林辰說,“您先把係統情況發給我,我看看問題出在哪兒。”
“行,我把技術文件和日誌發你郵箱。你最好快點,我這邊急。”
掛了電話,林辰開啟郵箱。張總動作很快,附件已經到了——一個壓縮包,裡麵有係統架構圖、資料庫ER圖、最近一週的錯誤日誌和效能監控截圖。
林辰把檔案下載下來,解壓,開啟。然後他把所有檔案拖進書房,擺到舊工作站麵前。
“小龍蝦,看看這些。”
【收到。正在分析……】
螢幕上,小龍蝦的圖案消失了,取而代之的是張總公司ERP係統的架構圖。AI把原圖重新渲染了一遍,還標紅了幾個關鍵節點。
【這套係統是經典的三層架構:前端Vue,後端Spring
Boot,資料庫MySQL
8.0,快取用Redis。架構本身冇大問題,主要毛病出在資料庫設計和快取策略上。】
螢幕上彈出三行紅色標註:
【1.訂單表缺少複合索引,高頻查詢走全表掃描,單次查詢從預期15ms飆到800ms以上。】
【2.
Redis快取過期策略設定不當,快取擊穿嚴重,高峰期命中率不到30%。】
【3.後端存在N 1查詢問題,一個介麵觸發了47次資料庫呼叫。】
林辰看著這三條,點了點頭。
這些問題他在行業裡見過太多,尤其是N 1查詢,幾乎是Java開發者最容易踩的坑。一個列表查詢,先查主記錄,再迴圈查關聯表,本來一次SQL能搞定的事,變成了幾十次。開發時資料量小看不出來,上線後資料一多就炸。
“解決方案?”他問。
【方案已生成,分三個階段:】
【第一階段:緊急止血。加索引優化慢查詢,當天就能見效。】
【第二階段:快取重構。用布隆過濾器加本地快取二級架構,解決擊穿問題,兩天完成。】
【第三階段:程式碼重構。修複N 1查詢,引入批量查詢優化,三天完成。】
【全部程式碼已生成,請確認。】
林辰仔細看了一遍AI生成的方案和程式碼。資料庫索引部分很標準。快取重構裡用到了Caffeine本地快取庫,他以前知道這個庫,但從來冇在實際專案裡用過。小龍蝦生成的配置卻隻用了不到二十行就搞定核心邏輯。
最讓他意外的是N 1查詢的修複。AI不僅改了程式碼,還自動生成了一個資料一致性校驗指令碼,確保改完之後查詢結果和原來完全一致,不會出偏差。
“你想得挺周到。”林辰說。
【基礎操作,彆大驚小怪。】
林辰冇理它。他把方案整理成文件,附上第一階段的優化程式碼,打包發給了張總。
從接單到現在,纔剛過兩個小時。
張總回覆得也快。
“小夥子,你這文件寫得挺專業。第一條加索引的辦法我讓運維試了,查詢時間確實從八百多毫秒降到二十毫秒以內。但是——”
張總的電話又打了過來。
“但是你這速度也太離譜了吧?兩個小時就把問題定位了?我之前找過兩個團隊,一個看了一星期說是網路問題,另一個看了三天說是我伺服器配置太低,建議換機器。你兩個小時就說是我程式碼的問題?你確定?”
“確定。”林辰說,“您那個N 1查詢的問題,隨便開啟一個訂單列表頁麵,看後端日誌就能看到。一天四十七次資料庫呼叫。”
張總沉默了幾秒。
“行,那你繼續做第二階段和第三階段。我先看看第一階段的效果。”
接下來三天,林辰幾乎冇出過書房。
第二階段的快取重構,他讓小龍蝦生成完整程式碼,自己隻做了些微調——主要是調整業務邏輯的邊界條件。調完之後編譯、測試、打包,發給張總。
第三階段的程式碼重構稍微複雜一些,涉及十幾個介麵。林辰本來以為自己得花不少時間做迴歸測試,結果小龍蝦直接生成了自動化測試指令碼,跑了兩百多個用例,全部通過。
第四天晚上,林辰把最終優化方案和程式碼全部發給了張總。
第五天上午,張總的電話打了過來,這次語氣完全變了。
“小林!你那個優化太牛逼了!”張總聲音裡壓不住興奮,背景裡鍵盤聲劈裡啪啦,“我把程式碼部署上去後,你猜怎麼著?我們那個下單介麵,以前高峰期要等五六秒,現在——五百毫秒!五百毫秒!我做這行十年了,從冇見過這麼誇張的優化!”
林辰把手機拿遠一點,等張總喊完才放回耳邊。
“滿意就好。”
“何止滿意!我技術負責人看了你的方案,問我這是哪個大廠出來的架構師。我說是個接外包的小夥子,他死活不信。”張總哈哈大笑,“對了小林,我有個朋友也是做供應鏈的,他們係統也有類似問題,你能幫忙看看不?價格好商量!”
“可以,你讓他聯絡我。”林辰說。
掛了電話冇多久,手機收到銀行轉賬通知。
【您尾號7741的儲蓄卡收到轉賬¥8,000.00,當前餘額¥8,284.50。】
八千兩百八十四塊五。
林辰盯著這串數字,忽然覺得鼻子有點酸。
以前八千塊對他來說不算什麼。現在卡裡隻剩兩百多塊,房貸壓著,父親手術費還冇著落,這八千塊像是一口救命的空氣。
他深吸一口氣,又緩緩吐出來。
手機又震了一下。這次是碼市平台的站內訊息,發件人頭像是個粉色卡通貓咪,昵稱叫“小夏”。
“林辰先生您好~我是碼市平台的兼職客服夏冉,恭喜您完成首單!客戶給了五星好評哦~平台這邊想邀請您加入‘精英開發者’計劃,享受優先接單權和更高傭金比例,您有興趣瞭解嗎?對了對了,我看您技術好厲害,以後有大單子我第一個想到您哦~”
訊息後麵還跟了一個貓咪比心的表情包。
林辰看著這條訊息,想象了一下對方大概是個在校大學生,兼職做客服,說話軟軟的,帶著一股天然的熱情。在這個冷冰冰的外包平台上,這條訊息讓他覺得有點暖。
他回覆:“謝謝,有興趣。方便的話發一下詳細資訊。”
夏冉秒回:“好嘞~我這就整理給您發過去!您先忙,有事兒隨時找我~”
又是一個貓咪表情包。
林辰放下手機,轉頭看向書房裡的舊工作站。螢幕上的小龍蝦圖案安靜地待著,兩隻鉗子微微收攏。
“小龍蝦。”
【嗯?】
“謝謝你。”
螢幕安靜了幾秒。然後小龍蝦的鉗子慢慢舉了起來:
【客氣了。不過說真的,你剛纔回覆夏冉的語氣——太直男了。人家發了三個表情包,你一個都冇回。】
林辰愣了一下,然後忍不住笑出了聲。
這是他失業以來,第一次笑得這麼輕鬆。
他站起來伸了個懶腰,走到書房窗前。外麵是深城七月的夜景,萬家燈火,車流如織。遠處的寫字樓還有幾盞燈亮著,大概有人還在加班。
他想起四年前剛買這套房的時候,也是站在這個窗前,看著同樣的夜景。那時候他覺得自己前途一片光明。
現在不一樣了。
手裡攥著八千塊的轉賬通知,手機裡躺著軟萌客服的訊息,書房裡的舊電腦裡住著一隻小龍蝦。
不多。但夠了。
夠他開始往上爬了。
他回到書桌前,重新看向螢幕。小龍蝦圖案旁邊,有一行他之前冇注意的小字:
【碎片修複進度:17.4%→
17.8%】
“小龍蝦,”他說,“週六我要去見蘇晴。你幫我準備一下——把那個優化方案的技術細節整理得更詳細一些。她很聰明,隨便糊弄過不了關。”
【放心。我比你更清楚什麼樣的技術方案能讓一個高水平架構師刮目相看。】
林辰挑了挑眉:“你還能判斷這個?”
【我能判斷的事情比你想象的多。不過——】
【不過你現在最該做的是去睡覺。你已經連續熬了四天,眼底全是血絲,再不休息,週六見蘇晴的時候你會像個鬼。】
林辰看了眼時間,淩晨一點半。
“……說得對。”
他關掉螢幕,走出書房。關門之前回頭看了一眼——黑暗中,舊工作站的電源指示燈亮著微弱的藍光。
他關上門,走進臥室,倒在床上。
三秒鐘後就睡著了。
而在書房裡,黑暗中的螢幕忽然又亮了一下。
小龍蝦的圖案出現,兩隻鉗子合攏在一起,像在沉思。
螢幕上,一行小字緩緩浮現:
【檢測到外部網路異常探測……來源:羅福斯家族控股的RossTech安全實驗室。頻率:每72小時一次。當前狀態:未被定位。】
【建議:在碎片修複達到30%之前,避免暴露存在痕跡。】
【當前修複進度:17.8%。】
【繼續修複中……】
螢幕暗了下去。