六月二十號,早上七點半。
楠書房。林遠吃完母親做的雞蛋灌餅,背上書包出門。
天已經熱起來了。口罩還戴著,但路上的人明顯比上周少了。公交站台旁邊有個大爺沒戴口罩,被旁邊的老太太瞪了一眼,才慢吞吞地從口袋裡掏出一個皺巴巴的棉紗口罩戴上。
坐公交到北達,七點五十。
理教三樓。最後一排靠窗。
今天的考試是實變函數和英語,上午連考。
實變函數。全班均分四十七分的那門課。
林遠翻開試卷。五道題。
第一道:證明 Cantor 集的測度為零,且是不可數集。
第二道:設 f 是 [a,b] 上的可測函數,證明存在連續函數列 fn 依測度收斂於 f。
第三道:敘述並證明 Lebesgue 控制收斂定理。
第四道:設 {fn} 是 L^1 中的 Cauchy 列,證明存在 f∈L^1 使得 fn 依 L^1 範數收斂於 f。
第五道:設 E 是可測集,f∈L(E),證明對任意 ε>0,存在連續函數 g 使得 ∫|f-g|dμ<ε。
五道證明題。沒有計算。
這就是實變函數——全班四十七分均分的課。難在抽象,難在邏輯鏈條長,難在一步錯步步錯。
林遠掃了一遍題目,腦子裡的流程圖自動展開。
小艾三天前整理的證明路徑,每一條定理的關鍵步驟、常見陷阱、輔助引理,全部爛熟。
拿起筆,開始寫。
第一道,Cantor集。每次去掉中間三分之一,剩餘測度是(2/3)^n的極限,趨向零。不可數性用三進位小數——只含0和2的序列與[0,1]二進位小數一一對應。十二分鐘。
第二道,Lusin定理推廣。先用簡單函數逼近可測函數,再用連續函數逼近簡單函數。關鍵是構造細節——怎麼保證依測度收斂而不只是點點收斂。十八分鐘。
第三道,Lebesgue控制收斂定理。核心定理。證明用Fatou引理——構造兩個非負函數列夾逼。二十五分鐘。
第四道,L^1完備性。Cauchy列必有子列幾乎處處收斂,再用控制收斂定理證明L^1範數收斂。關鍵是子列的選取——怎麼從Cauchy條件里抽出快速收斂的子列。二十分鐘。
第五道,連續函數在L^p中的稠密性。先用簡單函數逼近,再用Urysohn引理構造連續函數。二十分鐘。
兩個小時。五道證明題全部寫完。
他檢查了一遍。邏輯鏈完整,符號沒寫錯,關鍵步驟的引用都標註了定理出處。
起身,交卷。
監考老師接過試卷,掃了一眼第一題的證明過程,眉毛挑了一下。
走出考場。走廊里還有人對著牆壁在默背定理。一個女生蹲在角落裡翻筆記,嘴裡念念有詞:"Fatou 引理……控制收斂……Fatou 引理……"
林遠沒停步。
十點二十。英語考試。
大學英語(一)。期末考試。
教室換了,但座位還是最後一排靠窗。
試捲髮下來。聽力、詞彙、語法、閱讀理解、翻譯、作文。
2003年的大學英語考試難度,對他來說不是問題。技術文檔天天讀英文,讀寫能力早就超標了。
聽力塗卡幾乎不思考。詞彙語法十五分鐘,閱讀理解三十分鐘,翻譯十分鐘。作文"The Importance of Teamwork",二十分鐘搞定。
全部做完。檢查一遍。提前二十分鐘交卷。
走出考場的時候,陽光很亮。校園裡的槐花開得正盛,空氣里飄著一股淡淡的甜香。
考試周還剩——沒了。
八門考試,全部結束。
回到宿舍。十一點四十分。
打開筆記本,網線插上,SSH 連進西廂房工作站。遠程桌面亮起。
先開郵箱。五封未讀。
第一封,周明哲,上午九點零三分。
"林遠同學,你好。推薦信已收到,寫得很充分。政審材料清單發你附件,逐項準備。成績單去教務處開具正式版,蓋學校公章。政治審查表填好後需輔導員簽字。材料齊了交給我,我代為提交。
另外,課題組後天有一次內部討論會,主題是'後量子密碼學的前沿方向'。時間周日下午兩點,信息科學技術學院樓307會議室。不涉及涉密內容,主要是讓你提前了解研究方向。
祝考試順利。
周明哲"
林遠看完,靠在椅背上。
課題組討論會。後量子密碼學——2003年的前沿方向。Shor算法在1994年提出後,量子計算對RSA的威脅已被學術界意識到,但工程化研究要到2010年代才開始。周明哲現在研究這個,學術眼光確實超前。
回信:"周老師好,材料清單已收到,本周內準備完畢提交。後天討論會我參加,謝謝。"
發送。
第二封,蘇明遠,上午十一點零八分。
"林遠,離散數學最後一道圖論題超綱了,坑。咱們同班的三門總算全考完了。你雙修太慘了,八門考試聽著都累。
言歸正傳。WatchGuard 今天又多了兩份訂單。一份廣州物流公司,一份杭州電商公司。廣州那家看了 SourceForge 社區版文檔直接升級企業版。杭州那家做跨境電商,五十多個遠程員工,看到 VPN 安全網關方案後下單。
現在總共十一份。趙強墨鋒規則到十七條,說明天能到十八條。
另外,SourceForge 上問 SharpSeg 商業授權的,這周又來了一家門戶網站,想用在中文搜索上。報價按你說的走——一千五起,最低八百。
運營簡報在附件。終於解放了,可以全力盯運營。"
十一份訂單。蘇明遠這邊也是考試周,還能抽空盯著運營,不容易。
回覆:"簡報銷假後看。授權按標準流程走,別降價太快。告訴趙強節奏別亂。考試加油。"
第三封,趙強,上午十一點三十五分。
"林遠,數據結構最後一題真變態,腦子冒煙。三門總算全考完了,你雙修更慘,八門考試太變態了。趁還記得趕緊匯報——墨鋒規則已經到十七條了。第十八條正在寫,是關於中文長句的分句規則。
另外我發現一個問題:現有的分詞接口在處理專業術語時準確率不夠高,特別是醫學和法律領域。我寫了一個補丁,用領域詞典做後處理,準確率從百分之七十八提到了百分之八十九。要不要集成進去?"
林遠看完,微微點頭。
趙強考試周還在琢磨分詞優化,不錯。
回信:"補丁可以集成,但先做回歸測試,確認不影響通用場景的性能。領域詞典的維護方案想一下——不能每次遇到新領域都手寫詞典,要考慮可擴展性。考試別掛科。"
第四封,張智勇,凌晨兩點四十七分。
"守望先生,集群部署方案我寫了一版,附件里。核心問題是消息路由的高可用設計——單點故障怎麼處理,分區容錯怎麼做。我們討論了三個方案,各有利弊。想請您看看哪個方向更合理。"
林遠打開附件。
方案一:主從路由,簡單但有瓶頸。
方案二:對等模式,一致性哈希路由,去中心化但遷移成本高。
方案三:混合模式,路由層主從加數據層對等,兼顧可靠與擴展。
林遠看了一遍,在方案三的空白處寫了一行批註:
"方案三方向對。但路由層的主從切換需要心跳檢測+選舉機制,建議用 Raft 協議的簡化版。數據層的一致性哈希可以用虛擬節點優化遷移成本。具體實現細節,考試周結束後我來整理。"
第五封,方河,下午五點二十二分。
"守望先生,收到你的回信。你說'極限環境下的工程約束能逼出更好的設計方案',這個觀點我有共鳴。我經歷過一些特殊場景——硬體資源極其有限,內存只有幾百K,算力也不夠,但必須在這樣的條件下實現複雜功能。那種感覺就像帶著鐐銬跳舞。
但有時候,正是這種約束讓你不得不想清楚哪些是真正重要的,哪些是可以捨棄的。很多架構設計的問題,不是技術不夠好,是想要的太多。
你在分布式系統上的經驗很豐富。我想問一個問題——在你看來,分布式系統中最容易被高估的概念是什麼?"
林遠看完,停了兩秒。
方河的問題越來越具體。從"工程約束"到"特殊場景"到"分布式系統",步步收窄。
不答就是迴避,迴避就是破綻。
回信:
"最容易被高估的概念——'一致性'。
很多分布式系統在設計時追求強一致性,但代價是性能和可用性。實際上,大部分應用場景不需要強一致性,最終一致性就夠了。Amazon 的 Dynamo 論文(還沒發表,但思路已經業內流傳)就是基於這個判斷——用 AP 換 C,換來的是極高的可用性和低延遲。
當然,金融場景例外。錢的事不能含糊。
但總體來說,過度追求一致性是分布式系統性能的最大殺手。"
發送。
關掉郵箱。
窗外的陽光已經斜了。六月的 daylight 長,但下午四點以後光線開始變柔。
倒計時。考試結束。周明哲見面兩天。SARS摘帽四天。百都在等後續,騰迅方案已回,WatchGuard十一份,方河等下一封。
事情越來越多。但每一件都在推進。
他靠在椅背上,閉了一會兒眼。
考試周終於結束了。
明天可以睡個懶覺。