第二章 你们的系统马上要出问题了

马骏按下鼠标的那一刻,屏幕上的绿色圆点少了三个。

他把鼠标往裤子上蹭了蹭,重新点了一次。

圆点又少了两个。

高明远还在介绍:“这个系统有一个非常重要的特点,就是稳定。”

马骏抬起头。

那眼神太具体了,具体到沈知行站在几米外都能读懂:哥,换个词。

高明远没收到。他拿话筒的姿势很熟练,身体微侧,恰好挡住电脑屏幕下方那一片正往红色变化的状态栏。

有人举起手机拍摄,镜头里蓝色曲线一路向上,视觉效果很有说服力。

周野小声说:“这都快冲出屏幕了,还不稳定?”

“排队的人多,也能画成生意好。”

沈知行把包带往肩上提了提,朝展台走回去。

高明远注意到他,眉头松了一点。他以为年轻人绕了一圈,终于想通了。

“有些情况,要进入实际工作才能了解。”他把话筒稍微拿远,“先把登记表填了,我让人——”

“你的演示要断了。”

声音不大,正好够桌子两边的人听见。

高明远脸上的笑停在半截。

“沈同学,刚才的问题我们可以再谈。这里正在展示,你不要影响其他同学了解。”

沈知行没有看他,低头问马骏:“慢请求比例是不是刚调高过?”

马骏手还扣在鼠标上。

“你怎么知道?”

“等待数的斜率变了。现在前面一批还没退出,后面又按超时重发,你再加线程,卡得会更快。”

马骏先是张嘴,接着飞快低头看日志。

他今天早上七点就来布置展台了。

这套演示程序昨晚才拿到最新版本。产品组说加上“复杂业务场景”更有表现力,于是临时添了一批延迟不一致的模拟任务。马骏跑过短测,没有报错,就把机器装进包里。

刚才高明远临场发挥,让负载再往上拉一点。

他说过别一次拉太多。

高明远回答,现场都在看,稍微体现一下性能。

现在,性能体现得很彻底,连鼠标指针都开始对自己的去向犹豫不决。

“不能现场重启吗?”周野问。

马骏摇头:“重启当然行,前面的数据就——”

“那就先结束演示。”高明远把话筒关了,“我们休息十分钟。”

他说得很自然,随手拿起宣传册朝面前几个学生递。有人接了,有人还在看屏幕。

电脑发出一声短促的提示音。

演示停了。

高明远的手指捏着宣传册,纸边弯出一道白痕。

周野往旁边退了半步。

他本来想说真准,看见马骏已经开始冒汗,又把话咽了回去。别人忙着灭火,自己站那儿鼓掌,容易显得他是带火种来的。

“后台别关。”沈知行说。

马骏抬头:“你能看?”

“先告诉我,你这是什么环境。”

“本地演示,模拟数据,没连客户那边。网络是为了同步大屏,业务都在这一台上。”

沈知行看了一眼机器侧面的接口:“原配置存了没有?”

“有,启动前复制过。”

“那就先留住现在的日志。尤其是任务重复入队之前那一分钟。”

马骏把手从重启快捷键上移开,打开文件夹。

高明远挡了一下。

“等会儿。我们内部系统,怎么能随便给外人看?”

这句话没错。

沈知行点头,往后退了半步:“那你们自己排。”

他转身转得很干脆。

马骏急了:“不是,等一下。”

他看了眼高明远,又看了眼桌上的设备。

“演示代码是公开版改的,现场这部分没有客户资料。我可以把业务那边收起来,只开调度和日志。”

高明远没说话。

对面有位穿米色衬衫的女士朝这边望了两眼,低头跟同事说了句什么。她胸前挂着澜海科技的工作证,姓何,高明远今天早上特意过去打过招呼。

澜海是晟川想继续维持的合作方。

上午的展示原本也是给人家看的。

高明远把声音放缓:“主要是安全流程。不是不让同学交流。”

“那就按流程。”沈知行说,“你确认可以看哪部分,我就看哪部分。操作前备份,结束给你们一份改动记录。”

他把手插回口袋,没有急着坐下。

高明远打量他。

刚才问工资的时候,这学生就已经跟别人不一样了。现在站在这里,明明脸还是张学生脸,处理事情却有种令人不舒服的熟练。

那种熟练,他通常在客户派来验收的负责人身上见到。

马骏打开电脑上的工作群,写了几句话给项目负责人。对方很快回了一个“可以”,后面补充,不开放客户业务模块,不联网改生产环境。

他把屏幕转过来给两人看。

“这里只是一台演示机,数据都是生成的。现在这个隔离目录可以动。”

沈知行看清回复,点了头。

高明远接着说:“你既然愿意参与,也算对我们项目有兴趣。后面面试可以——”

“这个跟面试分开。”

沈知行指了一下刚才的授权范围。

“我帮你看故障,别顺手给我办入职。”

周野把脸转向了旁边的展架。

他忍得肩膀抖了两下。

马骏没笑。他赶紧拖来一张椅子,自己坐到侧边,又把桌面上的招聘登记表挪走,给电脑留出位置。

沈知行坐下,先没碰键盘。

