新机房里,工作站风扇低沉地转着。
显示器的蓝光打在赵大壮脸上,衬得他脸色发青。
时间,晚上九点十七分。
距离市赛终评,不到十二小时。
赵大壮盯着屏幕右下角的测试面板,数字一跳一跳往上蹿。
一百并发。通过。
一百五十并发。通过。
两百并发。
进度条卡在“报告生成”这步,一动不动。
三秒。五秒。八秒。
一个鲜红的报错弹窗跳了出来。
【Timeout:reportgenerationexceeded5000ms】
赵大壮整个人往后一弹,椅子轮子在地板上擦出刺耳的尖音,他两手抱住脑袋,死盯着那个红框。
“靠!又是这玩意!”
机房门口,钱多多手里捏着两根火腿肠,本来想进来说两句骚话。
听到这声吼,火腿肠举到一半僵在半空。
他看看赵大壮铁青的脸,又看看屏幕上刺眼的红。
钱多多嘴巴张了张,硬生生把贫话咽回肚子里。
陆子豪刚好从走廊过来,身上还带着操场跑圈的汗味。
他扫了一眼机房里的气氛,没迈步进门,只伸手把门轻轻带上。
“让他安静待会儿。”陆子豪拍了下钱多多肩膀,两人退到走廊里。
机房陷入死寂。
赵大壮手握鼠标,光标在代码编辑器里飞速滑动,精准定位到报告生成模块的入口函数。
他右手食指扣住鼠标,光标直接圈住报告模块的全部源码,手指悬在删除键上方。
只要删干净换套结构重来,新电脑完全跑得动。
视线扫向右下角系统时钟,九点二十一分。
明早八点出发。
重写大模块最少四个小时,还得预留调试时间。搞不好天亮都出不来。
赵大壮的手开始抖。
初评能带小问题硬上,终评台下坐着省赛观察员。
一次卡顿,就能把他从候选名单上直接除名。
门被推开了。
方既明端着保温杯走进来,拖鞋鞋底在地板上轻轻蹭了两下。
他没开口,站在赵大壮身后,盯着屏幕看了三秒。
赵大壮后背一僵,肩膀绷成一条紧绷的直线。手指依然悬在键盘上方,光标在报告生成函数的第一行频频闪动。
方既明伸手,按住他的手腕。
“你现在改大动脉,明天上台就等着喷血。”
赵大壮喉咙发干:“可这bug——”
“bug不大。”方既明松开手,拉过一把椅子坐下,“你慌了,脑子转不动,潜意识就想推倒重来。”
赵大壮咽了口唾沫,没敢反驳。
方既明从旁边抽出一张白纸。
“画调用链。”
赵大壮转头。
方既明靠着椅背,保温杯搁在工作台边。“从请求进来,走到报告生成那一步,中间的节点,全画出来。”
赵大壮深吸一口气,抓起圆珠笔。
他一边画一边念叨。“前端发请求,权限校验,查错题库,归因引擎,这中间究竟为什么要绕一圈回来再查一次……”
笔尖划到第三层。
赵大壮的手停住了。
他死盯着自己刚画出的线。从归因引擎出来,进入报告生成模块。报告模块的第一步:加载模板。
“模板。”他声音发紧。
方既明没出声,只拿眼睛瞥了下那张纸。
赵大壮转回电脑前,编辑器里飞速切到报告生成的源码,一行行扫下去。
找到了。
每次生成报告,模板文件都会从磁盘重新读取。单用户没事,两百个用户同时请求,两百次磁盘IO直接把通道全堵死。
“模板读取没缓存。”赵大壮一巴掌拍在桌上,恨不得给自己一耳光,“我这个蠢货!”
方既明端起保温杯喝了一口。“骂完了?”
“骂完了。”
“改。”
赵大壮双手压回键盘。模板加载逻辑被他强行剥离,启动时直接预读进内存,后续请求全从缓存取。
改动集中在一个文件里,代码量很小。
十五分钟。
保存,重启,测试脚本重跑。
两百并发。
进度条稳稳跨过“报告生成”。
响应时间:780毫秒。
全绿。
赵大壮整个人砸进椅背里,双臂无力垂落,他仰头望着惨白的天花板,胸口剧烈起伏。
方既明扫了眼那串绿色数字,一句夸奖都没给。
他从手边的帆布包里拽出一沓卷子,直接丢到赵大壮怀里。
赵大壮低头一看,三模数学模拟卷。
“代码活了,你也别死在数学上。”
赵大壮痛苦地抱住脑袋。“方哥,你没有心。”
“有。”方既明站起身,“我对你的数学成绩有心。”
赵大壮把卷子塞进书包,扶着桌角站起来收拾设备。
电脑、电源线、备份U盘。一个塞包里,一个塞校服内袋。这是方既明定下的老规矩。
方既明走到门口,回头丢下一句。“十一点前必须躺下,明天别顶着个僵尸脸去答辩。”
赵大壮拉好拉链,挤出一个干巴巴的笑。“放心方哥,死也得死在台上。”
“别立flag。”
方既明趿拉着拖鞋出了门。
赵大壮关掉机房灯,走到楼梯口。
手机震了一下。
方既明发来的消息。
他点开一看,脚步生生钉在台阶上。
【组委会补充通知:终评新增专家自由追问环节,每队最多十分钟。追问范围不限项目本身,可涉及技术延展与应用前瞻。】
赵大壮死盯屏幕。
专家自由追问。
范围不限。
最多十分钟。
他把手机攥紧,后背紧紧贴着冰凉的墙面。
十分钟的自由追问,够那帮评委把他从头到脚翻个底朝天。
赵大壮闭上眼,脑子里飞速盘点自己的底牌。系统架构没问题,数据安全有话术,缓存策略刚补完。
评委要是问超纲的问题呢?
楼道应急灯的惨绿光晕打在地上。
他重新按亮手机,打开备忘录,开始一条条列出可能被狙击的方向。
大拇指快速敲击着屏幕,一直敲到宿舍熄灯。