第二章 你们的系统马上要出问题了
马骏按下鼠标的那一刻,屏幕上的绿色圆点少了三个。
他把鼠标往裤子上蹭了蹭,重新点了一次。
圆点又少了两个。
高明远还在介绍:“这个系统有一个非常重要的特点,就是稳定。”
马骏抬起头。
那眼神太具体了,具体到沈知行站在几米外都能读懂:哥,换个词。
高明远没收到。他拿话筒的姿势很熟练,身体微侧,恰好挡住电脑屏幕下方那一片正往红色变化的状态栏。
有人举起手机拍摄,镜头里蓝色曲线一路向上,视觉效果很有说服力。
周野小声说:“这都快冲出屏幕了,还不稳定?”
“排队的人多,也能画成生意好。”
沈知行把包带往肩上提了提,朝展台走回去。
高明远注意到他,眉头松了一点。他以为年轻人绕了一圈,终于想通了。
“有些情况,要进入实际工作才能了解。”他把话筒稍微拿远,“先把登记表填了,我让人——”
“你的演示要断了。”
声音不大,正好够桌子两边的人听见。
高明远脸上的笑停在半截。
“沈同学,刚才的问题我们可以再谈。这里正在展示,你不要影响其他同学了解。”
沈知行没有看他,低头问马骏:“慢请求比例是不是刚调高过?”
马骏手还扣在鼠标上。
“你怎么知道?”
“等待数的斜率变了。现在前面一批还没退出,后面又按超时重发,你再加线程,卡得会更快。”
马骏先是张嘴,接着飞快低头看日志。
他今天早上七点就来布置展台了。
这套演示程序昨晚才拿到最新版本。产品组说加上“复杂业务场景”更有表现力,于是临时添了一批延迟不一致的模拟任务。马骏跑过短测,没有报错,就把机器装进包里。
刚才高明远临场发挥,让负载再往上拉一点。
他说过别一次拉太多。
高明远回答,现场都在看,稍微体现一下性能。
现在,性能体现得很彻底,连鼠标指针都开始对自己的去向犹豫不决。
“不能现场重启吗?”周野问。
马骏摇头:“重启当然行,前面的数据就——”
“那就先结束演示。”高明远把话筒关了,“我们休息十分钟。”
他说得很自然,随手拿起宣传册朝面前几个学生递。有人接了,有人还在看屏幕。
电脑发出一声短促的提示音。
演示停了。
高明远的手指捏着宣传册,纸边弯出一道白痕。
周野往旁边退了半步。
他本来想说真准,看见马骏已经开始冒汗,又把话咽了回去。别人忙着灭火,自己站那儿鼓掌,容易显得他是带火种来的。
“后台别关。”沈知行说。
马骏抬头:“你能看?”
“先告诉我,你这是什么环境。”
“本地演示,模拟数据,没连客户那边。网络是为了同步大屏,业务都在这一台上。”
沈知行看了一眼机器侧面的接口:“原配置存了没有?”
“有,启动前复制过。”
“那就先留住现在的日志。尤其是任务重复入队之前那一分钟。”
马骏把手从重启快捷键上移开,打开文件夹。
高明远挡了一下。
“等会儿。我们内部系统,怎么能随便给外人看?”
这句话没错。
沈知行点头,往后退了半步:“那你们自己排。”
他转身转得很干脆。
马骏急了:“不是,等一下。”
他看了眼高明远,又看了眼桌上的设备。
“演示代码是公开版改的,现场这部分没有客户资料。我可以把业务那边收起来,只开调度和日志。”
高明远没说话。
对面有位穿米色衬衫的女士朝这边望了两眼,低头跟同事说了句什么。她胸前挂着澜海科技的工作证,姓何,高明远今天早上特意过去打过招呼。
澜海是晟川想继续维持的合作方。
上午的展示原本也是给人家看的。
高明远把声音放缓:“主要是安全流程。不是不让同学交流。”
“那就按流程。”沈知行说,“你确认可以看哪部分,我就看哪部分。操作前备份,结束给你们一份改动记录。”
他把手插回口袋,没有急着坐下。
高明远打量他。
刚才问工资的时候,这学生就已经跟别人不一样了。现在站在这里,明明脸还是张学生脸,处理事情却有种令人不舒服的熟练。
那种熟练,他通常在客户派来验收的负责人身上见到。
马骏打开电脑上的工作群,写了几句话给项目负责人。对方很快回了一个“可以”,后面补充,不开放客户业务模块,不联网改生产环境。
他把屏幕转过来给两人看。
“这里只是一台演示机,数据都是生成的。现在这个隔离目录可以动。”
沈知行看清回复,点了头。
高明远接着说:“你既然愿意参与,也算对我们项目有兴趣。后面面试可以——”
“这个跟面试分开。”
沈知行指了一下刚才的授权范围。
“我帮你看故障,别顺手给我办入职。”
周野把脸转向了旁边的展架。
他忍得肩膀抖了两下。
马骏没笑。他赶紧拖来一张椅子,自己坐到侧边,又把桌面上的招聘登记表挪走,给电脑留出位置。
沈知行坐下,先没碰键盘。
屏幕上是密密麻麻的日志。对不熟悉的人来说,那些数字只是机器在说话,字太多,看得头疼。他却很快找到了刚才那段重复变化。
同一批任务。
同一个退出条件。
两套不完全一致的计时依据。
灰白色的工作台重新出现了。
这一次,它没有只停留在视野边缘。
沈知行的注意力稍稍集中,周围体育馆的嘈杂便退到了很远的地方。面前展开一组简洁的结构,日志中的任务像一枚枚薄片,沿几条通道往前移动,在某个分叉口转了个弯,又挤回原队列。
他能够看清每一条路径。
没有声音,也没有谁跳出来恭喜他获得奖励。
工作台的一角只有几个很淡的字。
未来实验室。
下面是三个尚未展开的区域。技术图谱、验证、诊断。
沈知行先看了一眼自己的手。
手还放在膝盖上,体育馆的塑料椅子硌着腿,周野正在背后跟人借一瓶没开封的水。
现实没有停。
他心念一动,面前的结构轻轻向一边收拢。
马骏的声音重新变清楚:“这块昨晚才合进去,我们还没来得及做长时间混合测试。”
“我看到了。”
沈知行把日志往上翻了两页。
有些地方只凭经验就能判断,有些尚缺参数。灰白工作台没有替他猜,相关位置留着空。
他问了三个很具体的问题。
任务最长允许等多久?客户端会不会自己重发?回收失败时,计数在哪一层减?
马骏前两个答得很快,第三个迟疑了一下,打开函数去找。
沈知行等着。
这让马骏松了口气。他遇见过不少爱在旁边指挥的人,嘴上“很简单”说得飞快,问细节又让工程师自己考虑。眼前这学生愿意先把输入弄清楚,至少不是靠看过几个视频来凑热闹。
第三个参数补齐。
工作台里那一片空白随之合上,一条很细的红线出现在队列尾部。
沈知行懂了。
他不需要把整段代码背下来,就能在这里推演改动之后的路径。仿佛脑子里多出一间足够安静、工具足够齐全的房间,而他可以在里面把一个问题来回拆开。
他试着改变其中一处条件。
任务重新流动起来,红线变短,却没有完全消失。
还缺一处。
他退回原样,调开另一段逻辑,前世处理类似问题时走过的弯路也跟着浮起来。
数次试验在极短的时间里完成。
沈知行从那张灰白工作台前收回注意力,听见周野刚把瓶盖拧开。
“喝口水?”
“放旁边。”
“你已经看懂了?”
“差不多。”
周野把水放下,低头在手机上给宿舍群发消息。
我跟老沈暂时不回去吃饭了。
刘成很快回复:找到工作了?
周野看了眼高明远,又看了眼面前停止不动的大屏。
不好说。
他正在给面试官做面试。
高明远没有看到这条消息。他站在沈知行左后方,眼神来回掠过屏幕。
“问题大吗?”
“不大。现在先别宣传你们不需要人工干预。”
马骏咳了一声。
沈知行点开配置,把需要保留的文件逐一标出来,随后将原版本拷进一个新文件夹。
他没有删除任何东西。
马骏顺手把电脑电源线压牢,低声解释:“桌子底下插排松,我刚才一直夹着怕掉。”
沈知行低头看了一眼。
这人坐着的位置很别扭,半条腿都伸不直。屏幕倒是朝着外面摆得端正。
他把电脑往里挪了十厘米。
“现在行了。”
马骏把腿放下来,愣了一下:“谢谢。”
“名字?”
“马骏。骏马的骏。”
“沈知行。”
马骏点头。他刚才其实看见了简历,只是那时候忙着撑住演示,没顾得上认真记。
沈知行点开一个空白文本,把当前时间、机器配置和修改范围写上去,又指着屏幕上几个位置,让马骏确认。
高明远在旁边看得有些不耐烦。
“不是说问题不大吗?”
“所以才有空留记录。”
沈知行把文档保存。
他握住鼠标的一瞬间,有种久违的轻松。手指不酸,眼睛不涩,身后也没有人拿着倒计时催他替一整个部门背责任。
这一次,他可以选择什么时候开始,也可以选择什么时候停。
对面展台的何敏已经走了过来。
她看了眼熄火的大屏,礼貌地问:“需要帮忙联系技术支持吗?”
高明远抢先说:“小问题,内部交流。”
沈知行抬头看了一眼。
他不认识何敏这张年轻的脸,却认识她胸前那个标志。
“暂时不用。”
他看向马骏。
“给我十分钟。”
何敏没急着走,往旁边站了一点,让出通道。
几个原本准备散开的学生也停下了,其中一个还抱着没投出去的简历,踮脚想看电脑。周野把桌边那块摇摇晃晃的岗位牌扶正,顺手指了指地上的电源线。
“麻烦从后面绕一下,别把面试结果踢掉了。”
那学生赶紧收脚:“他也是来应聘的?”
周野看着已经开始打字的沈知行,认真想了想。
“本来是。”
“现在呢?”
“现在对方遇到了点困难,先考察一下有没有被应聘的资格。”
学生憋着笑退后,手里那份被汗捏软的简历也跟着松了一点。马骏听见这几句话,低头把插排又往桌腿里侧推了推。这回他不准备再让电源出任何问题。