屏幕上是密密麻麻的日志。对不熟悉的人来说,那些数字只是机器在说话,字太多,看得头疼。他却很快找到了刚才那段重复变化。

同一批任务。

同一个退出条件。

两套不完全一致的计时依据。

灰白色的工作台重新出现了。

这一次,它没有只停留在视野边缘。

沈知行的注意力稍稍集中,周围体育馆的嘈杂便退到了很远的地方。面前展开一组简洁的结构,日志中的任务像一枚枚薄片,沿几条通道往前移动,在某个分叉口转了个弯,又挤回原队列。

他能够看清每一条路径。

没有声音,也没有谁跳出来恭喜他获得奖励。

工作台的一角只有几个很淡的字。

未来实验室。

下面是三个尚未展开的区域。技术图谱、验证、诊断。

沈知行先看了一眼自己的手。

手还放在膝盖上,体育馆的塑料椅子硌着腿,周野正在背后跟人借一瓶没开封的水。

现实没有停。

他心念一动,面前的结构轻轻向一边收拢。

马骏的声音重新变清楚:“这块昨晚才合进去,我们还没来得及做长时间混合测试。”

“我看到了。”

沈知行把日志往上翻了两页。

有些地方只凭经验就能判断,有些尚缺参数。灰白工作台没有替他猜,相关位置留着空。

他问了三个很具体的问题。

任务最长允许等多久?客户端会不会自己重发?回收失败时,计数在哪一层减?

马骏前两个答得很快,第三个迟疑了一下,打开函数去找。

沈知行等着。

这让马骏松了口气。他遇见过不少爱在旁边指挥的人,嘴上“很简单”说得飞快,问细节又让工程师自己考虑。眼前这学生愿意先把输入弄清楚,至少不是靠看过几个视频来凑热闹。

第三个参数补齐。

工作台里那一片空白随之合上,一条很细的红线出现在队列尾部。

沈知行懂了。

他不需要把整段代码背下来,就能在这里推演改动之后的路径。仿佛脑子里多出一间足够安静、工具足够齐全的房间,而他可以在里面把一个问题来回拆开。

他试着改变其中一处条件。

任务重新流动起来,红线变短,却没有完全消失。

还缺一处。

他退回原样,调开另一段逻辑,前世处理类似问题时走过的弯路也跟着浮起来。

数次试验在极短的时间里完成。

沈知行从那张灰白工作台前收回注意力,听见周野刚把瓶盖拧开。

“喝口水?”

“放旁边。”

“你已经看懂了?”

“差不多。”

周野把水放下,低头在手机上给宿舍群发消息。

我跟老沈暂时不回去吃饭了。

刘成很快回复:找到工作了?

周野看了眼高明远,又看了眼面前停止不动的大屏。

不好说。

他正在给面试官做面试。

高明远没有看到这条消息。他站在沈知行左后方,眼神来回掠过屏幕。

“问题大吗?”

“不大。现在先别宣传你们不需要人工干预。”

马骏咳了一声。

沈知行点开配置,把需要保留的文件逐一标出来,随后将原版本拷进一个新文件夹。

他没有删除任何东西。

马骏顺手把电脑电源线压牢,低声解释:“桌子底下插排松,我刚才一直夹着怕掉。”

沈知行低头看了一眼。

这人坐着的位置很别扭,半条腿都伸不直。屏幕倒是朝着外面摆得端正。

他把电脑往里挪了十厘米。

“现在行了。”

马骏把腿放下来,愣了一下:“谢谢。”

“名字?”

“马骏。骏马的骏。”

“沈知行。”

马骏点头。他刚才其实看见了简历,只是那时候忙着撑住演示,没顾得上认真记。

沈知行点开一个空白文本,把当前时间、机器配置和修改范围写上去,又指着屏幕上几个位置,让马骏确认。

高明远在旁边看得有些不耐烦。

“不是说问题不大吗?”

“所以才有空留记录。”

沈知行把文档保存。

他握住鼠标的一瞬间,有种久违的轻松。手指不酸,眼睛不涩,身后也没有人拿着倒计时催他替一整个部门背责任。

这一次,他可以选择什么时候开始,也可以选择什么时候停。

对面展台的何敏已经走了过来。

她看了眼熄火的大屏,礼貌地问:“需要帮忙联系技术支持吗?”

高明远抢先说:“小问题,内部交流。”

沈知行抬头看了一眼。

他不认识何敏这张年轻的脸,却认识她胸前那个标志。

“暂时不用。”

他看向马骏。

“给我十分钟。”

何敏没急着走,往旁边站了一点,让出通道。

几个原本准备散开的学生也停下了,其中一个还抱着没投出去的简历,踮脚想看电脑。周野把桌边那块摇摇晃晃的岗位牌扶正,顺手指了指地上的电源线。

“麻烦从后面绕一下,别把面试结果踢掉了。”

那学生赶紧收脚:“他也是来应聘的?”

周野看着已经开始打字的沈知行,认真想了想。

“本来是。”

“现在呢?”

“现在对方遇到了点困难,先考察一下有没有被应聘的资格。”

学生憋着笑退后,手里那份被汗捏软的简历也跟着松了一点。马骏听见这几句话,低头把插排又往桌腿里侧推了推。这回他不准备再让电源出任何问题。