亲,双击屏幕即可自动滚动
第20章 实验楼技术比赛
    周六上午,bj工业大学计算机系实验楼 301报告厅里座无虚席。穿著各色系服或便装的学生们挤满了座位,过道里也站了不少人,空气中瀰漫著年轻人特有的躁动与期待。主席台上方掛著红色的横幅——“bj工业大学首届大学生 it技术大赛”。台上摆放著几张铺著蓝色桌布的长桌,后面坐著几位评委,除了系里的两位教授和周老师,林牧赫然在列。
    他换上了一件叶溪溪早上帮他参考后新买的藏蓝色夹克衫,里面是件白色衬衫,整个人显得精神了不少,虽然面容依旧年轻,但沉稳的气度让他坐在评委席上並不显得突兀。叶溪溪和几个室友坐在台下靠前的位置,她不时地朝台上看,与林牧目光相接时,便偷偷眨眨眼,比个加油的手势。
    参赛选手们则在台下第一排候场,赵磊也在其中。他今天穿了一身笔挺的深色西装,头髮梳得一丝不苟,看起来志在必得。当他看到林牧真的坐在评委席上,与其他几位德高望重的老师平起平坐时,脸色瞬间变得有些难看,但很快又强自镇定下来,深吸了一口气,似乎在为自己打气。
    比赛开始,主持人简短开场后,第一位选手上台演示自己的作品——一个基於 dos的“图书管理系统”。演示过程还算顺利,但功能较为基础。几位教授评委从资料库设计、代码规范性等方面进行了提问和点评,问题都比较常规。
    轮到林牧时,他没有立刻提问,而是等几位教授点评完后,才温和地开口:“同学,你的系统在数据录入时,如果遇到非预期字符,比如中英文混合输入错误,系统会怎么处理?”
    那位选手愣了一下,显然没考虑过这个问题,支吾著说:“应该……会报错吧?”
    林牧点点头,没有深究,转而问道:“我看你的查询模块,每次都是全表扫描,如果图书数据量达到几万条,响应速度会不会成为问题?有没有考虑过建立简单的索引机制?”
    这个问题触及了算法效率和实际应用场景,让那位选手和台下不少学生都露出了思考的神色。林牧的点评没有咄咄逼人,却总能一针见血地指出设计中容易被忽略但至关重要的细节,视角独特而务实,让几位教授评委也微微頷首。
    接下来几位选手的作品,有简单的图形绘製程序,有文本加密工具,也有尝试模仿 wps界面但功能简陋的文字处理软体。林牧的点评始终围绕著“用户体验”、“健壮性”、“性能优化”和“实际应用价值”这几个核心展开,提出的问题往往让选手们措手不及,却又不得不承认其合理性。他言谈间流露出的对系统底层和软体工程的理解,远远超出了他表面的年龄,也超越了此时大多数学生乃至一些教师的认知水平。
    台下原本有些嘈杂的议论声渐渐平息,学生们看林牧的眼神,从最初的好奇和些许质疑,慢慢变成了专注和信服。叶溪溪坐在下面,腰杆挺得笔直,脸上带著与有荣焉的骄傲。
    终於,轮到赵磊上场了。
    他深吸一口气,走到演示台前,连接好自己的电脑——一台看起来保养得很好的联想 286。他调整了一下麦克风,目光扫过台下,尤其在叶溪溪的方向停顿了一瞬,然后看向评委席,刻意忽略了林牧,对著几位教授说道:“各位老师,各位同学,我演示的作品是——《智能汉字排版系统》。”
    他开始了演示。系统界面確实比之前的选手要精美一些,支持简单的字体、字號调整,段落对齐,甚至还有一个简单的“稿纸格式”模板。赵磊一边演示,一边讲解著其中的技术难点,比如“如何通过直接写屏实现快速刷新”、“如何优化汉字字库的调用速度”等,言语中不乏自信,甚至带著点炫耀。
    台下响起了一些讚嘆声。平心而论,在本科生阶段,能做出这样一个具有一定复杂度的排版系统,確实算是不错的成绩。几位教授评委也露出了讚许的目光。
    赵磊的嘴角不自觉地上扬,演示得更加卖力。他准备导入一篇长文进行排版效果展示,这是他作品的亮点之一。
    然而,就在他选中文件,点击“打开”按钮的瞬间,屏幕猛地一花,隨即弹出一个令人心悸的蓝色背景,上面布满白色的英文错误代码——著名的“bluescreen of death”(蓝屏死机)!
    “呃……”赵磊脸上的笑容瞬间冻结,手指僵在键盘上。
    台下响起一片低低的惊呼和窃窃私语。
    “怎么回事?死机了?”
    “刚才不还好好的吗?”
    “这下尷尬了……”
    赵磊额头瞬间冒出了冷汗。他手忙脚乱地按动键盘,试图退出,但屏幕毫无反应。他强制重启电脑,机器发出“嘀”的自检声,但进入系统后,他再次尝试打开那个文件,结果——再次蓝屏!
    一次可以说是意外,两次在同一个节点出错,显然是程序存在严重的 bug。
    报告厅里的气氛变得有些微妙。刚才还意气风发的赵磊,此刻站在台上,面对著台下数百双眼睛,脸色由红转白,再由白转青,尷尬、羞愤、焦急交织在一起,让他恨不得找个地缝钻进去。他徒劳地尝试著各种方法,甚至开始怀疑是电脑硬体出了问题,但简单的系统操作又是正常的。
    台下的议论声更大了,有人开始低声嘲笑。叶溪溪也皱起了眉头,虽然不喜欢赵磊,但看他当眾出这么大丑,也觉得有些难堪。
    几位教授评委互相看了看,周老师正准备开口说点什么,缓和一下气氛。
    就在这时,一直安静观察的林牧,拿起桌上的钢笔,在一张空白的评分纸上快速写了几行字,然后对旁边的工作人员低声说了句什么。工作人员点点头,拿著那张纸条,快步走到台上,递给了满头大汗、几乎要崩溃的赵磊。
    赵磊正心乱如麻,看到工作人员递来的纸条,愣了一下,下意识地接过来。他低头看去,只见纸条上写著几行清晰有力的字:
    【检查第 87行附近代码,数组下標越界可能性大。文件读取缓衝区是否定义过小?处理长文件名或特殊字符时可能溢出。】
    没有指责,没有嘲讽,只有精准的技术判断和排查方向。
    赵磊如同溺水之人抓到了救命稻草,也顾不得这提示来自谁,立刻按照纸条上的思路,手忙脚乱地调出原始码,直接翻到第 87行附近。果然,他发现了一个循环读取文件內容的函数,用於存储文件路径的字符数组定义得確实偏小,而在处理带有较长路径或特殊空格的文件名时,极有可能发生数组越界,导致內存保护错误,直接引发系统蓝屏!
    他心臟狂跳,立刻修改了数组大小,重新编译。整个过程,台下鸦雀无声,所有人都看著他在台上进行紧急调试。
    几分钟后,程序再次运行。赵磊深吸一口气,带著祈祷般的心情,再次点击了那个之前导致崩溃的文件。
    屏幕闪烁了一下,没有蓝屏!文件成功导入,排版界面正常显示出来!
    “成功了!”台下不知谁喊了一声,隨即响起一阵鬆口气般的低呼和零星的掌声。
    赵磊站在台上,看著恢復正常的屏幕,大口喘著气,有种虚脱般的感觉。劫后余生的庆幸过后,一种更复杂的情绪涌上心头。他下意识地看向评委席。
    林牧依旧平静地坐在那里,仿佛刚才只是做了一件微不足道的小事。他迎向赵磊的目光,没有得意,没有施捨般的怜悯,只是微微点了点头。
    那一刻,赵磊脸上的血色褪尽。他意识到,自己不仅在技术上完败,在心胸和气度上,也输得一塌糊涂。